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

0

Его первый раз, когда я работаю с 3-мерным массивом, может быть, это просто синтаксический erorr, которого я не могу найти, но я думаю, что это что-то еще, поэтому я прошу вас. Это мой PHP-массив, который я хочу зацикливать. На данный момент для тестирования он имеет только один элемент с самым высоким индексом:

<?
$packages = array(
    "package1" => array (
        "EUW" => array (
            "id" => 1,
            "imgsrc" => "images/packages/background01.jpg",
            "title" => "blabla",
            "desc" => "blabla",
            "level" => 15,
            "rp" => 16975,
            "ip" => 40000,
            "price" => 35,
            "soldout" => true
        ),
        "EUNE" => array (   
            "id" => 1,
            "imgsrc" => "images/packages/background01.jpg",
            "title" => "blabla",
            "desc" => "blabla",
            "level" => 15,
            "rp" => 16975,
            "ip" => 40000,
            "price" => 35,
            "soldout" => true
        ),
        "NA" => array ( 
            "id" => 1,
            "imgsrc" => "images/packages/background01.jpg",
            "title" => "blabla",
            "desc" => "blabla",
            "level" => 15,
            "rp" => 16975,
            "ip" => 40000,
            "price" => 35,
            "soldout" => true
        ),
        "BR" => array ( 
            "id" => 1,
            "imgsrc" => "images/packages/background01.jpg",
            "title" => "blabla",
            "desc" => "blabla",
            "level" => 15,
            "rp" => 16975,
            "ip" => 40000,
            "price" => 35,
            "soldout" => true
        ),
        "LAN" => array (    
            "id" => 1,
            "imgsrc" => "images/packages/background01.jpg",
            "title" => "blabla",
            "desc" => "blabla",
            "level" => 15,
            "rp" => 16975,
            "ip" => 40000,
            "price" => 35,
            "soldout" => true
        )
    )
);
?>

Как я пытаюсь проверить количество моих пакетов (что должно быть одно?):

require_once("inc/packages.php");
if(isset($packages)) echo "ok";
else echo "not ok";

Это выводит меня: "Нехорошо".

  • 0
    Этот код производит один ok . Какой результат вы ожидаете?
  • 0
    Этот код будет производить некоторый вывод. Если вы получаете даже не ok , это говорит о том, что в вашем коде есть предыдущая фатальная ошибка, о которой не сообщается. В вашем php.ini убедитесь, что error_reporting имеет значение E_ALL и display_errors = On . Вы можете установить error_reporting(E_ALL); ini_set('display_errors', 1); в коде сверху, но они не будут ловить ошибки разбора.
Теги:
arrays

1 ответ

0

Я бы, вероятно, использовал foreach:

foreach($packages as $package) {
   var_dump($package);
}
  • 0
    Сделал это только для целей тестирования, даже если это ничего не должно изменить. Но теперь я получаю эту ошибку : Invalid argument supplied for foreach() in
  • 3
    Если вы получите invalid argument supplied for foreach() , тогда ваша переменная $packages не должна быть такой, как вы ее разместили выше. Где-то это могло быть перезаписано
Показать ещё 4 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню