我的代碼沒有顯示我需要的,告訴我我做錯了什么
$new_array =[];
foreach($result as $row)
{
$array =[
'id'=> $row["id"],
'summ' => $row["summ"],
];
foreach($array AS $key => $val) {
$new_array[] = $val;
}
}
echo json_encode($new_array);
輸出以下結果
["26","180","25","35","24","50","23","50","22","100"]
但我需要不同的結果,但我不能。這是一個應該如何的示例:
[
{"26","180"},
{"25","35"},
{"24","50"},
{"23","50"},
{"22","100"}
]
請告訴我如何實作這一目標?
uj5u.com熱心網友回復:
檢查這個:
foreach($result as $row)
$array[] = ['id'=>$row["id"], 'summ'=>$row["summ"]];
echo json_encode($array);
例如,如果您的 $result 包含這樣一個陣列:
$result = [['id'=>1, 'summ'=>2] , ['id'=>3, 'summ'=>4] , ['id'=>5, 'summ'=>6]];
腳本輸出將是:
[
{"id":1,"summ":2},
{"id":3,"summ":4},
{"id":5,"summ":6}
]
uj5u.com熱心網友回復:
您可以跳過內部回圈:
$new_array = [];
foreach($result as $row)
{
$new_array[] = [
$row['id'],
$row['summ']
];
}
echo json_encode($new_array);
那應該給你結果:
[
["26","180"],
["25","35"],
...
]
uj5u.com熱心網友回復:
除了其他答案,
我通常array_map用于這種陣列轉換。
$result = [['id' => 1, 'summ' => 2], ['id' => 3, 'summ' => 4], ['id' => 5, 'summ' => 6]];
$output = array_map(function ($item) {
return [$item['id'], $item['summ']];
}, $result);
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/407231.html
標籤:
