在while循环中创建2D PHP数组

时间:2014-02-06 22:33:31

标签: php arrays multidimensional-array

我有一个准备好的声明来从数据库中提取信息。从数据库中提取了3个信息字段,行数未知。

我有一个'while'循环来定义从每行获取的信息应该发生什么。我想为3行信息创建一个数组,以便为​​每一行设置,然后为所有这些数组创建一个数组(即2D数组)。

到目前为止,这是我的代码:

$bArray = [];
$bList = $mysqli->prepare('SELECT blog_title,blog_date,blog_id FROM cms_blog');
$bList->execute();
$bList->bind_result($bListTitle,$bListDate,$bListId);
while ($bList->fetch()) {
  $bArray['bTitle']=$bListTitle;
  $bArray['bDate']=$bListDate;
  $bArray['bId']=$bListId;
}

我希望数组在完成后看起来像这样:

Array (
  Array (
    [blogTitle] => First title
    [blogDate] => First date
    [blogId] => First ID
  )
  Array (
    [blogTitle] => Second title
    [blogDate] => Second date
    [blogId] => Second ID
  )
) 

有没有办法写这个?我只需要内部数组的密钥对。

2 个答案:

答案 0 :(得分:1)

试试这段代码:

$bArray = array();
$bList = $mysqli->prepare('SELECT blog_title,blog_date,blog_id FROM cms_blog');
$bList->execute();
$bList->bind_result($bListTitle,$bListDate,$bListId);
while ($bList->fetch()) {
  $iArray=array();  // Inner array
  $iArray['bTitle']=$bListTitle;
  $iArray['bDate']=$bListDate;
  $iArray['bId']=$bListId;
  $bArray[] = $iArray;   // Insert the inner array into $bArray
}

答案 1 :(得分:0)

也许你需要使用它:

for ($row = 0; $row < 3; $row++)
{
    for ($col = 0; $col < 3; $col++)
    {
        $var[$row][$col]="col: ".$col." Row: ".$row;
    }
}