从 eval() 中的数组动态替换数据?

Replace data dynamically from array in eval()?

我正在尝试替换数组中的值。

$row= array("id"=>"35", "name"=>"test","first_name"=>"noor","last_name"=>"fathima");

// Eval Statement - 
$row = $row['first_name'].' '.$row['last_name'];

eval("$row = \"$row\";");
//This should return noor fathima

我无法替换值。谁能帮帮我吗?

为什么你需要 eval()这里因为它已经返回你想要的输出?

<?php
$row= array("id"=>"35", "name"=>"test","first_name"=>"noor","last_name"=>"fathima");
echo $row['first_name'].' '.$row['last_name'];
?>

演示: https://3v4l.org/7KTH0

不是 eval() 的超级粉丝,因为它可能会很痛苦,但最主要的是获得所有正确的 $ 和引号 escaped/unescaped 等。为了解决这个问题,我将表达式放入单引号中,因为这会停止任何解释 - 直到你 eval() 它...

$row= array("id"=>"35", "name"=>"test","first_name"=>"noor","last_name"=>"fathima");
eval('$result = $row["first_name"]." ".$row["last_name"];');
echo $result;

给...

noor fathima