PHP eval() 逻辑运算符错误

发布于 2024-10-26 20:52:04 字数 716 浏览 8 评论 0原文

为什么

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

Why does

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

work while

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

does not?

I'm using eval() to process PHP in a wordpress page. It makes no sense to me why PHP chokes on && and not AND. The docs don't say anything specifically and no one else seems to have a clear answer.

Thanks for your input.

EDIT

Not that it really matters, but I use eval() in a WP template:

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

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

爱*していゐ 2024-11-02 20:52:04

WordPress 将 && 转换为 &&

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

感谢 GigaWatt 指出了这一点并提醒了我久违的记忆。

Wordpress converts the && to &&.

I've run into an issue like this before, so it's good to know. I do most of the logic in that PHP WP template, so this is no big deal, jsut as long as I understand what's going on.

Thanks go to GigaWatt for pointing this out and reminding me of long lost memories.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文