Функция php array_flip() позволяет поменять местами значения и ключи в массиве (случаи бывают разные, иногда требуется и такое). Синтаксис функции:
array array_flip ( array $someArray )
то есть в качестве параметра принимается массив и возвращается уже измененный массив, в котором, как говорится, все поставлено «с ног на голову».
Давайте рассмотрим простой пример. Допустим, у нас есть следующий массив данных:
<?php
$baseArray = array("one" => 3, "two" => 2, "three" => 1);
$baseArray = array_flip($baseArray);
print_r($baseArray);
На экран будет выведено:
Array
(
[3] => one
[2] => two
[1] => three
)
Как видим, порядок элементов сохранился таким, какой он был до работы данной функции.
Нужно отметить, что значения исходного массива должны быть типа integer или string, иначе будет выведена ошибка «Warning», а сам элемент не будет включен в результирующий массив. Рассмотрим пример:
<?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!
А итоговый массив будет таким:
(
[3] => one
[1] => three
)