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

时间:2018-11-08 14:30:57

标签: php php-5.3

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

$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

我无法替换这些值。有人可以帮我吗?

2 个答案:

答案 0 :(得分:1)

不是eval()的忠实拥护者,因为这可能会很痛苦,但是主要的事情是让所有正确的$和引号转义/不转义,等等。为了解决这个问题,我将用单引号表示,因为这将停止任何解释-直到您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

答案 1 :(得分:0)

为什么需要 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