
适合初学者和专业人士CSS备忘单
_wp_array_set ( $array, $path, $value = null )
_wp_array_set: 这个函数用来设置一个数组中的值,使用点分隔的字符串作为键。例如,给定一个数组$arr,一个键’foo.bar’,和一个值$value,这个函数将把$arr[‘foo’][‘bar’]的值设置为$value。
根据键的路径来设置数组的深度。
它是JavaScript的`lodash.set()`的PHP等价物,镜像它可以帮助其他组件在客户端和服务器端实现之间保持一些对称性。
使用实例:
$array = array();
_wp_array_set( $array, array( ‘a’, ‘b’, ‘c’, 1 ) );
$array becomes:
array(
‘a’ => array(
‘b’ => array(
‘c’ => 1,
),
),
);
function _wp_array_set( &$array, $path, $value = null ) { // Confirm $array is valid. if ( ! is_array( $array ) ) { return; } // Confirm $path is valid. if ( ! is_array( $path ) ) { return; } $path_length = count( $path ); if ( 0 === $path_length ) { return; } foreach ( $path as $path_element ) { if ( ! is_string( $path_element ) && ! is_integer( $path_element ) && ! is_null( $path_element ) ) { return; } } for ( $i = 0; $i < $path_length - 1; ++$i ) { $path_element = $path[ $i ]; if ( ! array_key_exists( $path_element, $array ) || ! is_array( $array[ $path_element ] ) ) { $array[ $path_element ] = array(); } $array = &$array[ $path_element ]; // phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.VariableRedeclaration } $array[ $path[ $i ] ] = $value; }