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,那么你还不如留下数字索引。