2010-07-23 43 views
2

看变量名请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};//or something else here :/ 
} 

如何打印变量值塔?

感谢

+2

如果您正在定义变量,请改用数组。有人可以解释为什么这么多人建议替代普通老式阵列吗? – 2010-07-23 12:34:14

+0

可能重复的[我可以在PHP中使用生成的变量名?](http://stackoverflow.com/questions/130240/can-i-use-a-generated-variable-name-in-php) – outis 2010-10-01 04:04:58

回答

4

你可以在变量页面看到on 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}; 
} 
+2

这不是一件好事,建议这个人去做。这是阵列是最合适的答案;为什么告诉他使用变量? – Hammerite 2010-07-23 12:38:35

+1

他想要变量变量(可能是因为在'$ c1'中,'$ c2'等检查$ _GET的内容,如果他要求其他解决方案,我会提出其他解决方案,但在我看来这个问题是关于**变量变量** – 2010-07-23 12:40:42

+0

这个答案更正确,但是推荐数组更好,在这种情况下,我认为最好的答案是你和@Kieren Johnstone的合并:他们提供了解决问题的手段,但是也有一点说,这实在不是好的做法。无论如何,+1对你们都是xP – Matchu 2010-07-23 12:53:23

0

也许PHP variable variables是你在找什么。

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

我会告诉你如何为'i'构造正确的值。

+0

可以我问为什么这是downvoted? – Gian 2010-07-23 18:43:16

-2

这应该工作..

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

即使这种打印出每$ _GET。

3

如果这些值密切相关,请考虑在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; 
     } 
    } 

?> 
1

这里做,使用数组,而不是单个变量,其工作更容易,更有效的更好的方法。

<?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]; 
} 
?>