PHP 将"$"字符转换为变量 登录新变量



我是php的新手,结果是我试图将字符"$"视为由字符串组合定义的变量的变量指示符。

我正在尝试生成一个动态变量,该变量将集成一个 url 传递的变量并集成到一个新变量中。 在下面的示例中,url 传递的变量 ($url_var) 将是数字(1、2、3 等)。 这个变量在 php 中定义为 $_REQUEST。 然后我想将此变量与字符串组合在一起,以定义一个新变量 ($title),该变量是动态的,并且取决于 $url_var 的值。 有多个与$url_var直接相关的"标题"(例如,$pub 1_title,$pub 2_title)。 也就是说,当 $url_var = 1 时,$pub 1_title 将是相关的,依此类推。所以我可以简单地为每种情况定义$title(例如,当 $url_var =1 时,$title=$pub 1_title),但我希望有一个动态代码行。 为此,我需要将字符"$"解释为变量指示符。 很简单,我该怎么做? 而且,有没有更有效的方法可以做到这一点?

<? 
// Define Pub Variables
$url_var = $_REQUEST['url_var'];
$pub1_title = "pub1_title";
$pub2_title = "pub2_title";
// Make Title Variable
$title = "$" . "pub" . $url_var . "_title";  // Does not work (returns "$pub1_title")
//$title = $pub1_title;                      // This works, but is static.
echo $title;
?>

你问的是变量。

而且可以做你想做的事情,你的语法有点偏离。

$title = ${"pub" . $url_var . "_title"};

老实说,我真的不建议使用它们。我通常发现它们比有用更令人困惑,并且更喜欢使用数组。例如:

//array instead of separate variables
$pub_titles = [
1 => "pub1_title",
2 => "pub2_title"
];
// Refer to the array key here instead of using a dynamic variable
$title = $pub_titles[$url_var];
echo $title;

最新更新