2011-06-02 3 views
2

У меня есть переменные типа $ srange0, $ srange1, $ srange2 $ srange3.проблема с объявлением переменной в php?

Я использую для объявления некоторого значения для каждого значения, используя для цикла.

for($i=0;$i<=3;$i++){ 
    $srange.$i = $i; 
} 

но его не работает?

есть ли альтернативное решение для этого

+2

То, что язык предоставляет функцию, является недействительным мотивом для его использования. –

ответ

6
for($i=0;$i<=3;$i++){ 
    $var = 'srange'.$i; 
    $$var = $i; 
} 

Но всякий раз, когда я вижу такие переменные, как это, я бы использовать массив вместо.

+4

Я не должен даже говорить об этом, но вы можете сделать '$ {'srange'. $ I} = $ i;'. – Matthew

+0

@konforce Спасибо за эту информацию. – alex

+0

@ konforce, но иногда динамические имена переменных очень полезны, если вы знаете, как правильно их использовать – galymzhan

2

Используйте массив:

$srange = array(); 
for ($i = 0; $i <= 3; ++$i) 
    $srange[$i] = $i; 

Для этой конкретной задачи, вы можете сделать это:

$srange = range(0, 3); 

Это также строит тот же массив, как мой первый фрагмент кода.

1

properway добавить эти динамические переменные будут так

for($i=0;$i<=3;$i++){ 
    $name = 'srange'.$i; 
    $$name = $i; 
} 
0

Должно быть полезно ц ....

$ srange0; $ srange1; $ srange2; for ($ i = 0; $ i < = 3; $ i ++) { $ range = "srange". $ I; $$ range = $ i; } echo $ srange2. "
"; выход;

Наслаждайтесь кодом

Смежные вопросы