СКРИПТЫ
ТЕГИ:
php (328)
js (243)
html (147)
css (131)
html tags (63)
js tag (56)
jquery (42)
text (37)
js method (36)
php array (33)
js date (33)
form html (30)
online (28)
fonts (26)
Показать еще :
link (26)
ruweb.net (25)
foto (22)
php file (20)
atom (20)
forum (19)
hosting (18)
input (18)
svg (18)
php date (17)
html book (16)
board (16)
php time (16)
color (15)
js events (14)
img (14)
js time (14)
info (14)
js url (14)
notepad (13)
osclass (13)
select (13)
htaccess (13)
download (12)
php path (12)
table (12)
keyboard (12)
знак (12)
dw block (12)
php img (12)
jsphp (11)
form (11)
icon (11)
mouse (10)
keyframes (10)
yandex (10)
js delete (10)
hover (9)
dosite (8)
browser (7)
php url (7)
cookie (7)
comment (7)
iframe (6)
list (6)
news (6)
mysql (6)
canvas (6)
click (6)
php get (6)
tag a (5)
js id (5)
search (5)
chart (5)
mb (5)
adminka (5)
js math (5)
reg.ru (5)
heading (5)
value (5)
ftp (5)
year (5)
php var (4)
bbcode (4)
нок (4)
js form (4)
ssl (4)
week (4)
day (4)
base64 (4)
vk (4)
pages (4)
submit (4)
games (4)
month (4)
flags (4)
console (4)
task (4)
symbols (4)
xml (4)
scandir (4)
line (3)
js hash (3)
https (3)
money (3)
js img (3)
domen (3)
js post (3)
ucoz (3)
куб (3)
padding (3)
captcha (3)
vs code (3)
numbers (3)
tag hr (2)
typeof (2)
details (2)
sitemap (2)
prompt (2)
js vars (2)
seo (2)
height (2)
arrows (2)
google (2)
counter (2)
youtube (2)
video (2)
qr kod (2)
рся (2)
archive (1)
smile (1)
rutube (1)
speed (1)
header (1)
нод (1)
windows (1)
jino (1)
cursor (1)
scroll (1)

Как заменить ключ в массиве php

"замена ключа массива php" или "Как заменить ключ в массиве php". На самом деле - заменить ключ в массиве очень просто!

Но вот с какой проблемой мы столкнемся... что порядок массива будет нарушен! Что ж... и эту проблемку я тоже покажу как решить! С примерами!

Подробно о замене ключа в массиве.

  1. Заменим ключ в массиве.
  2. Замена ключа без изменения положения ключа.

  1. Заменим ключ в массиве.

    Здесь немного нужно сказать о теории...

    Нет такого .. простого способа или функции, которая возьмет и заменит ключ, именно ключ, имя ключа на другое. Просто нет и все...

    Поэтому требуется несколько телодвижений...

    Алгоритм замены ключа, имени ключа

    (далее просто "замена ключа".)

    Нам потребуется получить значение ячейки старого ключа, который мы хотим изменить, переименовать. Присвоить новому ключу значение старого ключа.
    После того, как новый ключ создан со значением старого ключа . У нас получиться, что есть две ячейки с одинаковыми значениями, но два ключа, "старый ключ" и "новый ключ".

    Следующим шагом - мы спокойно можем удалить старый ключ.

    Пример замены ключа в массиве:

    Для иллюстрации нам понадобится массив:

    $array_example = array('Ячейка 1','Ячейка 2','Ячейка 3','Ячейка 4' );

    Выведем прямо здесь с помощью print_r:

    print_r($array_example);

    Результат:

    Array

    (

    [0] => Ячейка 1

    [1] => Ячейка 2

    [2] => Ячейка 3

    [3] => Ячейка 4

    )

    Предположим, что мы хотим заменить ключ второй ячейки, ключ №1.

    1). Получаем значение ключа в новую ячейку:
    $array_example[] = $array_example[1];

    Опять выведем, что у нас получилось - print_r($array_example);

    Array

    (

    [0] => Ячейка 1

    [1] => Ячейка 2

    [2] => Ячейка 3

    [3] => Ячейка 4

    [4] => Ячейка 2

    )

    2). Удаляем старый ключ:

    Для удаления строго ключа нам потребуется функция unset:

    unset($array_example[1]);

    Мы заменили ключ!

    Результат замены ключа в массиве.

    Array

    (

    [0] => Ячейка 1

    [2] => Ячейка 3

    [3] => Ячейка 4

    [4] => Ячейка 2

    )

    Вывод о замене ключа:

    Что мы здесь наблюдаем?

    При такой замене имени ключа, нарушается нумерация ключей. Теперь нам нужно(если нужно) восстановить нумерацию ключей
    Array

    (

    [0] => Ячейка 1

    [1] => Ячейка 3

    [2] => Ячейка 4

    [3] => Ячейка 2

    )


  2. Замена ключа без изменения положения ключа.

    Но, что, если вам требуется сохранить положение ключа в массиве и заменить его имя - есть какие-то варианты?

    Поскольку у меня на сайте есть множество данных хранимых в ассоциативных массивах, то и ключи периодически приходится заменять, но , чтобы место данного ключа не менялось!

    Замена имени ключа в цикле.

    Предположим, что у нас есть ассоциативный массив(приведем простой пример такого массива):

    $price = array ("помидоры" => 15, "огурцы" => 12, "петрушка" => 22, "бананы" => 16);

    Выведем через print_r

    Array

    (

    [помидоры] => 15

    [огурцы] => 12

    [петрушка] => 22

    [бананы] => 16

    )

    Замена ключа без изменения положения в массиве:

    Предположим, что в выше приведенном массиве нам требуется изменить имя ключа номер 2(огурцы) на какое-то другое, без изменения положения в массиве, для этого вам понадоится:

    Выше цикла создаем новый массив:

    $new_arr = array();

    Для этого примера нам понадобится, цикл foreach

    foreach ($price as $key => $value)

    Внутри цикла создадим условие if и проверим, если ключ массива "огурцы"

    if($key==огурцы)

    То, создаем в цикле новый массив "$new_arr" с новым ключом "новые_огурцы" и значением старого ключа:

    {$new_arr[новые_огурцы] = $value; }

    Иначе(else) - все остальное :

    else {$new_arr[$key] = $value;}

    И далее... вернем в старый массив новый:

    $price = $new_arr;

    Соберем весь код замены ключа на новый:

    $new_arr = array();

    foreach ($price as $key => $value)

    {

    if($key==огурцы) {$new_arr[новые_огурцы] = $value;}

    else {$new_arr[$key] = $value;}

    }

    $price = $new_arr;

    Ну и далее... нам остается только вывести результат замены ключа в массиве, без изменения его положения:

    print_r($price);

    Результат вывода замены ключа:

    Array

    (

    [помидоры] => 15

    [новые_огурцы] => 12

    [петрушка] => 22

    [бананы] => 16

    )

Не благодарите, но ссылкой можете поделиться!
Временная ссылка для быстрейшей индексации : список всех квадратных корней.
Теги :
замена ключа массива
изменить имя ключа
меняем имя ключей
Комментариев : 2 COMMENTS+   BBcode
Подписаться + =

скопировать ссылку
16.09.2022 13:37 Сергей Fortoo
unset ($price[$key]);
Убить старый ключ нужно когда переименование ключа происходит в первоначальном массиве, а в данном примере, Вы создаёте новый массив, поэтому unset ($price[$key]); не нужен.
ответить
скопировать ссылку
16.09.2022 14:58 Марат Сергей Fortoo
Спасибо, что заметили!
Действительно там он не нужен!
Исправил!
ответить
ruweb dwweb.ru есть здесь:
Последние комментарии :
Марат :
01.12.2023 15:33
А вы зачем такое спрашиваете, если знаете? По школьной программе, ну по крайней мере, когда я учился, корня из…
подробнее.
Тесс :
01.12.2023 14:50
А как же комплексные числа, уважаемый автор? Вы бы хоть их упомянули, ради…
подробнее.
Марат :
28.11.2023 12:13
Спасибо за добрые слова! P.S. Ваше сообщение... необычным образом было записано так, что не передался адрес…
подробнее.
Макс :
26.11.2023 08:38
Здравствуйте! Даже для человека весьма далёкого все описано более чем доходчиво. Я только учусь понимать…
подробнее.
Марат :
08.10.2023 16:21
Приведите пример пожалуйста!!!
подробнее.
kelvin phitrow :
08.10.2023 16:16
Ничего не написано про двойное сравнение. То есть когда переменную надо сравнить с двумя числами, если она…
подробнее.
Немного о ruweb.net!
Страница загружена за : 0.029216 секунд. Подробнее