PHP: 从字符串中获取 SESSION 变量

PHP: get SESSION variable from string

我有这个 $res 变量,它从数据库查询中获取结果。结果包含字符串中会话变量的名称。该会话变量已设置且值为 5 (INTIGER),例如:

$res = mysql_query('SELECT `result` from `table`....');
....
gives the $res variable this string value: "Result: $_SESSION[myVar]";
print_r($res); // outputs Result: $_SESSION[myVar] and not "Result: 5"

如何解析字符串以获取会话变量的值?

使用字符串连接:

$res = "Result: ".$_SESSION[myVar];
print_r($res);

您需要启动会话并回显变量。

<?php
session_start();
$myvar=$_SESSION["myVar"];
echo "Result: ".$myvar;
?>

编辑:您可以做的是:

preg_match_all("/\[([^\]]*)\]/",$res,$matches);
$var=matches[1];
$session=$_SESSION[$var];
echo $session;

这会找到会话字符串中使用的 var。然后它将它输入到 $_SESSION 中以获取该会话变量。

应该读作$res = "Result:" . $_SESSION[myVar];