Чтобы найти количество элементов в PHP $array
, что быстрее / лучше / сильнее?
count($array)
или sizeof($array)
?
редактировать
Благодаря Энди Лестеру я уточнил свой вопрос с точки зрения многоязычия. Руководство комментаторов говорит
«[sizeof] не означает то же самое во многих других языках, основанных на C»
Это правда?
Ответы:
Я хотел бы использовать,
count()
если они одинаковы, так как по моему опыту, это более распространено, и поэтому заставит меньше разработчиков читать ваш код, чтобы сказать "sizeof()
что это?" и необходимость ознакомиться с документацией.Я думаю, что это означает,
sizeof()
что не работает, как это работает в C (вычисление размера типа данных). Вероятно, он сделал это в явном виде, потому что PHP написан на C, и предоставляет множество оболочек с одинаковыми именами для функций C (strlen()
,printf()
и т. Д.)источник
По словам phpbench :
Стоит ли усилий заранее рассчитать длину цикла?
Дан цикл с 1000 ключами с 1 байтовыми значениями.
Поэтому я лично предпочитаю использовать count () вместо sizeof () с pre calc .
источник
Они идентичны согласно
sizeof()
При отсутствии каких-либо причин беспокоиться о «быстрее», всегда оптимизировать для человека. Что имеет больше смысла для читателя?
источник
По данным сайта,
sizeof()
это псевдонимcount()
, поэтому они должны запускать один и тот же код. Возможно,sizeof()
имеет немного накладных расходов, потому что это нужно разрешитьcount()
? Это должно быть очень минимальным, хотя.источник
Я знаю, что это старый, но просто хотел упомянуть, что я попробовал это с PHP 7.2:
и результат был:
Так что просто используйте
count()
.источник
1 000 000 000 iteration of count() took 525 sec
1 000 000 000 iteration of sizeof() took 1361 sec
sizeof()
это просто псевдоним,count()
как упомянуто здесьhttp://php.net/manual/en/function.sizeof.php
источник
Пожалуйста, используйте функцию подсчета, вот пример, как посчитать массив в элементе
count()
Функция возвращает количество элементов в массиве.sizeof()
Функция возвращает количество элементов в массиве.sizeof()
Функция является псевдонимомcount()
функции.источник