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