ダンプ時にこのように見える db クエリの結果があり、クエリが期待どおりに実行されていますが、配列値を取得するのに少し問題があります。結果を取得するために PHP PDO を使用しています。
$result = $_stmt->fetchAll();
$row = count($result);
print_r($result);
Array ( [0] => Array ( [SUM(od_price * od_qty)] => 69.85 [0] => 69.85 )
[1] => Array ( [SUM(od_price * od_qty)] => 13.97 [0] => 13.97 )
) 69.8513.97
結果には、配列と文字列値の両方が含まれていることがわかります。配列または文字列値を取得するオプションがあります。しかし、文字列値がすべて一緒になっているため、配列値を取得したいと思います。foreach ループで間違っていることを説明してもらえますか?
if($row == 2)
{
foreach ($result as $k)
{
echo $price_1 = $k[0][0]; // expected 69.85
echo $price_2 = $k[0][1]; // expected 13.97
}
unset($k);
}
期待値を取得する必要がありますが、代わりに、すべてがまとまった文字列値を取得しています。
以下の解決策を検討した後、私が思いついたものを以下に示します。
$result = $_stmt->fetchAll();
$row = count($result);
$price = "";
if($row == 2)
{
foreach ($result as $k)
{
$price .= $k[0].',';
}
}
// remove the last comma
$price = substr($price, 0, -1);
list($totalPurchase, $shippingCost) = explode(",",$price);
$orderAmount = $totalPurchase + $shippingCost;
echo 'The amount is: '.$orderAmount;