PHP eval()逻辑运算符错误

时间:2011-03-25 19:48:51

标签: php wordpress eval logical-operators

为什么

if (isset($_SESSION['location']) AND !empty($_SESSION['location']))

工作时

if (isset($_SESSION['location']) && !empty($_SESSION['location']))

没有?

我正在使用eval()在wordpress页面中处理PHP。对我来说,为什么PHP在&&而不是AND上窒息是没有意义的。文档没有具体说明,没有其他人似乎有明确的答案。

感谢您的意见。

修改

这并不重要,但我在WP模板中使用eval():

            $sContent   = get_the_content();
            $sContent   = apply_filters('the_content', $sContent);
            $sContent   = str_replace(']]>', ']]>', $sContent);

            eval(' ?>'. $sContent .'<?php ');

1 个答案:

答案 0 :(得分:3)

Wordpress将&&转换为&#038;&

之前我遇到过这样的问题,所以很高兴知道。我在那个PHP WP模板中做了大部分逻辑,所以这没什么大不了的,只要我明白发生了什么就行了。

感谢GigaWatt指出这一点并提醒我长久失去的回忆。