Как поменять местами значения и ключи массива: array_flip()


Функция php array_flip() позволяет поменять местами значения и ключи в массиве (случаи бывают разные, иногда требуется и такое). Синтаксис функции:

1
array array_flip ( array $someArray )

то есть в качестве параметра принимается массив и возвращается уже измененный массив, в котором, как говорится, все поставлено «с ног на голову».

Давайте рассмотрим простой пример. Допустим, у нас есть следующий массив данных:

1
2
3
4
<?php
$baseArray = array("one" => 3, "two" => 2, "three" => 1);
$baseArray = array_flip($baseArray);
print_r($baseArray);

На экран будет выведено:

1
2
3
4
5
6
Array
(
    [3] => one
    [2] => two
    [1] => three
)

Как видим, порядок элементов сохранился таким, какой он был до работы данной функции.

Нужно отметить, что значения исходного массива должны быть типа integer или string, иначе будет выведена ошибка «Warning», а сам элемент не будет включен в результирующий массив. Рассмотрим пример:

1
2
3
4
<?php
$baseArray = array("one" => 3, "two" => null, "three" => 1);
$baseArray = array_flip($baseArray);
print_r($baseArray);

В результате получим предупреждение:
Warning: array_flip() [function.array-flip]: Can only flip STRING and INTEGER values!
А итоговый массив будет таким:

1
2
3
4
(
    [3] => one
    [1] => three
)




Случайные посты

Категория: PHP-скрипты

Оставить комментарий