То что идет 2 проверки - норма. В общем, если $number_of_page = 1, то получится:if($number_of_page <= $i){ 1 <= 0 Не проходим, т.к. элемент не является начало массива } elseif ($number_of_page >= ($catalog_count-1)){ Не проходим, т.к. элемент и не конец массива } if($number_of_page != $i){ Проходим, ибо 1 не равно 0 }
В общем, в первых 2х условиях проверяется позиция массива.
А в 3м условии проверяется надо ли делать какие-то действия с массивом. И их надо делать, только если ключ не равен нулю
Дмитрий Баскаков, то есть вы хотите сказать, что при $number_of_page = 0, сюда он не заходит:
//
if($number_of_page == $i){
unset($buttons_keys[0]);
sort($buttons_keys);
}elseif($number_of_page >= ($catalog_count-1)){
unset($buttons_keys[2]);
sort($buttons_keys);
$telegram->deleteMessage([
"chat_id" => $callback_chat_id,
"message_id" => $callback_message_id,
]);
}else{
$telegram->deleteMessage([
"chat_id" => $callback_chat_id,
"message_id" => $callback_message_id,
]);
}
if($number_of_page <= $i){
1 <= 0 Не проходим, т.к. элемент не является начало массива
} elseif ($number_of_page >= ($catalog_count-1)){
Не проходим, т.к. элемент и не конец массива
}
if($number_of_page != $i){
Проходим, ибо 1 не равно 0
}
//
if($number_of_page == $i){
unset($buttons_keys[0]);
sort($buttons_keys);
}elseif($number_of_page >= ($catalog_count-1)){
unset($buttons_keys[2]);
sort($buttons_keys);
$telegram->deleteMessage([
"chat_id" => $callback_chat_id,
"message_id" => $callback_message_id,
]);
}else{
$telegram->deleteMessage([
"chat_id" => $callback_chat_id,
"message_id" => $callback_message_id,
]);
}