PHP поменять местами ключи и значениями в массиве

Иногда в разработке появляется потребность поменять местами ключи и значения в массиве, для этого есть готовая встроенная функция array_flip. Куда нужно передать только один параметр. Функция меняет местами ключи со значениями, результат можно сохранить в новую переменную или в эту же.

Пример 1

<?php
$testArray = array(
    0 => 'element_1',
    1 => 'element_2',
    2 => 'element_3',
    3 => 'element_4',
    4 => 'element_5',
    5 => 'element_6',
    6 => 'element_7',
    7 => 'element_8',
    8 => 'element_9',
    9 => 'element_10',
);

$newArray = array_flip($testArray);

print_r($newArray);
?>

В результате получим:

Array
(
    [element_1] => 0
    [element_2] => 1
    [element_3] => 2
    [element_4] => 3
    [element_5] => 4
    [element_6] => 5
    [element_7] => 6
    [element_8] => 7
    [element_9] => 8
    [element_10] => 9
)

Если передать функции array_flip многомерный массив или значениями будут числа с плавающей точкой, то она обработает ключи и значения, находящиеся на первом уровне и только строки и целые числа, пропустит вложенные массивы и числа с плавающей точкой и cгенерирует ошибку, уровня E_WARNING c сообщением array_flip(): Can only flip string and integer values, entry skipped in….. Что означает, можно переворачивать только строковые и целочисленные значения.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *



Рекламный блок, для развития проекта