如何访问数组中的每个值?

时间:2015-04-09 20:09:45

标签: php arrays mysqli

我尝试过无数次尝试访问数组中的每个值。该数组包含从select查询中检索的数据库结果。

$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 ) 

2 个答案:

答案 0 :(得分:0)

您正在做的工作应该是检索每一行,但如果您想访问orderStatus值,可以使用结果数组执行此操作:

 foreach ($result_array as $resultRow) {
    echo $resultRow['orderStatus'];
 }

那应该有用,如果这就是你的意思。如果要在第一个循环中访问orderStatus值,可以将其称为$row['orderStatus']。或者,如果您在查询中执行SELECT *并且想要查询查询中的所有值,则可以创建另一个循环,例如foreach ($row as $column => value) { ... }

答案 1 :(得分:0)

您是否只想打印值而不是关联键/值对?

更改

$result_array[] = $row;

$result_array[] = $row['orderStatus'];

应该这样做。