Я думаю, что это может быть простой проблемой для некоторых из вас. Я обнаружил похожие вопросы, но они точно не решают мою проблему.Переменные переменные PHP и индекс массива
У меня есть два массива.
$ array_numerals
Array
(
[2] => two
[3] => three
[4] => four
[5] => five
[6] => six
[7] => seven
)
$ array_two
Array
(
[0] => $100
[1] => $200
[2] => $300
)
Если я использую
echo $array_two[0];
он показывает выход правильно, что $100
, как и ожидалось.
что я хочу сделать, это сделать «два» и «[0]» динамические. «два» могут быть заменены на «три» или «четыре», а «[0]» можно заменить на «[1]» или «[2]».
Так что, если я использую
$i = 2;
$j = 0;
echo $array_{$array_numerals[$i]}[$j];
он не работает и показывает пустое значение.
Редактировать: Спасибо всем за комментарии и ответы. Я должен добавить, что $ array_two, $ array_three и т. Д. Являются фиксированными переменными, заданными другим источником, поэтому я не могу контролировать начальную конструкцию этих массивов. Следовательно, ответы некоторых из вас не будут работать из коробки (не ваша вина, конечно, возможно, я не уточнил достаточно в начале). Ответы, данные Амаданом и Лувн-Джезусом, работают лучше всего.
можете ли вы добавить ожидаемый ответ на ваш вопрос? –
То, что вы пытаетесь сделать, невозможно, как вы это делаете. Вместо этого вам нужно использовать массив с зазубринами, который представляет собой массив массивов. –
@ amit-shah ожидаемый выход для второго кодового блока должен быть таким же, как и первый кодовый блок, который равен «100 долларов». – zzzplayer