PHP,如何更改数组元素的键?
PHP, how do you change the key of an array element?
大家好,新年快乐!
如何向这个数组添加键
$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'
设置为特定值,然后将其设置为另一个特定值,然后用后者覆盖前者。无论如何,将不同的值作为 ids 是自相矛盾的,除非它们标识不同的对象。如果是这样,那么您可以将代码更改为
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,那么你还不如留下数字索引。
大家好,新年快乐!
如何向这个数组添加键
$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'
设置为特定值,然后将其设置为另一个特定值,然后用后者覆盖前者。无论如何,将不同的值作为 ids 是自相矛盾的,除非它们标识不同的对象。如果是这样,那么您可以将代码更改为
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,那么你还不如留下数字索引。