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



我有一个$res变量,它从DB查询中获取结果。结果在字符串中包含会话变量的名称。该会话变量已设置,其值为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];

最新更新