PHP отображает многомерный массив - PullRequest
1 голос
/ 18 октября 2011

У меня есть этот массив, похожий на этот:

$suppliers = array(
  'Utility Warehouse' => array('Gas' => array(0,0), 'Electricty' => array(0,0)),
  'British Gas' => array('Gas' => array(93,124), 'Electricty' => array(93,124)),
  'Eon' => array('Gas' => array(93,124), 'Electricty' => array(93,124))
);

Как отображать информацию следующим образом

Utility Warehouse
Gas: 0-0 Electricity 0-0

British Gas
Gas: 93-134 Electricity: 93-134

Eon
Gas: 93-124 Electricity: 93-134

Вы можете видеть, как отображаемые данные соответствуют данным в массиве. Я пробовал это:

foreach($suppliers as $a){
    echo $a[0];
}

Но это ничего не делает. Confused!

ОБНОВЛЕНИЕ Нужно сказать спасибо, ребята, и я прошу прощения за отсутствие знаний. Я никогда не использовал вложенные массивы прежде, и я действительно искал решение, прежде чем отправлять сюда.

Ответы [ 4 ]

5 голосов
/ 18 октября 2011
<?php 

foreach($suppliers as $supplier => $category) {
    echo $supplier . '<br />';
    foreach($category as $cat_name => $values_arr) {
        echo $cat_name . ': ' . implode('-', $values_arr) . '<br /><br />';
    }
}

?>
1 голос
/ 18 октября 2011

Тот же ответ, что и у всех (я слишком медленный). Вот рабочий пример: http://codepad.org/PDPEjAGJ

Кроме того, каждый, кто ответил на этот вопрос, включая меня, виновен в кормлении с ложечки. Ах, хорошо, что я сделаю для очков! : Р

1 голос
/ 18 октября 2011

Код для достижения того, что вы хотите, будет следовать, но я предлагаю вам немного освежить свои навыки PHP, поскольку это тривиальная задача.

foreach($suppliers as $name => $data){
    echo $name . '<br/>';
    foreach($data as $utility => $value){
        echo $utility . ': ' . $value[0] . '-' . $value[1] . ' ';
    }
    echo '<br/><br/>';
}
1 голос
/ 18 октября 2011

Вы можете попробовать:

foreach($suppliers as $name => $value) {
    echo $name . "<br />";
    foreach($value as $a => $price) {
        echo $a .': '. $price[0].'-'.$price[1];
    }
    echo "<br /><br />";
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...