обработка массива с оператором foreach в php - PullRequest
0 голосов
/ 25 декабря 2011

Эй, ребята, у меня есть такой массив

print_r($grouparray);

Array
(
    [0] => Array
        (
            [0] => 1
            [1] => new group 1
            [2] => 100
            [3] => 1000
            [4] => group description
            [5] => #000000
        )

    [1] => Array
        (
            [0] => 2
            [1] => new group 2
            [2] => 1000
            [3] => 2000
            [4] => group description
            [5] => #ff0000
        )

)

Теперь мне разрешено писать оператор foreach, и я сделал это:

        foreach ((array)$grouparray AS $groups => $group) {
            echo $group[1]."<br>";
        }

и ожидаю, что выводбыть таким:

 new group 1
 new group 2

но вывод равен нулю.

Ответы [ 3 ]

3 голосов
/ 25 декабря 2011

Это работает для меня:

$grouparray [] = array (
    1, 'new group 1', description); 

$grouparray [] = array (
    2, 'new group 2', description); 


print_r($grouparray);

foreach ($grouparray as $groups=>$group) {
    echo $group[1]."\r\n";
}

Вывод:

Array
(
    [0] => Array
        (
            [0] => 1
            [1] => new group 1
            [2] => description
        )

    [1] => Array
        (
            [0] => 2
            [1] => new group 2
            [2] => description
        )

)
new group 1
new group 2

Я считаю, что "новая группа 1" не назначена вамилюбой объект.Проверь это!

2 голосов
/ 25 декабря 2011
foreach ($grouparray as $group) {
    echo $group[1] . "<br />";
}
1 голос
/ 25 декабря 2011

Есть некоторые вещи, которые нужно исправить в вашем коде:

  1. Вам не нужно преобразовывать tpye для вашего массива, это уже массив.для значений, а не ключей, вы можете опустить это.

Это дает нам следующий код:

foreach ($grouparray as $group) {
    echo $group[1] . "<br />";
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...