我曾多次尝试访问数组中的每个值。数组包含从选择查询检索到的数据库结果。
$query = DB::getInstance()->query("SELECT orderStatus FROM customerOrders");
foreach ($query->results() as $orderered) {
$result_array = array($orderered);
//print_r($result_array);
$orderData = array_map(function ($object) { return $object->orderStatus; }, $result_array);
$test = json_decode(json_encode($result_array), true);
$ORvalue = serialize($test);
$ORvalue2 = unserialize($ORvalue);
$orderValueNEW = call_user_func_array('array_merge', $ORvalue2);
print_r($orderValueNEW);//debug
}//close foreach loop
它打印的结果是:
Array ( [orderStatus] => 0 )
Array ( [orderStatus] => 0 )
Array ( [orderStatus] => 0 )
Array ( [orderStatus] => 1 )
Array ( [orderStatus] => 1 )
您所做的应该可以检索每一行,但如果您想访问orderStatus
值,您可以使用结果数组:
foreach ($result_array as $resultRow) {
echo $resultRow['orderStatus'];
}
如果你是这个意思的话,那应该行得通。如果要访问第一个循环中的orderStatus
值,可以将其称为$row['orderStatus']
。或者,如果您在查询中执行SELECT *
,并且希望遍历查询中的所有值,则可以进行另一个循环,如foreach ($row as $column => value) { ... }
是否只打印值而不打印关联的键/值对?
更改
$result_array[] = $row;
至
$result_array[] = $row['orderStatus'];
应该做到这一点。