Доступ к переменной, используя счетчик как часть имени переменной - PullRequest
0 голосов
/ 01 декабря 2010

Я пытался сделать что-то подобное:

$cat1 = array('hello', 'everyone');
$cat = array('bye', 'everyone');

for($index = 0; $index < 2; $index++) {
echo $cat$index[1];
}

Это не работает, конечно. Что мне нужно изменить здесь?

Ответы [ 5 ]

1 голос
/ 01 декабря 2010

Если вы настаиваете делать это таким образом ...

echo ${'cat' . $index}[1];
1 голос
/ 01 декабря 2010

Вы должны использовать вложенные массивы, но это можно сделать.

$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];
}
1 голос
/ 01 декабря 2010

Это то, что вы хотели?

$cat0 = array('hello', 'everyone');
$cat1 = array('bye', 'everyone');

for($index = 0; $index < 2; $index++) {
    $varname = 'cat'.$index;
    echo $varname[0].' '.$varname[1];
}
0 голосов
/ 01 декабря 2010

Вы не можете ссылаться на $ index таким образом, это не массив.

echo $cat[$index];

- это то, что вы хотите сделать.

0 голосов
/ 01 декабря 2010

Чтобы отобразить элементы внутри массивов, вам нужно использовать

echo $cat[$index]

с вашим примером.

Я не уверен, что такое $index[1]должен делать?Может быть, я неправильно понял ваш вопрос.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...