Работа с массивами : Ключи и значения
array_flipМеняет местами индексы и значения массива.
Синтаксис :
array array_flip(array arr)
Эта функция "пробегает" по массиву и меняет местами его ключи и значения. Исходный массив
arr не изменяется, а результирующий массив просто возвращается. Конечно, если в массиве присутствовало
несколько элементов с одинаковыми значениями, учитываться будет только последний из них:
$A = array("a"=>"aaa", "b"=>"aaa", "c"=>"ccc");
$A = array_flip($A);
// Теперь $A===array("aaa"=>"b", "ccc"=>"c");
array_keysВозвращает список из ключей массива.
Синтаксис :
list array_keys(array arr [,mixed search_value])
Функция возвращает список, содержащий все ключи массива
arr. Если задан необязательный
параметр
search_value, то она вернет только те ключи, которым соответствуют значения
search_value.
$arr = array(0 => 100, "color" => "red", 15);
array_keys($arr); // возвратит array(0, "color", 1)
$arr = array("blue", "red", "green", "blue", "blue");
array_keys($arr, "blue"); // возвратит array(0, 3, 4)
array_valuesУдаление ассоциативных индексов массива.
Синтаксис :
list array_values(array arr)
Функция
array_values() возвращает список всех значений в ассоциативном массиве
arr, т.е. превращает ассоциативный массив в простой (скалярный).
$arr = array("size" => "XL", "color" => "gold");
array_values($arr);
// возвратит array("XL", "gold")
Очевидно, такое действие бесполезно для списков, но иногда оправданно для хешей.
in_arrayОсуществляет проверку массива на наличие значения.
Синтаксис :
bool in_array(mixed val, array arr)
Функция
in_array() возвратит true, если в массиве
arr содержится элемент со значением
var.
$arr = array("1", "2", "tree");
if(in_array["2", $arr)) echo "2 есть";
array_count_valuesВозвращает количество одинаковых значений массива.
Синтаксис :
array array_count_values(array arr)
Эта функция подсчитывает, сколько раз каждое значение встречается в массиве
arr, и
возвращает ассоциативный массив с ключами - элементами массива и значениями - количеством
повторов этих элементов. Иными словами, функция
array_count_values() подсчитывает частоту
появления значений в массиве
arr.
$LIst = array(1, "hello", 1, "world", "hello");
array_count_values($array);
// возвращает array(1=>2, "hello"=>2, "world"=>1)
sizeofВозвращает число элементов массива.
Синтаксис :
int sizeof(array arr)
Функция
sizeof() возвращает количество элементов в массиве
arr на подобие действия функции
count().
countВозвращает число элементов в массиве или объекте.
Синтаксис :
int count(mixed var)
Функция
count() возвращает число элементов в массиве или объекте
var. В случае, если
var - скалярная переменная, то функция возвращает 1, если такая переменная существует, или 0, если такой переменной нет.
Надо отметить, что 0 возвращается и тогда, когда указан массив, не содержащий элементов.
Для проверки существования переменной лучше воспользоваться функцией
isset().
$a[0] = 1;
$a[1] = 3;
$a[2] = 5;
$result = count($a) // возвратит 3
array_sumВозвращает сумму всех элементов массива.
Синтаксис :
mixed array_sum(array arr [, int num_req])
Эта функция возватит сумму всех числовых элементов массива. От типа значений в массиве зависит тип возвращаемого числа (integer или float).
$arr = array(2,4,6,7);
echo "Сумма: ".array_sum($arr);
// выведет Сумма: 19
array_randПроизводит случайную выборку индексов массива.
Синтаксис :
mixed array_rand(array arr [, int num_req])
Функция
array_rand() возвращает в массиве выбранные случайным образом индексы элементов массива
arr.
Аргумент
num_req указывает число возвращаемых индексов. В случае, если выбирается один элемент, то возвращается не массив, а значение.
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>";