6

I have an array and i did a print_r of it and it returned this...

Array ( [0] => Array ( [invoiceid] => 2 [client] => Test 1 [invoicedeliverymethod] => email [paymenttimeallotment] => 15 [clientid] => 1 [date] => 2012-04-12 [enddate] => 2012-04-02 00:00:00 [total] => 250.86 [remainingbalance] => 250.86 [ispaid] => No [isagentpaid] => No [datedistributed] => Not distributed [invoicedcontact] => 1 ) [1] => Array ( [invoiceid] => 1 [client] => Test 1 [invoicedeliverymethod] => email [paymenttimeallotment] => 15 [clientid] => 1 [date] => 2012-04-12 [enddate] => 2012-03-31 23:59:59 [total] => 602.29 [remainingbalance] => 602.29 [ispaid] => No [isagentpaid] => No [datedistributed] => 2012-04-12 [invoicedcontact] => 1 ) )

I tried to run this code...

 foreach($resultArray as $row => $value){
    echo $value . "<br/>";
}

and that returned Array Array.

How do I get the values inside of these arrays?

user979331
  • 11,039
  • 73
  • 223
  • 418

2 Answers2

40

You need to iterate the elements from the inside array, like this:

foreach($resultArray as $row => $innerArray){
  foreach($innerArray as $innerRow => $value){
    echo $value . "<br/>";
  }
}
Alex Siri
  • 2,856
  • 1
  • 19
  • 24
  • I can't access the keys of nested array. I don't understand, why do I need two foreach loops. Why just not foreach: foreach($arr as $val) { print($val['key']; } – Jaakko Karhu Mar 31 '15 at 19:54
  • 1
    @JaakkoKarhu this is old but for somebody that's looking at this... you can do foreach ($arr as $key=>$val) { print($arr[$key]; } for the second level values without having to loop a second time. – Kitara Sep 29 '16 at 10:29
11
foreach($resultArray as $row => $value){
    foreach($value as $row2 => $value2)
        echo $value2 . "<br/>";
}
Jürgen Paul
  • 14,299
  • 26
  • 93
  • 133