4

初心者の質問でごめんなさい。
私は今1時間検索しましたが、whileループ内に1つのキー=>値を追加することに関する情報しか見つけることができません。この結果を目指しています。ありがとう

$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);

EDIT:配列をトラバースする方法(基本的にこれはPHP 101なので、PHP配列を調べることをお勧めします)

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