Intereting Posts
HTML добавлен в редактор при удалении коротких кодов в браузере Chrome Пользовательские таксономии делают WP очень медленным – способ исправить? PHP Устарел: нестатический метод не следует называть статическим wp_set_object_terms и массивы Как перехватить update_option () перед сохранением данных? API настроек: два уведомления об обновлении после сохранения настроек? Поместите переменную php в shortcode Объяснение совместимости плагина WordPress, когда WordPress выпускает свою новую версию (теоретическую) Как переписать URL-адрес страницы на основе параметров строки запроса? выдержка – не используйте основное содержимое, если пустое Пользовательская таксономия и проблема tax_query? wp_enqueue и зависимости Внешняя интеграция системы с wordpress WordPress Customize – Переместить опции / меню «меню» в другой раздел Требование вызова («../../../ wp-blog-header.php») приводит к ошибке 404?

если значение null или int (0) равно 0

Я пытаюсь получить количество комментариев. он отлично работает. но значение «0» не получается должным образом. он поставляется с пустым или нулевым.

$comments_count = wp_count_comments(get_the_ID()); $approved_comments_count = $comments_count->approved; var_dump ($approved_comments_count); //<=== this if (($approved_comments_count===NULL) || is_null($approved_comments_count) || ($approved_comments_count === null ) || empty($approved_comments_count)) $approved_comments_count=0; 

Я тестировал с помощью "var_dump"

  string(1) "1" int(0) string(1) "1" string(1) "1" string(1) "2" string(1) "1" string(1) "4" int(0) int(0) int(0) 

int (0) не возвращается к «0»,

Я добавил, если условие, но не работает. как я могу сделать int (0) до "0"

Спасибо,

Solutions Collecting From Web of "если значение null или int (0) равно 0"

Нельзя использовать преобразование целого числа в строку, когда вам просто нужно отобразить результат или для простой проверки на жестко заданное значение типа данных. Преобразование типов данных полезно только тогда, когда вам нужно строго проверять значения по отношению к определенному типу данных.

Ваша проблема в том, что вы точно не знаете, как проверить свои ценности. 0 , либо целочисленное, либо строковое значение, представляет собой пустую и нулевую ( если свободно по сравнению с == ) в PHP. Если вам нужно проверить любую переменную, если она пуста или имеет значение, в том числе 0 виде строки или целочисленного значения, тогда вам нужно настроить своих операторов.

Для того, чтобы вы специально проверяли и запрещали / допускали 0 как действительное / недействительное значение, вам нужно использовать сравнение strick, и здесь число типов данных. Просто быстро 0 === "0" будет ложным, так как целое число 0 не совсем совпадает с строкой "0"

Просто обратите внимание на то, что ваше условное утверждение неверно, и здесь все терпит неудачу. При проверке 0 строго ( === ) с NULL или is_null результат будет ложным, а проверка 0 с помощью empty() вернет true, что приведет к выполнению вашего || оператора в условном выражении.

В вашей учетной записи вы можете сделать следующее, чтобы целочисленное значение 0 как действительное значение и все остальные значения, и запретить пустую строку

 if ( !$approved_comments_count // Universal check to see if empty, will consider false as empty too && 0 !== $approved_comments_count // Test for integer 0 ) { echo '$approved_comments_count is a true empty string'; } else { echo 'The value of $approved_comments_count is ' . $approved_comments_count; } 

или даже лучше

 if ( $approved_comments_count // Allows anything that does not equal empty || 0 === $approved_comments_count // Test for integer 0 ) { echo 'The value of $approved_comments_count is ' . $approved_comments_count; } else { echo '$approved_comments_count is a true empty string; } 

Если 0 где должна быть строка, вы должны проверить, что 0 как следует

 '0' === $approved_comments_count 

или

 "0" === $approved_comments_count