函数文档

rest_sanitize_boolean()

💡 云策文档标注

概述

rest_sanitize_boolean() 函数用于将类布尔值转换为标准布尔值,确保在 REST API 中正确处理布尔类型数据。

关键要点

  • 函数接受一个参数 $value,类型可以是 bool、string 或 int,用于评估并转换为布尔值。
  • 返回值为 bool 类型,表示转换后的标准布尔值。
  • 特别处理字符串值:将字符串转换为小写后,若为 'false' 或 '0' 则返回 false,其他字符串返回 true。
  • 其他类型(如 int)通过 (bool) 强制转换映射到布尔值。

代码示例

function rest_sanitize_boolean( $value ) {
    // String values are translated to `true`; make sure 'false' is false.
    if ( is_string( $value ) ) {
        $value = strtolower( $value );
        if ( in_array( $value, array( 'false', '0' ), true ) ) {
            $value = false;
        }
    }

    // Everything else will map nicely to boolean.
    return (bool) $value;
}

注意事项

  • 该函数自 WordPress 4.7.0 版本引入,常用于 rest_sanitize_value_from_schema() 等 REST API 相关函数中。
  • 开发者在使用时需注意字符串 'false' 和 '0' 的特殊处理逻辑,以避免意外行为。

📄 原文内容

Changes a boolean-like value into the proper boolean value.

Parameters

$valuebool|string|intrequired
The value being evaluated.

Return

bool Returns the proper associated boolean value.

Source

function rest_sanitize_boolean( $value ) {
	// String values are translated to `true`; make sure 'false' is false.
	if ( is_string( $value ) ) {
		$value = strtolower( $value );
		if ( in_array( $value, array( 'false', '0' ), true ) ) {
			$value = false;
		}
	}

	// Everything else will map nicely to boolean.
	return (bool) $value;
}

Changelog

Version Description
4.7.0 Introduced.