无法在php中打印$

问题描述:

这对其他页面的计算器有很多答案,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

我想你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。 –

使用单引号来打印特殊字符

'$ 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

如果 “q_option0”, “q_option1”, “q_option2” 等都是变量,那么你引用这些varaibles的值与$$。这将输出“abc”。请注意,在此代码中变量$optionss正在被赋值变量$q_option0,同时它的值正在被回显。

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

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

删除doller符号'$'并使用double $$来访问变量的值。

假设$q_option0 = "400"; 试试这个:

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

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

输出:

Your Output: 400