2014-02-06 1 views
1

У меня есть длинный объект, хранящийся в массиве. Я пытаюсь показать специфические значения этого массива.Проблема, выполняющая print_r для массива и echo для значения массива в PHP

Проблема заключается в следующем:


foreach($reportVal["OrderEventDetail"] AS $OrderEventDetailK => $OrderEventDetailV){ 
    print_r($reportVal["OrderEventDetail"]); 
} 

Выход:

Array ( 
     [eventId] => 18345 
     [orderId] => 781 
    ) 


Array ( 
     [eventId] => 18345 
     [orderId] => 781 
     ) 

Все нормально на данный момент, но:


foreach($reportVal["OrderEventDetail"] AS $OrderEventDetailK => $OrderEventDetailV){ 
    $OrderEventDetailV["orderId"]; 
} 

Выход:

1 7 

Почему его так происходит? Если им печати [ "OrderId"], то значение будет 781 781.

Ожидаемый результат:

<span class="label label-success" style="background-color: #5cb85c;">Orden <?= $OrderEventDetailV["orderId"] ?></span> 

со значением:

<span class="label label-success" style="background-color: #5cb85c;">Orden 781</span> 
+1

Что вы ожидаете от только одного '$ OrderEventDetailV [ "OrderId"];' в цикле тело? –

+0

Я просто ** отредактировал ваш код **, чтобы добавить необходимый 'print_r', который должен содержать много комментариев и ответов. Можете ли вы подтвердить, разрешает ли это проблему? –

+0

@ DanNissenbaum, редакторы ** не должны ** изменять код OP (допускается только небольшое форматирование). Используйте комментарии или свой собственный ответ. – brasofilo

ответ

2

Вам нужно повторить $reportVal["OrderEventDetail"]["orderId"];

+0

Проверьте обновление. – nandophillips

0

Try этот

Array ( 
     [eventId] => "18345" 
     [orderId] => "781" 
    ) 


Array ( 
     [eventId] => "18345" 
     [orderId] => "781" 
     ) 

foreach($reportVal["OrderEventDetail"] AS $OrderEventDetailK => $OrderEventDetailV){ 
    $OrderEventDetailV["orderId"]; 
} 
2

Не хотите делать

print_r($OrderEventDetailV["orderId"]); 

в вашей петле?

+0

№ массива $ reportVal ["OrderEventDetail"], мне нужно значение в $ OrderEventDetailV ["orderId"]. – nandophillips

1

Попробуйте этот код

echo "<pre>"; 
foreach($reportVal["OrderEventDetail"] AS $OrderEventDetailK => $OrderEventDetailV) 
{ 
    print_r($OrderEventDetailV["orderId"]); 
} 
Смежные вопросы