Выбрать главу

Если задан необязательный параметр mode, то будет подсчитано общее количество элементов в массиве. Это может быть полезно при нахождении количества элементов в многомерных массивах.

Пример использования функции count():

<?php

$a[0] = 1;

$a[1] = 3;

$a[2] = 5;

$result = count($a);

// $result == 3

$b[0] = 7;

$b[5] = 9;

$b[10] = 11;

$result = count($b);

// $result == 3;

?>

Пример использования функции count(): (PHP = 4.2.0)

<?php

$food = array("fruits" => array("orange", "banana", "apple"),

"veggie" => array("carrot", "collard", "pea"));

// recursive count

echo count($food, COUNT_RECURSIVE); // выведет 8

// normal count

echo count($food); // выведет 2

?>

Функция поддерживается PHP 3, PHP 4, PHP 5

array_sum

Возвращает сумму всех элементов массива.

Синтаксис:

mixed array_sum(array arr)

Функция array_sum() возвращает сумму всех числовых элементов массива. От типа значений в массиве зависит тип возвращаемого числа (integer или float).

Пример использования функции array_sum():

<?php

$a = array(2, 4, 6, 8);

echo "sum(a) = " . array_sum($a) . "<BR>";

$b = array("a" => 1.2, "b" => 2.3, "c" => 3.4);

echo "sum(b) = " . array_sum($b) . "<BR>";

?>

Этот пример выведет следующее:

sum(a) = 20sum(b) = 6.9

Функция поддерживается PHP 4 =4.0.4, PHP 5

array_rand

Производит случайную выборку индексов массива.

Синтаксис:

mixed array_rand(array arr [, int num_req])

Функция array_rand() будет полезной, если вы хотите выбрать одно или несколько случайных значений из массива. Эта функция возвращает в массиве выбранные случайным образом индексы элементов массива arr.

Аргумент num_req указывает число возвращаемых индексов. В случае, если выбирается один элемент, то функция array_rand() возвратит случайный ключ в виде значения.

Пример использования функции array_rand():

<?php

srand((double)microtime() *1000000);

// здесь мы проинициализировали генератор случайных чисел

$arr = array("Neo", "Morpheus", "Trinity", "Cypher", "Tank");

$rand_keys = array_rand($arr, 2);

echo $arr[$rand_key[0]]."<BR>";

echo $arr[$rand_key[1]]."<BR>";

?>

Функция поддерживается PHP 4, PHP 5

array_change_key_case

Функция устанавливает значения ключей массива в верхний или нижний регистр.

Синтаксис:

array array_change_key_case(array arr[, int registr])

Функция array_change_key_case() возвращает исходный массив arr, ключи которого преобразованы в верхний или нижний регистр.

Необязательный параметр registr может принимать следующие значения:

Данная функция не изменяет ключи, состоящие из чисел.

Пример использования функции array_change_key_case():

$array = array("FirSt" => 1, "SecOnd" => 4);

print_r(array_change_key_case($array, CASE_UPPER));

print_r(array_change_key_case($array, CASE_LOWER));

Пример выведет следующее:

Array

(

[FIRST] => 1

[SECOND] => 2

)

Array

(

[first] => 1

[second] => 2

)

Функция поддерживается PHP 4 = 4.2.0, PHP 5

array_combine

Функция объединяет два массива, причем значения первого становяться ключами, а значения второго - значениями.

Синтаксис:

array array_combine(array keys, array values)

Функция array_combine() возвращает массив, ключами которого являются значения массива keys, а значениями - значения массива values.

Функция возвратит FALSE, если размерность массивов keys и values не совпадают, или эти массивы не содержат значений.

Пример использования функции array_combine():

<?php

$a = array("green", "red", "yellow");

$b = array("avocado", "apple", "banana");

$c = array_combine($a, $b);

print_r($c);

?>

Пример выведет следующее:

Array( [green] => avocado [red] => apple [yellow] => banana)

Функция поддерживается PHP 5

array_key_exists

Проверка существования заданного ключа в массиве.

Синтаксис:

bool array_key_exists(mixed key, array search)

Функция array_key_exists() возвратит TRUE, если в массиве search присутствует элемент с индексом key.

В противном случае возвратит FALSE.

Пример использования функции array_key_exists():

<?php

$search_array = array("first" => 1, "second" => 4);

if (array_key_exists("first", $search_array)) {

echo "The <I>first</I> element is in the array";

}

?>

В PHP 4.0.6. имя этой функции key_exists().

Функция поддерживается PHP 4 = 4.0.1, PHP 5

Работа с несколькими массивами

array_diff

Определение исключительного пересечения массивов.

Синтаксис:

array array_diff(array arr1, array arr2 [, array ...])

Данная функция возвращает массив, который содержит значения, имеющиеся только в массиве arr1 ( и не имеющиеся в любых других). При этом индексы сохраняются.

$arr1 = array("a" => "green", "red", "blue", "red");

$arr2 = array("b" => "green", "yellow", "red");

$result = array_diff($arr1, $arr2);

// $result = array("blue")

Повторение одного и того же значения "red" в массиве arr1 обрабатывается как одно значение.

Стоит отметить, что два элемента считаются одинаковыми, только если их строковое представление идентично. Т.е. (string) $elem1 === (string) $elem2.

Также стоит отметить, что данная функция корректно обрабатывает только одно измерение N-мерного массива. Если есть необходимость обрабатывать более глубокие уровни вложенности, можно использовать конструкцию array_diff($arr1[0], $arr2[0]);.