Как узнать максимальный индекс в массиве?

grigori

( ͡° ͜ʖ ͡°)
Команда форума
специально для кучи народа с Яндекса, которая ломится в эту тему узнать про массивы, приводится и другое решение с обоснованием достоинств и недостатков,
кажется так, а не иначе
 

Squats

Новичок
Ну например:
PHP:
$array = [1, 2, 3, 4, 5];
echo max(array_keys($array)); // 4
echo sizeof($array)-1; // 4
echo array_search(max($array), $array); // 4
Если будет пустой массив, данные моменты отработают по разному
PHP:
$array = [];
echo gettype(max(array_keys($array))); // Boolean = false
echo gettype(sizeof($array)-1); // Integer = -1
echo gettype(array_search(max($array), $array)); // Boolean = false
А там, решать вам, что использовать. =)
 

AnrDaemon

Продвинутый новичок
Попробуй с
PHP:
$array = [
    3 => 1,
    7 => 2,
    5 => 3,
    2 => 4,
    0 => 5
];
echo max(array_keys($array)); // 4
echo sizeof($array)-1; // 4
echo array_search(max($array), $array); // 4
 

Squats

Новичок
Попробуй с
PHP:
$array = [
    3 => 1,
    7 => 2,
    5 => 3,
    2 => 4,
    0 => 5
];
echo max(array_keys($array)); // 4
echo sizeof($array)-1; // 4
echo array_search(max($array), $array); // 4
Ну это да.
Конечно такое может быть наверно если будет как коллекция которая так без разбора собралась.
 

AnrDaemon

Продвинутый новичок
Поэтому надо озвучивать цель, с которой интересуешься.
Если максимальный индекс ключа - это одно.
Если просто последний ключ - другое.
Если количество элементов - третье.
 

Squats

Новичок
Это да. Я затупил просто.
Вообще тут for или foreach сделают это быстро и в разных стилях.
 

Фанат

oncle terrible
Команда форума
Какое чудесное развлечение
Развлечь местных старцев прибежал юный, пылкий, горячий, и - скорее всего - девственный малчик :)
 
Последнее редактирование:
Сверху