rest_sanitize_array()
云策文档标注
概述
rest_sanitize_array() 函数用于将类数组值转换为数组,确保返回标准化的数值数组。它处理标量输入和非数组输入,适用于 WordPress REST API 的数据清理场景。
关键要点
- 函数接受一个参数 $maybe_array,可以是标量或数组,返回数组。
- 如果输入是标量(如字符串),使用 wp_parse_list() 转换为数组。
- 如果输入不是数组,返回空数组 array()。
- 最终通过 array_values() 确保返回数值数组,键名标准化。
- 自 WordPress 5.5.0 版本引入。
代码示例
function rest_sanitize_array( $maybe_array ) {
if ( is_scalar( $maybe_array ) ) {
return wp_parse_list( $maybe_array );
}
if ( ! is_array( $maybe_array ) ) {
return array();
}
// Normalize to numeric array so nothing unexpected is in the keys.
return array_values( $maybe_array );
}注意事项
- 函数主要用于 REST API 的 sanitize 流程,确保数据一致性。
- 相关函数包括 wp_parse_list()、rest_validate_array_value_from_schema() 和 rest_sanitize_value_from_schema()。
原文内容
Converts an array-like value to an array.
Parameters
$maybe_arraymixedrequired-
The value being evaluated.
Source
function rest_sanitize_array( $maybe_array ) {
if ( is_scalar( $maybe_array ) ) {
return wp_parse_list( $maybe_array );
}
if ( ! is_array( $maybe_array ) ) {
return array();
}
// Normalize to numeric array so nothing unexpected is in the keys.
return array_values( $maybe_array );
}
Changelog
| Version | Description |
|---|---|
| 5.5.0 | Introduced. |