php eval()返回 直接来自PHP文档的

php eval()返回 直接来自PHP文档的,php,eval,Php,Eval,: eval()返回NULL,除非在求值代码中调用return,在这种情况下,返回传递给return的值。如果求值代码中存在解析错误,eval()将返回FALSE,并正常继续执行以下代码 您的字符串中似乎有语法错误。仍然不确定您对代码的意图,因为没有响应。如果您想知道一个变量是否等于同名变量,您可以通过执行以下操作来了解: 这将返回true: <?php $a = "a == a"; eval($a); 这将返回false: $a = $a == $a; var_dump($a)

eval()返回NULL,除非在求值代码中调用return,在这种情况下,返回传递给return的值。如果求值代码中存在解析错误,eval()将返回FALSE,并正常继续执行以下代码


您的字符串中似乎有语法错误。

仍然不确定您对代码的意图,因为没有响应。如果您想知道一个变量是否等于同名变量,您可以通过执行以下操作来了解:

这将返回true:

<?php
  $a = "a == a";
  eval($a);
这将返回false:

$a = $a == $a;
var_dump($a);

这只是对为什么有人会在原始帖子中编写代码块的一个暗中猜测。

我认为这种使用
eval()
的方法可能在其他语言中也适用(我想到JavaScript),但在PHP中却不行

发出命令“计算以下表达式:
a==a
”是有意义的,并且正确地期望为true。但是PHP的
eval()
不是这样工作的。向解释器发送代码是一种简单、原始的方法。如果你评估


$a
之后将为真。

“a==a”
不是有效的PHP代码(除非
a
是定义的常量)。什么是$a=“a==a”;应该是什么意思?这一切看起来都不正确,除非您希望$a等于字符串“a==a”,在这种情况下,请继续。可能您试图说的是
eval('a'='a')
,这是有效的,因此它将被计算并返回true
$b = 5;

$a = $a == $b;
var_dump($a);
eval("$b = 5; $a = $b == $b;");