Его первый раз, когда я работаю с 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";
Это выводит меня: "Нехорошо".
Я бы, вероятно, использовал foreach
:
foreach($packages as $package) {
var_dump($package);
}
: Invalid argument supplied for foreach() in
invalid argument supplied for foreach()
, тогда ваша переменная $packages
не должна быть такой, как вы ее разместили выше. Где-то это могло быть перезаписано
ok
. Какой результат вы ожидаете?ok
, это говорит о том, что в вашем коде есть предыдущая фатальная ошибка, о которой не сообщается. В вашем php.ini убедитесь, что error_reporting имеет значениеE_ALL
иdisplay_errors = On
. Вы можете установитьerror_reporting(E_ALL); ini_set('display_errors', 1);
в коде сверху, но они не будут ловить ошибки разбора.