【问题标题】:PHP eval() logical operator errorPHP eval() 逻辑运算符错误
【发布时间】:2011-03-25 19:48:51
【问题描述】:

为什么

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 ');

【问题讨论】:

  • 您在哪里或如何使用eval
  • 在 WP 模板页面中,见编辑。
  • 假设$_SESSION['location']包含一个值:codepad.org/0FIzG13c
  • 您是否尝试将 eval() 更改为 echo() 并查看 &&s 是否被解析?由于单引号/双引号的误用,我遇到了这样的问题。
  • 但在使用&amp;&amp; 时不起作用。两个会话变量都存在。我也可以将它分成 2 个条件语句并且它可以工作,只是在我使用 &amp;&amp; 时不行。

标签: php wordpress eval logical-operators


【解决方案1】:

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

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

感谢 GigaWatt 指出这一点并让我想起久违的记忆。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-10-16
    • 1970-01-01
    • 2019-04-21
    • 1970-01-01
    • 2011-11-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多