ugrás a tartalomhoz

Kiírás hiba (bug?)

Szigyártó Mihály · 2014. Aug. 25. (H), 15.50
Sziasztok!

Adott az alábbi kódrészlet:
  1. if ($orders != null) {  
  2.             foreach ($orders as $order_by_group) {  
  3.                 foreach ($order_by_group as $id => $order) {  
  4.                     echo '<tr>';  
  5.   
  6.                     echo '<td>PLACE' . $order['place'] . print_r($order,true).'.</td>';  
  7.                     echo '<td>NAME' . $order['name'] . '</td>';  
  8.                     echo '<td>SCORE' . $order['score'] . '</td>';  
  9.   
  10.                     echo '</tr>';  
  11.                 }  
  12.             }  
  13.         }  
Mivel már nem tudtam mit kitalálni, kiírattam vele az ordert is, amit pedig kaptam az számomra teljesen érthetetlen. Ez a kimenet:

PLACEArray ( ['place'] => 1 ['name'] => Admin Bácsi ['score'] => 10 ) . NAME SCORE
PLACEArray ( ['place'] => 2 ['name'] => IMRE DR. VERES ['score'] => 10 ) . NAME SCORE
PLACEArray ( ['place'] => 3 ['name'] => P VADNAI ['score'] => 5 ) . NAME SCORE
PLACEArray ( ['place'] => 3 ['name'] => GERGELY SÁNDOR ['score'] => 5 ) . NAME SCORE


Valakinek van valami ötlete, hogy ez hogy a francba lehet? Mit nem veszek észre?
Előre is köszi:
Misi
 
1

Indexek

Endyl · 2014. Aug. 25. (H), 16.05
A tömböd indexei valamiért idézőjelezettek, mintha így adnád meg őket:
  1. <?php  
  2. $myArray = array(  
  3.     "'foo'" => 'bar',  
  4. );  
így kiírásnál így kéne előszedned a tartalmukat:
  1. <?php  
  2. echo $myArray["'foo'"];  
De leginkább nézd meg, hogy miért idézőjelezettek, és azt javítsd, hacsak nem direkt ez volt a szándékod.

Plusz érdemes megtanulni a print_r() kimenetének értelmezését, valamint fejlesztői gépen bekapcsolni a hibakijelzést/készíteni és figyelni a logokat, mert a php itt ordítana neked, hogy nem létező indexet próbálsz olvasni a tömbből.
2

Á, köszi

Szigyártó Mihály · 2014. Aug. 25. (H), 17.34
Nos, köszönöm szépen. Nem direkt kerültek oda, egy formban hagytam benne az idézőjeleket, így:
  1. Order[id][id2]['arg']  
, viszont most kb. húszszor átsiklottam az idézőjelek fölött.

A hibajelzésnél igazad van, tudatában vagyok, hogy notice-ként megjelenik. Sajnos sok extension, amit használok szintén ontja magából ezeket a hibákat, ezért is kapcsoltam ki, amíg nincs időm azt javítgatni.

A buggyanúm meg erősebb volt, mint a print_r kimenet félrenézésének gyanúja, de érzem a szégyent :).