WPSEO_Utils::emulate_filter_bool()public staticYoast 1.8.0

Cast a value to bool.

Метод класса: WPSEO_Utils{}

Хуков нет.

Возвращает

true|false.

Использование

$result = WPSEO_Utils::emulate_filter_bool( $value );
$value(разное) (обязательный)
Value to cast.

Список изменений

С версии 1.8.0 Введена.

Код WPSEO_Utils::emulate_filter_bool() Yoast 22.4

public static function emulate_filter_bool( $value ) {
	$true  = [
		'1',
		'true',
		'True',
		'TRUE',
		'y',
		'Y',
		'yes',
		'Yes',
		'YES',
		'on',
		'On',
		'ON',
	];
	$false = [
		'0',
		'false',
		'False',
		'FALSE',
		'n',
		'N',
		'no',
		'No',
		'NO',
		'off',
		'Off',
		'OFF',
	];

	if ( is_bool( $value ) ) {
		return $value;
	}
	elseif ( is_int( $value ) && ( $value === 0 || $value === 1 ) ) {
		return (bool) $value;
	}
	elseif ( ( is_float( $value ) && ! is_nan( $value ) ) && ( $value === (float) 0 || $value === (float) 1 ) ) {
		return (bool) $value;
	}
	elseif ( is_string( $value ) ) {
		$value = trim( $value );
		if ( in_array( $value, $true, true ) ) {
			return true;
		}
		elseif ( in_array( $value, $false, true ) ) {
			return false;
		}
		else {
			return false;
		}
	}

	return false;
}