Php将字符串作为变量计算并提取其值


Php evaluate a string as variable and extract value of it

<?php        
     $i=2;
     $teststring='$_SESSION["REGISTERED"]["FirstName'.$i.'"]';      
     var_dump($teststring); 
     die; 
     if(isset(($teststring))){
         //do something 
     }
?>

在上面的代码中我想找到$_SESSION["REGISTERED"]["FirstName2']变量的值,我需要建议/技巧

为什么不直接

$foo = $_SESSION['REGISTERED']["FirstName$i"];

数组键只是字符串,它们可以动态生成。这两者在PHP中没有区别:

$foo = array('bar' => 'baz');
$x = 'bar';
echo $foo[$x];
echo $foo['bar'];

都将输出baz

你不需要额外的引号:

$teststring=$_SESSION["REGISTERED"]["FirstName".$i];