无法在PHP中打印$

时间:2016-01-22 03:58:23

标签: php echo

这在stackoverflow的其他页面上有很多答案,like this question但是它们似乎都不适用于我。
我把这一小段代码作为:

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


在上面的代码中,我有一些变量,名称为"q_option0""q_option1""q_option2" ......最多为"q_option4"$de是一个保持0-4计数的变量
现在我要打印$optionss= $q_option0(这是for循环以获得最后一个数字的增量到4),但我无法这样做!
请告诉我我做错了什么!!

4 个答案:

答案 0 :(得分:0)

我认为你用dint处理数组$ de。你可以使用foreach或for循环。试试这个。

<?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

输出

with open('myfile.json', 'r') as myfile:    
    json_data = json.load(t)
    for e, v in json_data.items():
        print e, " ".join(v[0]), v[1]

答案 1 :(得分:0)

使用单引号打印特殊字符

'$ q_option' $日;

如果您不希望将其值打印出来,您也忘记将$ optionss放在单引号内。

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

但如果你这样做..

echo $optionss='$'."q_option".$val."<br>"; // assign right hand side of the expression to the variable '$optionss' and print that out
    // so you will only get output $q_option0, $q_option1... instead of $optionss=$q_option0, $optionss=$q_option1....

以下是我误解的另一个问题的解决方案:

我假设它动态创建变量名并读取它们的值

您可以创建一个临时变量,其值为您要访问的变量的名称,然后使用double $$访问变量内部变量的值。有意义吗?

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

答案 2 :(得分:0)

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

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

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

答案 3 :(得分:0)

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

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

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

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

输出:

Your Output: 400