4

对不起初学者的问题。
我现在已经搜索了一个小时,只能找到在 while 循环中添加 1 个 key => value 的信息。我的目标是这个结果。谢谢

$menu = array(  
    '1' => array('id' => 1, 'parentid' => 0, 'title' => 'Apple'),  
    '2' => array('id' => 2, 'parentid' => 0, 'title' => 'Banana'),  
    '3' => array('id' => 3, 'parentid' => 0, 'title' => 'Tangerine'),  
    '4' => array('id' => 4, 'parentid' => 3, 'title' => 'Pear')
);


我已经尝试了很多东西,但这似乎是最接近的。

$menu = array();
while($row = mysql_fetch_array($query)) {
    $menu[] = $row['id'] ;
    $menu[] = $row['parentid'] ;
    $menu[] = $row['title'];
}
4

2 回答 2

24

啊,看起来你想要类似的东西

$menu = array();
while ($row = mysql_fetch_array($query)) {
    $menu[] = array(
        "id" => $row['id'], 
        "parentid" => $row['parentid'], 
        "title" => $row['title']
    );
}

关联数组键是使用"key" => "value".


编辑

有点离题,但我强烈建议为您的查询学习 PDO。它真的很容易学习并且有很多优点 - 安全性和灵活性是最重要的 - 并且确实将您的脚本提升到了一个新的水平。

于 2012-07-13T00:13:34.830 回答
4

您只需添加一个新数组作为数组的元素值$menu

$menu = array();
while($row = mysql_fetch_array($query)) {
    $menu[] = array(
        'id' => $row['id'],
        'parentid' => $row['parentid'],
        'title' => $row['title']
    );
}
var_dump($menu);

编辑:如何遍历数组(基本上这是 PHP 101,所以我建议查找PHP 数组

foreach($menu as $index => $record){
    echo "ID: {$record['id']} ParentID: {$record['parentid']} Title: {$record['title']}";
}
于 2012-07-13T00:13:37.303 回答