PHP eval () ошибка логического оператора - PullRequest
0 голосов
/ 25 марта 2011

Почему

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

работает, пока

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

нет?

Я использую eval () для обработки PHP на странице WordPress. Мне не имеет смысла, почему PHP подавляется &&, а не AND. В документах ничего не сказано конкретно, и никто, похоже, не имеет четкого ответа.

Спасибо за ваш вклад.

EDIT

Не то чтобы это действительно имеет значение, но я использую eval () в шаблоне WP:

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

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

1 Ответ

3 голосов
/ 25 марта 2011

Wordpress конвертирует && в &#038;&.

Я сталкивался с подобной проблемой раньше, так что это полезно знать. Я делаю большую часть логики в этом шаблоне PHP WP, так что это не страшно, но пока я понимаю, что происходит.

Спасибо GigaWatt за то, что указал на это и напомнил мне о давно потерянных воспоминаниях.

...