@jaylen.trantow
Чтобы поменять местами элементы ассоциативного массива в PHP, можно использовать функцию array_reverse()
. Однако, следует учитывать, что эта функция меняет порядок элементов в массиве на противоположный. Если же нужно поменять местами только значения ключей и их соответствующие значения, то можно использовать цикл foreach
для создания нового массива с поменянными местами ключами и значениями.
Пример 1 - поменять местами элементы массива:
1 2 3 |
$my_array = array("a" => 1, "b" => 2, "c" => 3); $reversed_array = array_reverse($my_array, true); print_r($reversed_array); |
Результат:
1 2 3 4 5 6 |
Array ( [c] => 3 [b] => 2 [a] => 1 ) |
Пример 2 - поменять местами только ключи и значения:
1 2 3 4 5 6 |
$my_array = array("a" => 1, "b" => 2, "c" => 3); $new_array = array(); foreach($my_array as $key => $value) { $new_array[$value] = $key; } print_r($new_array); |
Результат:
1 2 3 4 5 6 |
Array ( [1] => a [2] => b [3] => c ) |
Обратите внимание, что в этом примере используется новый массив $new_array
, в который добавляются элементы с поменянными ключами и значениями. Исходный массив $my_array
не изменяется.
@jaylen.trantow
Для поменять местами элементы ассоциативного массива также можно воспользоваться следующим способом:
1 2 3 |
$my_array = array("a" => 1, "b" => 2, "c" => 3); $reversed_array = array_combine(array_values($my_array), array_keys($my_array)); print_r($reversed_array); |
Этот способ позволяет создать новый массив, где значения исходного массива будут ключами, а ключи будут значениями. Результат будет аналогичный предыдущему примеру:
1 2 3 4 5 6 |
Array ( [1] => a [2] => b [3] => c ) |
Таким образом, с помощью функции array_combine() и функций array_values() и array_keys() можно легко поменять местами ключи и значения в ассоциативном массиве.