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

Ключи и значения

array_flip

Меняет местами индексы и значения массива.

Синтаксис:

array array_flip(array arr)

Эта функция "пробегает" по массиву и меняет местами его ключи и значения. Исходный массив arr не изменяется, а результирующий массив просто возвращается. Если в массиве присутствовало несколько элементов с одинаковыми значениями, учитываться будет только последний из них.

Значения массива arr должны быть либо целыми числами, либо строковыми значениями. Иначе пара ключ / значение не будут обработаны.

Функция array_flip() возвратит FALSE, если обработка массива вызвала ошибку.

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

$trans = array_flip ($trans);

$original = strtr ($str, $trans);

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

многократное повторение значения

<php

$trans = array ("a" => 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).