JimmiJanger
@JimmiJanger
Любопытный активист, под маской ленивого нуба.

Почему не выдаёт значение ассоциативного массива?

php code ===========
$e1 = array(
"t1" => 112,
"t2" => 113);
$e2 = array(
"s1" => 227,
"s2" => 228);
$e = array(
"one" => $e1,
"two" => $e2);
echo ""
===================
* Выдаёт:
--e1
---t1: 112
---t2: 113
--e2
---s1: 227
---s2: 228
Далее, я бы хотел вывести один массив.
===========code php (дописываю)
$arrMy = $e["one"];
echo ""
===================
В консоле выводится:
< Uncaught SynError: Unexpected token )>
И php выдаёт ошибку ....
< illegal string offset 'one' in C:\test\test.php on line 17 >
  • Вопрос задан
  • 222 просмотра
Решения вопроса 1
@Quieteroks
php программист
Тот же самый код отработал идеально...
Если это лишь абстрактный пример, возможно в реальном коде у Вас имеется переопределение данного массива, например $e используется как итератор в цикле.

foreach ($arrMy as $e => $item) {}
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
HectorPrima
@HectorPrima
программист
Не понял вашего кода. У меня все работает:
$e1 = array(
	"t1" => 112,
	"t2" => 113);
$e2 = array(
	"s1" => 227,
	"s2" => 228);
$e = array(
	"one" => $e1,
	"two" => $e2);

$arrMy = $e["one"];

print_r($arrMy);

Результат:
Array
(
    [t1] => 112
    [t2] => 113
)
Ответ написан
Комментировать
webinar
@webinar Куратор тега PHP
Учим yii: https://youtu.be/-WRMlGHLgRg
Unexpected token

явно говорит об описке. Судя по всему скобка лишняя или не хватает. Поставьте редактор с подсветкой синтаксиса, он тупо подчеркнет где ошибка.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы