PHP получить имя переменной из другой переменной - PullRequest
2 голосов
/ 23 июля 2010

посмотрите на этот простой скрипт, пожалуйста

$c1 = $_GET[c1];
$c2 = $_GET[c2];
$c3 = $_GET[c3];
$c4 = $_GET[c4];
$c5 = $_GET[c5];
for($i = 1;$i <=5;$i++)
{
    echo $c{$i};//or something else here :/
}

как мне распечатать значения переменных?

Спасибо

Ответы [ 6 ]

4 голосов
/ 23 июля 2010

Вы можете увидеть на php.net несколько хороших примеров на странице переменных.Прочтите это и посмотрите на примеры.

Кроме того, ниже приведен исправленный код, который может работать:

<?php

$c1 = $_GET[c1];
$c2 = $_GET[c2];
$c3 = $_GET[c3];
$c4 = $_GET[c4];
$c5 = $_GET[c5];
for($i = 1;$i <=5;$i++)
{
    echo ${"c".$i};
}
3 голосов
/ 23 июля 2010

Если эти значения тесно связаны, рассмотрите возможность изменения их атрибута имени в HTML / форме.

HTML:

<form>
    <input type="text" name="c[]" />
    <input type="text" name="c[]" />
    ...
</form>

PHP:

<?php

    if(!empty($_GET['c'])) {
        foreach($_GET['c'] as $c) {
            echo $c;
        }
    }

?>
3 голосов
/ 23 июля 2010

Вы должны использовать массив, а не отдельные переменные.

Для справки:

http://php.net/manual/en/language.types.array.php

1 голос
/ 23 июля 2010

Вот лучший способ сделать это, используя массивы, а не отдельные переменные, что работает проще и эффективнее.

<?php
$array['c1'] = $_GET['c1'];
$array['c2'] = $_GET['c2'];
$array['c3'] = $_GET['c3'];
$array['c4'] = $_GET['c4'];
$array['c5'] = $_GET['c5'];
for ($i=1; $i>=5; $i++) {
    echo $array['c' . $i];
}
?>
0 голосов
/ 23 июля 2010

Это должно работать ..

 foreach($_GET as $id => $value){
      echo $value;
 }

, хотя это печатает каждый $ _GET.

0 голосов
/ 23 июля 2010

Возможно Переменные PHP * - это то, что вы ищете.

$i = "c1";
print $$i;

Я оставлю вам решать, как построить правильные значения для 'i'.

...