У меня есть массив
$arr = array(
0 => 100,
1 => 200
2 => array(
0 => 300,
1 => 400
)
)
и строка
$str = '[2][1]'
Почему не работает?
$arr{$str} // NULL
Мне надо получить 400
Оно должно работать или нет?
Если нет, то подскажите как правильно обратиться к элементу массива через переменную.
По прочтению http://us3.php.net/manual/ru/language.variables.variable.php.
Похоже, что так можно манипулировать название переменной. Индексы таким образом манипулировать нельзя.
Не понятно, зачем может понадобиться такая конструкция.
По сути вы пытаетесь создать eval
- функцию. У меня есть подозрение, что вашу задачу можно решить лучшим способом.
в laravel есть интересный метод array_get()
https://laravel.com/docs/5.5/helpers#method-array-get
в данном примере
array_get($arr, '2.1')
если заинтересует - можно сорс код посмотреть
Это не переменные переменные это мноомерный массив
$var = $str[2][1];
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
В функции, ответственной за сохранение, в логах не пишет, что файл загружен, хотя все остальные данные на местеВ чем может быть дело?
Долгое время писал парсеры на PHP в процедурном стилеРешил теперь все переписать на ООП стиль
Не могу понять почему отправляется только первых 5 вложенных файлов из 8Вот код: