PHP:将字符串作为变量执行
我试图将字符串作为变量(PHP:将字符串作为变量执行,php,string,Php,String,我试图将字符串作为变量($account\u pk)回显,但它只是输出“$api\u key1”而不是变量的输出,$api\u key1中的1在$key\u num等于1时设置 守则的一部分: $key_num = $_POST['keynum']; $account_pk = '$api_key' . $key_num; echo $account_pk; 更新: 没有名为$api\u key的变量,我需要$account\u pk将字符串$api\u key与变量$key\u num组合,
$account\u pk
)回显,但它只是输出“$api\u key1
”而不是变量的输出,$api\u key1
中的1
在$key\u num
等于1时设置
守则的一部分:
$key_num = $_POST['keynum'];
$account_pk = '$api_key' . $key_num;
echo $account_pk;
更新:
没有名为
$api\u key
的变量,我需要$account\u pk
将字符串$api\u key
与变量$key\u num
组合,然后找到一种方法来回显实际变量$api\u key1只需使用双引号而不是单引号:
$account_pk = "$api_key" . $key_num;
或者像@Devon写的,根本没有引用。只有将静态字符串与变量混合使用时,引号才有意义,如下所示:
$text = "Hey $name, how are you?";
即使在这种情况下,我还是喜欢这样写
$text = "Hey ".$name." how are you?";
因为对我来说,它更具可读性。我相信OP想要的是什么
$name = "api_key" . $key_num;
echo $$name;
或者根本没有引用。在这种情况下似乎没有必要。嘿,你完全正确。我希望变量变成$api_key1并回显变量的值。我试过你的建议,它只是输出数字。没有名为“$api\U key”的变量,但有名为“$api\U key1”的变量。你不能将变量名连接为字符串变量。在你的情况下,使用阵列坦克!太多了!:)好的,这就是php的阴暗面;)