PHP:将字符串作为变量执行


PHP: Execute string as a varible

我试图将字符串作为变量($account_pk)回显,但它只是输出" $api_key1"而不是变量的输出,当$key_num等于1时,$api_key1中的1设置。

部分代码:

$key_num = $_POST['keynum'];
$account_pk = '$api_key' . $key_num;
echo $account_pk;

更新:没有一个名为$api_key变量,我需要$account_pk将字符串$api_key与变量组合在一起,$key_num然后找到一种方法来回显真正的变量$api_key1

我相信OP想要的是

$name = "api_key" . $key_num;
echo $$name;

只使用双引号而不是单引号:

$account_pk = "$api_key" . $key_num;

或者就像@Devon写的那样,根本没有引号。引号仅在将静态字符串与变量混合时才有意义,如下所示:

$text = "Hey $name, how are you?";

即使在这种情况下,我也更喜欢这样写

$text = "Hey ".$name." how are you?";

因为对我来说,它更具可读性。