Параметры PHP для извлечения данных из массива?

Учитывая этот двумерный массив, каждый элемент имеет два индекса – строку и столбец.

<?php $shop = array( array("rose", 1.25 , 15), array("daisy", 0.75 , 25), array("orchid", 1.15 , 7) ); ?> 

Являются ли эти мои только две возможности для извлечения данных из массива, используя индексы строк и столбцов?

 <?php echo "<h1>Manual access to each element</h1>"; echo $shop[0][0]." costs ".$shop[0][1]." and you get ".$shop[0][2]."<br />"; echo $shop[1][0]." costs ".$shop[1][1]." and you get ".$shop[1][2]."<br />"; echo $shop[2][0]." costs ".$shop[2][1]." and you get ".$shop[2][2]."<br />"; echo "<h1>Using loops to display array elements</h1>"; echo "<ol>"; for ($row = 0; $row < 3; $row++) { echo "<li><b>The row number $row</b>"; echo "<ul>"; for ($col = 0; $col < 3; $col++) { echo "<li>".$shop[$row][$col]."</li>"; } echo "</ul>"; echo "</li>"; } echo "</ol>"; ?> 

 foreach($shop as $items){ echo $items[0]." costs ".$items[1]." and you get ".$items[2]."<br />"; } 

foreach кажется более простым для меня, плюс он будет обрабатывать, если ваш ключ не является числовым, как

 array( 'foo' => array("rose", 1.25 , 15), 'bar' => array("daisy", 0.75 , 25), 'foobar' =>array("orchid", 1.15 , 7) ); 

лично я избегаю использования в PHP, потому что в большинстве случаев он менее гибкий, чем foreach .

Вы также можете использовать

foreach ($ shop as $ shoprow)