2016-01-22 102 views
0

這對其他頁面的計算器有很多答案,like this question但是它們都不適用於我。
我有這一小段代碼爲:

echo $optionss='$'."q_option".$de; 


在上面的代碼中,我有幾個變量由"q_option0""q_option1""q_option2"名稱...高達"q_option4"$de是一個變量,保存從0到4的計數。

現在我想要打印$optionss= $q_option0(這是在一個for循環中獲得最後一個數字增加到4),但我無法這樣做!
請告訴我我做錯了什麼!

+1

你能告訴你期望與回波語句的輸出。它是一個包含「$ q_option0」的字符串還是它是一個名爲'$ q_option0'的變量的內容 – mseifert

回答

0

我想你dint處理數組$ de。你可以使用foreach或for循環。試試這個。

<?php 
$de=array(1,2,3,4); 
foreach($de as $val){ 
echo $optionss='$'."q_option".$val."<br>"; 
} 
?> 

,或者使用單引號給出

<?php 
$de=array(1,2,3,4); 
foreach($de as $val){ 
echo $optionss='$q_option'.$val."<br>"; 
} 
?> 

或試試這個

<?php 
$dollar="$"; 
$de=array(1,2,3,4); 
foreach($de as $val){ 
echo $optionss=$dollar.'q_option'.$val."<br>"; 
} 
?> 

輸出

$q_option1 
$q_option2 
$q_option3 
$q_option4 
+0

我之前處理過這個數組,而且我也試過了你的代碼,但它仍然不工作!我得到的輸出爲:q_option1,q_option2,q_option3,q_option4。 –

+0

@depankurrawat:運行我的代碼並說輸出 –

+0

我已經做了,這是輸出:q_option1,q_option2,q_option3,q_option4。 –

0

使用單引號來打印特殊字符

'$ q_option'。$ de;

此外,如果您不想將其值打印出來,您已經忘記將$ optionss放在單引號內。

echo '$optionss= $q_option'.$de; // print the whole expression 

但是,如果你這樣做..

​​

下面是解決不同的問題,因爲我誤會了吧:

我認爲它動態地創建變量名和讀取它們的值

您可以創建一個臨時變量,將該值作爲要訪問的變量的名稱,然後使用double $$訪問變量內部的值變量。合理?

$tmp = "q_option".$de; 
echo $optionss=$$tmp; 
+0

那麼恕我直言,這是我認爲不應該工作,因爲我們不能將$$與變量名稱關聯。我從代碼中得到的輸出是:Array –

+0

將optionss =放在單引號內,其他方式顯示您的打印值,如果沒有賦值,則不顯示任何值。 echo'$ optionss = $ q_option'。$ de; – blokeish

0

如果 「q_option0」, 「q_option1」, 「q_option2」 等都是變量,那麼你引用這些varaibles的值與$$。這將輸出「abc」。請注意,在此代碼中變量$optionss正在被賦值變量$q_option0,同時它的值正在被回顯。

$de = 0; 
$q_option0 = "abc"; 

$var = "q_option".$de; 
echo $optionss = $$var; 
0

刪除doller符號'$'並使用double $$來訪問變量的值。

假設$q_option0 = "400"; 試試這個:

<?php 
$q_option0 = "400"; 
$de = 0; 

$optionss="q_option".$de; 
echo "Your Output: " . $$optionss; 

輸出:

Your Output: 400