#php #arrays #key
Вопрос:
Допустим, у меня есть массив, выглядящий так:
$array = [1, 2, 3];
Теперь я хочу добавить ключ «id» к каждому элементу в приведенном выше массиве, чтобы структура массива выглядела следующим образом:
Array
(
[0] => Array
(
[id] => 1,
)
[1] => Array
(
[id] => 2,
)
[2] => Array
(
[id] => 3,
)
)
Я не могу понять, как это решить, кто-нибудь знает?
Комментарии:
1. Ну, вы не можете сделать это таким образом, так как у вас все равно было бы 3 ключа в массиве (дубликаты). Это не законно и не возможно
2. Так не пойдет. Ключи массива должны быть уникальными.
3. В любом случае, если бы они все
id
были такими, в чем был бы смысл. Просто назовите массив лучшим именем, например$id_array
4. Дубликат ключа невозможен. Вместо этого вы можете использовать этот код
<?php $array = [1, 2, 3]; $array2=array(); foreach( $array as $key => $value ){ $array2[]=array("id"=>$value); } print_r($array2); ?>
, если хотите использовать то же значение ключа, но под другим ключом массива.5. Лучшее, что вы можете получить в этом случае, — это массив, подобный этому
$array = ['id' => [1, 2, 3]]
. Как уже отмечалось, вы не можете использовать дубликаты ключей в массиве. Присвоение значений одному и тому же ключу приведет к перезаписи предыдущего значения.
Ответ №1:
В соответствии со ссылкой на массивы. Дубликат ключа в массиве невозможен. Вместо этого вы можете использовать приведенный ниже код. если вы хотите использовать тот же ключ, но под другим ключом массива.
<?php
$array = [1, 2, 3];
$array2=array();
foreach( $array as $key => $value )
{
$array2[]=array("id"=>$value);
}
print_r($array2); ?>
Результат будет выглядеть следующим образом
Array
(
[0] => Array
(
[id] => 1
)
[1] => Array
(
[id] => 2
)
[2] => Array
(
[id] => 3
)
)
Ответ №2:
Используйте это для получения вашего разнесенного массива с тем же значением ключа, но под другим ключом массива :
<?php
$array = [1, 2, 3];
$newarray=array();
foreach( $array as $key => $value ){
$newarray[]=array("id"=>$value);
}
print_r($newarray);
Это даст вам :
Array
(
[0] => Array
(
[id] => 1
)
[1] => Array
(
[id] => 2
)
[2] => Array
(
[id] => 3
)
)