【问题标题】:PHP, how do you change the key of an array element?PHP,如何更改数组元素的键?
【发布时间】:2021-04-14 23:30:14
【问题描述】:

大家好,新年快乐!

如何向这个数组添加键

$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 )

【问题讨论】:

  • 您的$copy_array 无效,密钥必须是唯一的。事实上,$my_array 也不是一个有效的数组
  • 键必须是唯一的。
  • @Chris,可以吗? 3v4l.org/NkH41

标签: php arrays array-key


【解决方案1】:

你不能。数组键标识它所代表的元素。如果将'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,那么您不妨将其保留为数字索引。

【讨论】:

  • 谢谢您的帮助
猜你喜欢
  • 2010-09-19
  • 2021-09-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-09-15
  • 2015-05-09
  • 1970-01-01
相关资源
最近更新 更多