函数文档

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.

Return

array Returns the array extracted from the value.

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.