Заменить данные динамически из массива в eval ()? - PullRequest
0 голосов
/ 08 ноября 2018

Я пытаюсь заменить значение из массива.

$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 голосов
/ 08 ноября 2018

Не большой поклонник 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
0 голосов
/ 08 ноября 2018

Зачем вам нужно 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...