子查詢將執行查詢多次,它是沒有好 這將是更好的做用PHP 這樣的(而不是查詢我有$第一和$ 2排列)
$first = array(
array(
'amount' => 100,
'percent' => 10
),
array(
'amount' => 200,
'percent' => 20
),
array(
'amount' => 300,
'percent' => 30
),
array(
'amount' => 400,
'percent' => 40
)
);
$second = array(
array(
'sales' => 10
),
array(
'sales' => 20
),
array(
'sales' => 110
),
array(
'sales' => 120
),
array(
'sales' => 210
),
array(
'sales' => 220
),
array(
'sales' => 310
),
array(
'sales' => 320
)
);
$result = array();
$second_len = count($second);
$s=0;
for ($i=0,$len=count($first); $i < $len; $i++) {
$sum = 0;
for (;$s < $second_len; $s++) {
if ($second[$s]['sales'] <= $first[$i]['amount']) {
$sum += $second[$s]['sales'];
} else {
break;
}
}
$result[] = array(
'sales' => $sum,
'percent' => $first[$i]['percent']
);
}
var_dump($result);
使用數組和循環實際上是避免額外的請求。 – 2014-12-07 13:45:02
Bonatoc我打算髮送儘可能多的百分比數據請求,與哪裏clos,所以它會增加它 – funny 2014-12-07 13:50:30
你可以讓表結構更清晰嗎? – 2014-12-07 20:35:06