【问题标题】:Is this the correct PHP Syntax for adding an associative array to an existing associative array.这是将关联数组添加到现有关联数组的正确 PHP 语法吗?
【发布时间】:2018-03-28 00:03:26
【问题描述】:

我从数据库中检索了三个变量,我希望第一个变量作为第二个变量的键,而第二个变量作为第三个变量的键。本质上是一个二维数组。

 while($row = $statement->fetch(PDO::FETCH_ASSOC))
    {
         $unit_id = $row['id'];
          $unit_code = $row['unit_name'];
           $unit_description = $row['unit_description'];

         $units = [$unit_id => $unit_code];
         $units += [$unit_code => $unit_description];

    }
    return $units;

【问题讨论】:

  • 那么你的问题是什么?代码有效吗?你告诉我们。
  • 你的意思是$units[$unit_id][$unit_code] = $unit_description; 吗?

标签: php arrays


【解决方案1】:

你可以这么简单地制作

<?php
    $unit_id = 'id';
    $unit_code = 'unit_name';
    $unit_description = 'unit_description';

    $units[$unit_id] = [$unit_code=>$unit_description];
    //$units[$unit_id][$unit_code] = $unit_description;
    print_r($units);
?>

现场演示:https://eval.in/880865

【讨论】:

    【解决方案2】:

    如果“id”、“unit_name”和“unit_description”分别是数据库的第一个、第二个和第三个值,代码如下:

    while($row = $statement->fetch(PDO::FETCH_ASSOC))
    {
        $units[$row['id']][$row['unit_name']] = $row['unit_description'];
    
    
    }
    return $units;
    

    【讨论】:

      【解决方案3】:

      如果数组由keyvalue 部分(关联数组)组成,您的情况就是这样,您只需要:

      $data[$key] = $value;
      

      所以你的情况是:

      $units[$unit_code] = $unit_description;
      

      如果您的数组键被索引,那么使用array_push 也可以完成这项工作:

      array_push($units, $unit_description);
      

      【讨论】:

        【解决方案4】:

        是的,你可以这样做。

        $array = [
         'data' => 'my data'
        ];
        

        现在你可以简单地做到这一点

        $array['anotherArray'] = $anotherArray;
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2013-07-10
          • 1970-01-01
          • 1970-01-01
          • 2012-05-05
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-06-10
          相关资源
          最近更新 更多