"Большое многократное переменное эхо" способ сделать проще? - PullRequest
1 голос
/ 30 марта 2009

Скажите, что я повторяю большое количество переменных в PHP, и я не хочу упростить это, как мне это сделать? В настоящее время мой код выглядит следующим образом, но выписать все имена переменных очень утомительно.

echo $variable1;
echo $variable2;
echo $variable3;
echo $variable4;
echo $variable5;

Вы заметите, что имя переменной совпадает, за исключением возрастающего числа в конце. Как бы я написал скрипт, который печатает echo $variable; так много раз и добавляет увеличивающийся номер в конце, чтобы избавить меня от записи нескольких имен переменных и просто вставить один скрипт несколько раз .?

Спасибо, Станни

Ответы [ 3 ]

7 голосов
/ 30 марта 2009

Вы можете использовать Переменные :

for($x = 1; $x <= 5; $x++) {
    print ${"variable".$x};
}

Однако, чем бы вы ни занимались, почти наверняка есть лучший способ: возможно, использовать массивы.

3 голосов
/ 30 марта 2009

Я второй Паоло Бергантино. Если вы можете использовать массив, который был бы лучше. Если вы не знаете, как это сделать, то вы идете:

Вместо создания переменных вроде:

$var1='foo';
$var2='bar'; 
$var3='awesome';

... и т. Д. ... вы можете создать одну переменную, называемую массивом, например:

$my_array = array('foo','bar','awesome');

Точно так же вы знаете, что в массиве первый элемент - это 0-й элемент (а не 1-й). Итак, чтобы отобразить 'foo' и 'bar', вы можете сделать:

echo $my_array[0]; // echoes 'foo'
echo $my_array[1]; // echoes 'bar'

Но реальное преимущество помещения значения в массив вместо набора переменных состоит в том, что вы можете циклически перемещаться по массиву следующим образом:

foreach($my_array as $item) {
    echo $item;
}

И это все. Таким образом, независимо от того, сколько элементов у вас в массиве, для их распечатки потребуется всего три строки. Удачи вам в изучении PHP!

2 голосов
/ 30 марта 2009

Использовать имена динамических переменных:

for($i=1; $i < 6; $i++) echo ${'variable'.$i}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...