Переменные переменные в PHP: работа с массивами

tihon972009

Столкнулся с вещью, над которой раньше не задумывался.

<?php
$b = 'asdf';
$a = 'b';
echo ${$a};
?>

работает нормально.

<?php
$b[0] = 'asdf';
$a = "b[0]";
echo ${$a};
?>

Говорит Undefined variable: b[0] on line 4
Почему так и как все-таки использовать переменные переменные при работе с массивами.

stm7884696

$b[0] = 'asdf';
$a = "b";
print ${$a}[0];

Fimida

В чём вопрос?

kruzer25

Почему так и как все-таки использовать переменные переменные при работе с массивами.
1) Переменные переменные - зло, не используй их.
2) Как ты думаешь, как работает ${$xxx}? Если на пальцах - то это примерно то же самое, что и $GLOBALS[$xxx]. И нет ничего удивительного в таком результате - ты пытаешься взять переменную с именем b[0], в то время, как тебе надо взять переменную с именем b, у которой взять индекс 0.
Оставить комментарий
Имя или ник:
Комментарий: