PHP хранит размер массива внутри, но вы все еще делаете вызов функции, когда это происходит медленнее, чем не создание, поэтому вам нужно сохранить результат в переменной, если вы делаете что-то вроде использования это в цикле:
Например,
$cnt = count($array);
for ($i =0; $i < $cnt; $i++) {
foo($array[$i]);
}
Кроме того, вы не всегда можете быть уверены, что count
вызывается для массива. Если он вызывается для объекта, который реализует, например, Countable
, будет вызван метод count
этого объекта.