У меня есть результат из моего запроса 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
Вы можете видеть, что результат содержит как массив, так и строковые значения. У меня есть возможность получить либо массив, либо строковое значение. Но я бы предпочел получить значения массива, так как значения строк все являются togather. Может кто-нибудь объяснить, что я делаю, это неправильно в цикле 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);
}
Мне нужно получить ожидаемые значения, но вместо этого получаю строковые значения, которые являются все togather.
Рассмотрев нижеприведенные решения, вот что я придумал, что хорошо работает для того, что я хотел.
$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;
Но все хорошо, вы просто печать значения, так что они появляются. –