создать новые переменные с циклом for - PullRequest
1 голос
/ 15 декабря 2011

Привет, у меня есть список значений с именем:

  • $ value1
  • $ значение2
  • $ value3
  • ...

и я хотел бы присвоить каждое значение элементу массива; что-то вроде:

$my_array[1]=$value1;
$my_array[2]=$value2;
$my_array[3]=$value3;

Как я могу сделать это, используя цикл for? Массив не является проблемой, но я не могу понять, как написать некоторый код для значения, он должен выглядеть примерно так:

for($i=1; $i<=10000; $i++)
{
    $my_array[$i]=$value$i;
}

Ответы [ 5 ]

0 голосов
/ 15 декабря 2011

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

for($i = 1; $i <= 10000; $i++) {
    $name = 'value' . $i;
    $my_array[$i] = $$name;
}
0 голосов
/ 15 декабря 2011
for ($i = 1; isset(${"value$i"}); $i++) {
  $my_array[$i] = ${"value$i"};
}

Этот синтаксис известен как переменные .

0 голосов
/ 15 декабря 2011

Вы почти у цели:

for($i=1; $i<=10000; $i++)
{
    $my_array[$i] = $value;
}

Или это, если вы также хотите добавить счетчик:

for($i=1; $i<=10000; $i++)
{
    $my_array[$i] = $value . $i;
}
0 голосов
/ 15 декабря 2011

То, что вы ищете, это {}.

$my_array[$i]=${'value'.$i};
0 голосов
/ 15 декабря 2011

Попробуйте это:

for ($i=1; $i<=10000; $i++) {
    $val_name = "value" . $i;
    $my_array[$i]=$$val_name;
}
...