【问题标题】:PHP - Multidimensional ArrayPHP - 多维数组
【发布时间】:2014-06-03 14:36:42
【问题描述】:

我基本上是在尝试从 SQL 数据库中获取结果并将其加载到多维数组中,以便稍后在页面中使用它们。

 while($row = mysqli_fetch_array($result)) 
  {

  $send = array
  (
  array($row['Name'],$row['Email'],$row['Mobile'])
  );
  $count = $count + 1;
  }

这就是我用来获取结果的方法,如果我在 while 循环中打印,它将回显所有结果。但是,当将其放入数组时,它将每个结果作为第一个结果加载到数组中。我最初的计划是使用一个计数变量来设置结果在数组中的位置,每次加一。我不确定如何指定在哪里添加我认为类似于

的结果
$send = array[$count]
(
array.....

所以我可以将结果称为 0 来计算长度,但我不确定如何进行这项工作。或者,我想,如果有更容易和更好的方法来解决它。我也不确定这是否有必要,因为从 SQL 数据库收集时结果似乎在一个数组中,但我不确定这个数组是否填充了每个 while 循环或存储并且可以在任何时候访问

如果有人可以给我一个类似的例子或指向我一些非常感谢的文档

【问题讨论】:

    标签: php sql arrays multidimensional-array


    【解决方案1】:

    试试这个:

    $count = 0;
    while ($row = mysqli_fetch_array($result)) {
        $send[$count] = array($row['Name'], $row['Email'], $row['Mobile']);
        $count++;
    }
    

    我有一个更好的方法给你。您也可以使用id 作为您的索引,如果您有的话:

    while ($row = mysqli_fetch_array($result)) {
        $send[$row['id']] = array(
            "Name"      => $row['Name'], 
            "Email"     => $row['Email'], 
            "Mobile"    => $row['Mobile']
        );
    }
    

    【讨论】:

      【解决方案2】:

      你可以使用:

      $count = 0;
      while($row = mysqli_fetch_array($result)) 
      {
          $send[$count] = $row;
          $count ++;
      }
      

      此外,您可能希望将表 id 用作数组索引,以便稍后按 ID 访问记录。在这种情况下,您可以这样做:

      while($row = mysqli_fetch_array($result)) 
      {
          $send[$row['id']] = $row;
      }
      

      【讨论】:

        【解决方案3】:

        您在循环中声明了您的数组。所以每次都会重置。

        $send = array();
        while($row = mysqli_fetch_array($result)) 
          {
          $send[] = array($row['Name'],$row['Email'],$row['Mobile']);
          }
        

        【讨论】:

          猜你喜欢
          • 2011-09-20
          • 2022-01-07
          • 2013-03-04
          • 2011-09-22
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多