Как создать динамическую инкрементную переменную используя цикл for в php? - PullRequest
2 голосов
/ 28 апреля 2010

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

Ответы [ 3 ]

19 голосов
/ 28 апреля 2010

Используйте parse_str() или ${'track_' . $i} = 'val';.

3 голосов
/ 28 апреля 2010
<?
for($i = 0; $i < 10; $i++) {
  $name = "track_$i";
  $$name = 'hello';
}

print("==" . $track_3);
0 голосов
/ 30 марта 2011
<?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 />';
}

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