Заменить данные динамически из массива в 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

Я не могу заменить значения. Может кто-нибудь помочь мне?

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

Другие решения

Зачем тебе eval() здесь, потому что он уже возвращает то, что вы хотите в качестве вывода?

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

DEMO: https://3v4l.org/7KTH0

0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector