Я пытался сделать что-то подобное:
$cat1 = array('hello', 'everyone'); $cat = array('bye', 'everyone'); for($index = 0; $index < 2; $index++) { echo $cat$index[1]; }
Это не работает, конечно. Что мне нужно изменить здесь?
Если вы настаиваете делать это таким образом ...
echo ${'cat' . $index}[1];
Вы должны использовать вложенные массивы, но это можно сделать.
$cat1 = array('hello', 'everyone'); $cat2 = array('bye', 'everyone'); for($i = 1; $i <= 2; $i++) { echo ${'cat' . $i}[1]; }
Ссылка: http://php.net/language.variables.variable
Хотя это было бы намного лучше:
$cats = array( array('hello', 'everyone'), array('bye', 'everyone') ); foreach ($cats as $cat) { echo $cat[1]; }
Это то, что вы хотели?
$cat0 = array('hello', 'everyone'); $cat1 = array('bye', 'everyone'); for($index = 0; $index < 2; $index++) { $varname = 'cat'.$index; echo $varname[0].' '.$varname[1]; }
Вы не можете ссылаться на $ index таким образом, это не массив.
echo $cat[$index];
- это то, что вы хотите сделать.
Чтобы отобразить элементы внутри массивов, вам нужно использовать
echo $cat[$index]
с вашим примером.
Я не уверен, что такое $index[1]должен делать?Может быть, я неправильно понял ваш вопрос.
$index[1]