【问题标题】:Add keys to array elements向数组元素添加键
【发布时间】:2021-05-25 07:21:40
【问题描述】:

假设我有一个如下所示的数组:

$array = [1, 2, 3];

现在我想将键“id”添加到上述数组中的每个元素,使数组结构如下所示:

Array
(
    [0] => Array
    (
        [id] => 1,
    )

    [1] => Array
    (
        [id] => 2,
    )

    [2] => Array
    (
        [id] => 3,
    )  
)

我不知道如何解决这个问题,有人知道吗?

【问题讨论】:

  • 好吧,你不能那样做,因为你在一个数组中有 3 个键都是一样的(重复)。这不合法或不可能
  • 那不行。数组键必须是唯一的。
  • 无论如何,如果他们都是id 的意义何在。只需将数组命名为更好的名称,例如 $id_array
  • 不可能有重复的密钥。相反,如果您想使用相同的键值但在不同的数组键下,您可以使用此代码 <?php $array = [1, 2, 3]; $array2=array(); foreach( $array as $key => $value ){ $array2[]=array("id"=>$value); } print_r($array2); ?>。
  • 在这种情况下你能得到的最好的就是像$array = ['id' => [1, 2, 3]] 这样的数组。正如已经指出的那样,您不能在数组中使用重复的键。为同一个键赋值会覆盖之前的值。

标签: php arrays key


【解决方案1】:

根据Arrays 的引用。数组中不可能有重复的键。相反,您可以使用以下代码。如果您想使用相同的键但在不同的数组键下。

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

    【讨论】:

      猜你喜欢
      • 2014-08-03
      • 1970-01-01
      • 2012-03-23
      • 1970-01-01
      • 2022-01-20
      • 2011-08-11
      • 2015-09-02
      • 2012-04-20
      • 1970-01-01
      相关资源
      最近更新 更多