Справочник по PHP : Функции работы с данными : Работа с массивами : Ключи и значения
смотрим также
-
По материалам: Мартино пока не видит Икарди в сборной Аргентины.
Материал из Справочник Web-языков
Содержание |
array_flip
Меняет местами индексы и значения массива.
Синтаксис:
array array_flip(array arr)
Эта функция "пробегает" по массиву и меняет местами его ключи и значения. Исходный массив arr не изменяется, а результирующий массив просто возвращается. Если в массиве присутствовало несколько элементов с одинаковыми значениями, учитываться будет только последний из них.
Значения массива arr должны быть либо целыми числами, либо строковыми значениями. Иначе пара ключ / значение не будут обработаны.
Функция array_flip() возвратит FALSE, если обработка массива вызвала ошибку.
Пример использования функции array_flip():
$trans = array_flip ($trans); $original = strtr ($str, $trans);
Пример использования функции array_flip():
многократное повторение значения
1, "b" => 1, "c" => 2); $trans = array_flip ($trans); print_r($trans); ?>
Приведенный выше пример выведет следующее:
Array ( [1] => b [2] => c )
Функция поддерживается PHP 4, PHP 5
array_keys
Возвращает список из ключей массива.
Синтаксис:
array array_keys(array arr [,mixed search_value])
Функция возвращает массив, значениями которого являются все строковые и числовые ключи массива arr. Если задан необязательный параметр search_value, то она вернет только те ключи, которым соответствуют значению search_value.
Пример испольльзования функции array_keys():
<?php $arr = array(0 => 100, "color" => "red", 15); print_r(array_keys($arr)); $arr = array("blue", "red", "green", "blue", "blue"); print_r(array_keys($arr, "blue")); $array = array ("color" => array("blue", "red", "green"), "size" => array("small", "medium", "large")); print_r(array_keys ($array)); ?>
Приведенный выше пример выведет следующее:
Array ( [0] => 0 [1] => color ) Array ( [0] => 0 [1] => 3 [2] => 4 ) Array ( [0] => color [1] => size )
Функция array_keys() появилась в PHP 4.
Ее эквивалент для PHP 3:
function array_keys ($arr, $term="") { $t = array(); while (list($k,$v) = each($arr)) { if ($term && $v != $term) { continue; } $t[] = $k; } return $t; }
Функция поддерживается PHP 4, PHP 5
array_values
Удаление ассоциативных индексов массива.
Синтаксис:
array array_values(array arr)
Функция array_values() возвращает список всех значений в ассоциативном массиве arr. При этом она заменяет все строковые ключи на числовые.
Пример использования функции array_values():
$arr = array("size" => "XL", "color" => "gold"); print_r(array_values($arr));
Этот пример выведет:
Array ( [0] => XL [1] => gold )
Функция поддерживается PHP 4, PHP 5
in_array
Осуществляет проверку массива на наличие значения.
Синтаксис:
bool in_array ( mixed needle, array haystack [, bool strict])
Функция in_array() возвратит TRUE, если в массиве haystack содержится элемент со значением needle, и FALSE в противном случае.
Если установить третий необязательный параметр strict в значение TRUE, то функция in_array() при проверке также будет сравнивать типы значений.
Замечание: Если параметр needle является строкой, то при сравнении регистр символов учитывается.
Замечание: В PHP версии ниже 4.2.0 параметр needle не мог быть массивом.
Пример использования функции in_array():
<?php $os = array("Mac", "NT", "Irix", "Linux"); if (in_array("Irix", $os)) { echo "Got Irix"; } if (in_array("mac", $os)) { echo "Got mac"; } ?>
Второе условие не сработает, т.к. поиск в массиве идет с учетом регистра.
Пример выведет:
Got Irix
Пример использования функции in_array(): Использование параметра strict
<?php $a = array(array("p", "h"), array("p", "r"), "o"); if (in_array(array("p", "h"), $a)) { echo "ph was foundn"; } if (in_array(array("f", "i"), $a)) { echo "fi was foundn"; } if (in_array("o", $a)) { echo "o was foundn"; } ?>
Пример выведет:
ph was found o was found
Функция поддерживается PHP 4, PHP 5
array_count_values
Возвращает количество значений массива.
Синтаксис:
array array_count_values(array arr)
Эта функция подсчитывает, сколько раз каждое значение встречается в массиве arr, и возвращает ассоциативный массив с ключами - элементами массива и значениями - количеством повторов этих элементов. Иными словами, функция array_count_values() подсчитывает частоту появления значений в массиве arr.
Пример использования функции array_count_values():
$arr = array(1, "hello", 1, "world", "hello"); print_r(array_count_values($arr));
Пример выведет следующее:
Array ( [1] => 2 [hello] => 2 [world] => 1 )
Функция поддерживается PHP 4, PHP 5
sizeof
Возвращает число элементов массива.
Синтаксис:
int sizeof(array arr)
Функция sizeof() возвращает количество элементов в массиве arr на подобие действия функции count().
count
Возвращает число элементов в массиве или объекте.
Синтаксис:
int count(mixed var [, int mode])
Функция count() возвращает число элементов в массиве или объекте var. В случае, если var - скалярная переменная, то функция возвращает 1, если такая переменная существует, или 0, если такой переменной нет.
Надо отметить, что 0 возвращается и тогда, когда указан массив, не содержащий элементов (NULL).
Если задан необязательный параметр 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) . "
"; $b = array("a" => 1.2, "b" => 2.3, "c" => 3.4); echo "sum(b) = " . array_sum($b) . "
"; ?>
Этот пример выведет следующее:
sum(a) = 20 sum(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_keys[0]]."
"; echo $arr[$rand_keys[1]]."
"; ?>
Функция поддерживается PHP 4, PHP 5
array_change_key_case
Функция устанавливает значения ключей массива в верхний или нижний регистр.
Синтаксис:
array array_change_key_case(array arr[, int registr])
Функция array_change_key_case() возвращает исходный массив arr, ключи которого преобразованы в верхний или нижний регистр.
Необязательный параметр registr может принимать следующие значения:
- CASE_LOWER - все ключи массива преобразуются в нижний регистр (значение по умолчанию);
- CASE_UPPER - в верхний регистр.
Данная функция не изменяет ключи, состоящие из чисел.
Пример использования функции 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 first element is in the array"; } ?>
В PHP 4.0.6. имя этой функции key_exists().
Функция поддерживается PHP 4 >= 4.0.1, PHP 5