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.
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. |