如何访问数组中的每个值


How do I access each value in array?

我曾多次尝试访问数组中的每个值。数组包含从选择查询检索到的数据库结果。

$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'];

应该做到这一点。