Переменные PHP переменные - PullRequest
0 голосов
/ 13 февраля 2009

Привет, мой вопрос о переменных переменных PHP.

В основном я хочу сохранить оценки курсовых работ n курсовых работ в n переменных, таких как cw1 и cw2 и т. Д. Используя переменные переменные, как я могу прийти с cw1, cw2 и т. Д.

Ответы [ 6 ]

18 голосов
/ 13 февраля 2009

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

Массив в PHP на самом деле является упорядоченной картой. Карта - это тип, который связывает значения с ключами. Этот тип оптимизирован для нескольких различных применений; его можно рассматривать как массив, список (вектор), хеш-таблицу (реализацию карты), словарь, коллекцию, стек, очередь и, возможно, больше. Так как массив значения могут быть другими массив s, деревья и многомерный массив s также возможны ...

7 голосов
/ 13 февраля 2009

Вы действительно должны использовать массив, как Гамбо написал :

$cw = array();

for($i = 0; $i < $n; ++$i) {
    $cw[] = $something;
}

Однако решение вашей проблемы:

for($i = 0; $i < $n; ++$i) {
    $tmp = 'cw' . $i;
    $$tmp = $something;
}
2 голосов
/ 19 июля 2013
<?php

// Вы можете даже добавить больше знаков доллара

$Bar = "a";
$Foo = "Bar";
$World = "Foo";
$Hello = "World";
$a = "Hello";

$a; //Returns Hello
$$a; //Returns World
$$$a; //Returns Foo
$$$$a; //Returns Bar
$$$$$a; //Returns a

$$$$$$a; //Returns Hello
$$$$$$$a; //Returns World

// ... и так далее ... //

?>
2 голосов
/ 13 февраля 2009

Не совсем уверен, что я понимаю вопрос, но вы можете сделать что-то вроде этого:

$VarName = 'cw1';

$$Varname = 'Mark Value';

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

е

$a = array();
$a['cw2'] = cw2value;
// etc.
1 голос
/ 13 февраля 2009
php > for ($i=0; $i<5; $i++)
         { ${"thing{$i}"} = $i; }
php > echo $thing1;
1
php > echo $thing2;
2
php > echo $thing3;
3

Обратите внимание, что мы используем знак доллара вокруг фигурных скобок вокруг строки.

0 голосов
/ 13 февраля 2009

Переменные работают следующим образом

$var = "foo";
$$var = "bar";

echo $foo; // bar

Но я не рекомендую делать это, так как если значение $ var изменится, вы больше не сможете печатать третью строку в этом коде.

Если бы вы могли подробнее рассказать о том, что вы хотите сделать, я думаю, что мы могли бы помочь вам больше.

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