[英]PHP array : simple question about multidimensional array
我有一個返回多行的SQL查詢,我有:
$data = array(
"nom" => $row['nom'] ,
"prix" => $row['rapport'],
"average" => "$moyenne_ge"
);
這是完美的,但只有當我的查詢返回一行時。
我試過了:
$data = array();
$data[$row['nom']]["nom"] = $row['nom'] ;
...
$data[$row['nom']]['average'] = "$moyenne_ge";
為了有 :
$data[brand1][nom] = brand1
$data[brand1][average] = 150$
$data[brand2][nom] = brand2
$data[brand2][average] = 20$
...
但當我這樣做: json_encode($data)
我只有最新的JSON對象而不是我請求中的所有JSON對象,好像我的數組只有一個品牌而不是10個。
我想我在某個地方做了些蠢事。 謝謝你的幫助
我猜你的線路:
$data = array();
在循環的每次迭代中初始化數組。 您不會累積多行數據。
我猜這樣的事情對你有用:
$resource = mysql_query("YOUR QUERY");
$results = array()
while($result = mysql_fetch_assoc($resource)) {
$results[$result['brand']] = array(
'nom' => $result['nom'],
'prix' => $result['rapport'],
'average' => $moyenne_ge
);
)
$results
現在包含由brand
索引的查詢中的所有行。 如果這不是你想要的,請在評論中提問。
如果我正確地讀你,你應該做這樣的事情:
$data[] = array(
"nom" => $row['nom'] ,
"prix" => $row['rapport'],
"average" => "$moyenne_ge"
);
(注意[]
)
這應該將每個數組附加到$ data而不是覆蓋內容。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.