Получение значения переменной при отображении ее имени внутри цикла for - PullRequest
1 голос
/ 26 августа 2011

Я учусь, и я застрял так долго с чем-то, что я считаю слишком простым, извините, если я прав. Пожалуйста, помогите мне развиваться, вот мой вопрос:

Я пришел из формы:

  $text1 = $_POST['TEXT1'];
  $text2 = $_POST['TEXT2'];
  $text3 = $_POST['TEXT3'];

Теперь я делаю:

 for ($n = 1; $n <= 3; $n++) {
 echo "Number " .$n. " is: " .$text.$n;
}

Это печать:

Номер 1: 1

Номер 2: 2

Номер 3: 3

Когда мне нужно:

Число 1: значение, содержащееся в $ text1

Число 2: значение, содержащееся в $ text2

Число 3: значение, содержащееся в $ text3

Как можно добиться того, что мне нужно?

Большое спасибо

Ответы [ 3 ]

1 голос
/ 26 августа 2011
for ($n = 1; $n <= 3; $n++) {
 $var = "text".$n;
 echo "Number " .$n. " is: " .$$var;
}

но было бы лучше, если бы вы сохранили данные POST в массиве

, вы можете сделать это так:

$text = array();
$text[] = $_POST["TEXT1"];
$text[] = $_POST["TEXT2"];
$text[] = $_POST["TEXT3"];

, тогда вы можете сделать это так:

for ($n = 1; $n <= count($text); $n++) {
 echo "Number " .$n. " is: " .$text[$n-1];
}
1 голос
/ 26 августа 2011

Используйте это:

for ($n = 1; $n <= 3; $n++) {
    echo "Number " .$n. " is: " . ${'text'.$n};
}
0 голосов
/ 26 августа 2011

Вы можете поместить свои значения в массив:

$texts = array($_POST['TEXT1'], $_POST['TEXT2'], $_POST['TEXT3']);

for ($n = 0; $n < count($texts); $n++) {
    echo "Number " . ($n+1) . " is: " . $texts[$n];
}
...