PHP,如何更改数组元素的键



大家好,新年快乐

如何将密钥添加到此阵列

$my_array = array( [0] => 703683 [1] => 734972 [2] => 967385 )

因此,我想为所有值添加一个单独的键,例如:

$copy_array = array( ['id'] => 703683 ['id'] => 734972 ['id'] => 967385 )

我尝试了这个解决方案:

new_arr = [];
foreach ($my_array as $key => $value) {
// code..
$new_arr['id'] = $value ;
}

输出:

( [id] => 703683 )

你不能。数组键用于标识它所代表的元素。如果将'id'设置为特定值,则将其设置为另一个特定值,然后用后者覆盖前者。无论如何,将单独的值作为id是自相矛盾的,除非它们标识不同的对象。如果是这种情况,那么您可以将代码更改为

new_arr = [];
foreach ($my_array as $key => $value) {
// code..
$new_arr[] = ['id' => $value] ;
}

甚至

new_arr = [];
foreach ($my_array as $key => $value) {
// code..
$new_arr[$value] = ['id' => $value] ;
}

但这种更改的唯一用途是如果它们有其他属性,而这些属性不包括在上面的代码中,因为如果它们存在,您的问题不会提供任何关于它们的具体信息。如果所有的东西都只是一个id,那么你还不如把它留有数字索引。

最新更新