2012-04-14 19 views
12

questo è il mio array in php $ alberghiphp array multidimensionale ottenere valori

Array 
(
    [0] => Array 
     (
     [hotel_name] => Name 
     [info] => info 
     [rooms] => Array 
      (
       [0] => Array 
        (
         [room_name] => name 
         [beds] => 2 
         [boards] => Array 
          (
           [board_id] => 1 
           [price] =>200.00 
          ) 
        ) 
       ) 
     ) 
) 

come posso ottenere board_id e prezzo Ho provato qualche loop foreach ma posso ottenere il risultato

foreach($hotels as $row) 
    { 
     foreach($row as $k) 
     { 
      foreach($k as $l){ 
      echo $l['board_id']; 
      echo $l['price']; 
      } 
     } 
} 

questo lavoro di codice non ha ancora

risposta

24

Questo è il modo per iterare su questo array:

foreach($hotels as $row) { 
     foreach($row['rooms'] as $k) { 
      echo $k['boards']['board_id']; 
      echo $k['boards']['price']; 
     } 
} 

Si vuole iterare sugli alberghi e le camere (quelle con indici numerici), perché quelli sembrano essere le "collezioni" in questo caso. Gli altri array mantengono solo e le proprietà del gruppo.

+0

Questo è il caso di iterazione. Ma sarebbe bello se si potesse dire una scorciatoia per ottenere solo l'array $ k ['boards']. O direi, ho bisogno di ottenere le schede con board_id = 1. – Jithin

+0

@Jithin Se hai bisogno di quella con 'board_id = 1', puoi farlo, basta sfogliare il manuale PHP, la sezione [Array Functions] (http : //php.net/manual/en/ref.array.php), troverai utili strumenti lì se hai bisogno di qualcosa di più bello di 'foreach'. – kapa

9

è lo stesso, ma con nomi più significativi di variabili:

foreach($hotels as $hotel) 
{ 
     foreach($hotel['rooms'] as $room) 
     { 
      echo $room['boards']['board_id']; 
      echo $room['boards']['price']; 
     } 
} 
+4

Si sta copiando la risposta già accettata –

+5

Ma con nomi più significativi di variabili. – Julian

+4

Questi sono nomi di variabili più significativi, ma questo da solo non richiede una risposta completamente separata. La risposta accettata usa i nomi delle variabili che fa perché è quello che OP ha usato. – mattbryanswan

Problemi correlati