php Как посчитать количество элементов в массиве?

Как посчитать количество элементов в массиве, то есть написать свою функцию count..
Вообще в PHP есть встроенная функция count, если ей передать массив она выдаст количество элементов:

echo count ($massiv); // подсчитает только верхний уровень
echo count ($massiv, 1); // подсчитает все вложенные уровни массива



А как он это считает? Можно ли написать свою функцию, которая будет считать и потом применить ее к другим своим проектам, например, подсчитать количество файлов в во всех вложенных директориях.

Все просто, использует вложенные функции, так называемые рекурсивные:

<?php
function myCount ($item, $mode=0){
  $i=0;
  foreach ($item as $v){
  	  if ($mode==1 && is_array($v)) // если массив заходим и считаем элементы
  	  	  $i += myCount($v, 1);
  	  $i++;
  }
  return $i;
}

$cars['bmw'] = array ('model' => 'X5','speed' => '120','doors' => '5','year' => '2006',	);
$cars['opel'] = array ('model' => 'Corsasd','speed' => '2120','doors' => '35','year' => '2026',);
$cars['subaru'] = array ('model' => 'B4','speed' => '220','doors' => '5','year' => '2014',);
echo myCount ($cars); // выдаст 3
echo myCount ($cars,1); // выдаст 15
?>



Оставить свой ответ:

Имя:*
E-Mail:
Вопрос:
Skolko buдет пять пдюс сeмь?
Ответ:*
QQpedia21.ru - cамые интересные вопросы