2010-04-28 2 views
2

Как создать динамическую добавочную переменную, используя цикл for for php? как мудрый: $ track_1, $ track_2, $ track_3, $ track_4 ..... так далее ....Как создать динамическую добавочную переменную, используя цикл for for php?

+7

Я надеюсь, что вы не пытаетесь подражать массивы ;-) –

ответ

19

Использование parse_str() или ${'track_' . $i} = 'val';.

+0

Почему в downvote? –

+3

+1 для $ {...} вместо переменных. –

+3

$ {...} все еще переменная переменная. –

3
<? 
for($i = 0; $i < 10; $i++) { 
    $name = "track_$i"; 
    $$name = 'hello'; 
} 

print("==" . $track_3); 
0
<?php 

for ($i = 1; $i <= 3; $i++) { 
    ${"track_{$i}"} = 'this is track ' . $i; // use double quotes between braces 
} 

echo $track_1; 
echo '<br />'; 
echo $track_3; 

?> 


Это также работает для вложенного Варса:

<?php 

class Tracks { 
    public function __construct() { 
     $this->track_1 = 'this is friend 1'; 
     $this->track_2 = 'this is friend 2'; 
     $this->track_3 = 'this is friend 3'; 
    } 
} 

$tracks = new Tracks; 

for ($i = 1; $i <= 3; $i++) { 
    echo $tracks->{"track_{$i}"}; 
    echo '<br />'; 
} 

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