Справочник по 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

Добавить страницу в закладки:
РАЗРЕШАЕТСЯ перепечатывать и копировать информацию ТОЛЬКО ПРИ РАЗМЕЩЕНИИ ссылки на оригинал!
(<A href="http://www.spravkaweb.ru/">Справочник Web-языков</A>)
другие проекты
222222222 Rambler\'s Top100 Индекс цитирования