PHP 4 на практике

Размер массива


Наличие информации о текущем размере массива часто позволяет повысить эффективность сценария. Вероятно, размер массива чаще всего используется при циклическом переборе элементов:

$us_wine_producers = array ("Washington". "New York", "Oregon", "California");

for (Si = 0; Si < sizeof ($us_wine_producers); $i++) :

print "$us_wine_producers[$i]";

endfor;

Поскольку массив $us_wine_producers индексируется целыми числами, мы можем воспользоваться циклом for для циклического увеличения переменной-счетчика ($i) и вывода каждого элемента в массиве.

sizeof( )

Функция sizeof ( ) возвращает количество элементов в массиве. Синтаксис функции sizeof ( ):

int sizeof (array массив)

Вероятно, функция sizeof ( ) будет часто встречаться в ваших web-приложениях. Ниже приведен краткий пример ее использования (кстати, предыдущий пример тоже относится к числу стандартных применений sizeof ( )):

$pasta = array("bowties", "angelhair", "rigatoni");

$pasta_size = sizeof($pasta);

// $pasta_size = 3



У функции sizeof ( ) существует и другая, расширенная форма — count ( ) (см. ниже).

count( )

Функция count( ) выполняет ту же операцию, что и sizeof ( ), — она возвращает количество значений, содержащихся в массиве. Синтаксис функции count ( ):

int count (mixed переменная)

Единственное различие между sizeof ( ) и count( ) заключается в том, что в некоторых ситуациях count ( ) возвращает дополнительную информацию:

  • если переменная существует и является массивом, count ( ) возвращает количество элементов в массиве;
  • если переменная существует, но не является массивом, функция возвращает значение 1;
  • если переменная не существует, возвращается значение 0.
  • array_count_values( )

    Функция array_count_values( ) является разновидностью sizeof ( ) и count ( ). Вместо общего количества элементов она подсчитывает количество экземпляров каждого значения в массиве. Синтаксис функции array_count_values( ):

    array array_count_values(array массив):

    В возвращаемом массиве ключами будут значения исходного массива, а значениями — их частоты:

    $states = аrrау("ОН", "ОК", "СА", "РА", "ОН", "ОН", "РА", "АК");

    $state_freq = array_count_values($states);

    Массив $state_freq заполняется следующими ассоциативными парами «ключ/значение»:

    $state_freq = аrrау("ОН" => 3, "ОК" => 1, "СА" => 1, "РА" => 2, "АК" => 1);



    Содержание раздела