wp_validate_boolean()
Превращает значение указанной переменной в логические true или false.
Альтернатива конструкции: filter_var( $var, FILTER_VALIDATE_BOOLEAN )
.
Хуков нет.
Возвращает
true|false
.
Использование
wp_validate_boolean( $value );
- $var(смешанный) (обязательный)
- Переменная которую нужно проверить, является ли она логической.
Примеры
#1 Демонстрация работы
$var = wp_validate_boolean( true ); // bool(true) $var = wp_validate_boolean( 'true' ); // bool(true) $var = wp_validate_boolean( '11' ); // bool(true) $var = wp_validate_boolean( 1 ); // bool(true) $var = wp_validate_boolean( '1' ); // bool(true) $var = wp_validate_boolean( 'on' ); // bool(true) $var = wp_validate_boolean( 'off' ); // bool(true) $var = wp_validate_boolean( 'foo' ); // bool(true) $var = wp_validate_boolean( new StdClass() ); // bool(true) $var = wp_validate_boolean( [1] ); // bool(true) $var = wp_validate_boolean( 'false' ); // bool(false) $var = wp_validate_boolean( false ); // bool(false) $var = wp_validate_boolean( 0 ); // bool(false) $var = wp_validate_boolean( '0' ); // bool(false) $var = wp_validate_boolean( '' ); // bool(false) $var = wp_validate_boolean( null ); // bool(false) $var = wp_validate_boolean( [] ); // bool(false)
#2 Убедимся что мы передаем логические данные
Иногда нужно точно знать, что передаются логические данные, например когда мы работает с JSON. Пр. PHP понимает '0', как false, но JSON понимает иначе, и в этих случаях нужно убедиться что предаются именно логические данные. Допустим мы передаем настройки:
$json_data = array( 'tracklist' => wp_validate_boolean( $atts['tracklist'] ), 'tracknumbers' => wp_validate_boolean( $atts['tracknumbers'] ), 'images' => wp_validate_boolean( $atts['images'] ), 'artists' => wp_validate_boolean( $atts['artists'] ), ); echo json_encode( $json_data );
#3 Если нужно включить в проверку on|off
wp_validate_boolean() вернет true для значений on
или off
. Чтобы включить и эту проверку можно использовать такую проверку:
$show = wp_validate_boolean( $show ) && ( $show !== 'off' );
#4 Убедимся что значение логическое
// пример 1 $plugin_status = wp_validate_boolean( $plugin_data['status'] ?? 0 ); $plugin_active = wp_validate_boolean( $plugin_data['active'] ?? 0 ); // пример 2 $is_some = wp_validate_boolean( $request->get_param( 'fetch_field_data' ) );
Список изменений
С версии 4.0.0 | Введена. |
Код wp_validate_boolean() wp validate boolean WP 6.8.2
function wp_validate_boolean( $value ) { if ( is_bool( $value ) ) { return $value; } if ( is_string( $value ) && 'false' === strtolower( $value ) ) { return false; } return (bool) $value; }