在PHP中使用变量

在PHP中使用变量,php,variables,Php,Variables,我正在学习如何在PHP中使用$$,但我一直在尝试修复这段代码 <?php $now_test = 0; print_r($now_test); $item = 'test'; $now2 = ('$now_'.$item); echo $now2; print_r($$now2); ?> 第一个print\r向我显示一个0,一个期望值。 后来,我合并了'$now'和$item,并使用echo进行了测试,因此我可以看到$now2='

我正在学习如何在PHP中使用$$,但我一直在尝试修复这段代码

<?php
    $now_test = 0;
    print_r($now_test);
    $item = 'test';
    $now2 = ('$now_'.$item);
    echo $now2;
    print_r($$now2);
?>

第一个
print\r
向我显示一个
0
,一个期望值。 后来,我合并了
'$now'
$item
,并使用echo进行了测试,因此我可以看到
$now2='$now\u测试'
。 但是最后一句话,
print\r($$now2)
不起作用,为什么?我真的不明白

非常感谢

问题是,

  • 不要使用偏执
  • 使用
    'now'.$item
    代替
    '.$now'.$item
  • 您可以使用以下命令:

    <?php
        $now_test = 0;
        print_r($now_test);
        $item = 'test';
        $now2 = 'now_'.$item;
        echo $now2;
        print_r($$now2);
    ?>
    
    
    
    我知道这是可行的:

    <?php
    $now_test = 0;
    print_r($now_test);
    $item = 'test';
    $now2 = ('now_'."$item"); //NO $ in string
    echo $now2;
    print_r(${$now2}); //added braces around $now2
    ?>
    
    
    
    您缺少了花括号,还需要将$,
    更改已被注释

    使用
    $now2='now.'$item而不是
    $now2=('$now.'$item)耶!它起作用了!:非常感谢!请不要在php中使用变量。他们很可怕,为什么他们很可怕?旁白:那为什么人们不看好我?这只是一个简单的PHP问题…@TakuyaMK:这个问题的答案是你首先可以通过阅读手册找到的。我想这就是为什么人们否决了你的问题。变量变量确实很糟糕,因为它们使您的命名空间中充斥着变量,使代码难以调试,同时也使代码更容易出错。如果在您的示例中,
    $item
    后来被重新分配到
    'foo'
    print\r($$now2)
    将创建一个名为
    now\u foo
    的新变量,并且不再像预期的那样工作。它也可以工作,谢谢!(我不能投票给两个答案:()