2015-04-09 2 views
0

Я пытался много раз пытаться получить доступ к каждому значению в массиве. Массив содержит результаты базы данных, полученные из запроса 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) 
+0

['array_walk_recursive()'] (возможно, http://php.net/array_walk_recursive)? Для меня неясно, какие значения вы хотите использовать и как обычные методы не помогают – kero

+0

Я продолжаю получать «Array()», ничего в этом нет. Цикл добавляет значения базы данных в массив. –

ответ

0

Что вы делаете, должны работать, чтобы получить каждую строку, но если вы хотите получить доступ к значению orderStatus, вы можете сделать это с помощью результирующего массива:

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

Это должно сработать, если это то, что вы имеете в виду. Если вы хотите получить доступ к значению orderStatus в первом цикле, вы можете ссылаться на него как $row['orderStatus']. Или, если вы сделаете SELECT * в своем запросе и хотите просмотреть все значения из запроса, вы можете просто сделать еще один цикл, например foreach ($row as $column => value) { ... }

0

Вы хотите просто распечатать значения, а не пары ассоциированных ключей/значений ?

Изменение

$result_array[] = $row; 

в

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

должен сделать трюк.

+0

Как подсчитать общие значения в массиве? Все массив показывает мне это первая позиция в массиве как: Array ( [0] => 0 ) Массив ( [0] => 0 ) Массив ( [0] => 0 ) массив ( [0] => 1 ) массив ( [0] => 1 ) –

+0

Вы можете использовать счетчик(), чтобы получить количество элементов в массиве. Это не суммирует значения для вас. –

Смежные вопросы