我的数据库查询的结果在转储时看起来像这样,并且查询正在执行预期的操作,但是我在获取数组值时遇到了一些问题。我正在使用 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;