2010-07-23 40 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]; 
} 
?>