_wp_array_get()
Проверено на WordPress 6.9, обновлено Источник: WordPress Developer Resources.
Сигнатура
_wp_array_get( array $input_array, array $path, mixed $default_value = null ): mixed
Описание
Это PHP-эквивалент функции lodash.get() из JavaScript, и её повторение может помочь другим компонентам сохранять симметрию между клиентской и серверной реализациями.
Пример использования:
$input_array = array(
'a' => array(
'b' => array(
'c' => 1,
),
),
);
_wp_array_get( $input_array, array( 'a', 'b', 'c' ) );
Оригинал (английский)
It is the PHP equivalent of JavaScript’s lodash.get() and mirroring it may help other components retain some symmetry between client and server implementations.
Example usage:
$input_array = array(
'a' => array(
'b' => array(
'c' => 1,
),
),
);
_wp_array_get( $input_array, array( 'a', 'b', 'c' ) );
Параметры
$input_array
array
обязательный
$path
array
обязательный
$default_value
mixed
необязательный
= null
Возвращаемое значение
mixed
Исходный код
wp-includes/functions.php:5096
function _wp_array_get( $input_array, $path, $default_value = null ) {
// Confirm $path is valid.
if ( ! is_array( $path ) || 0 === count( $path ) ) {
return $default_value;
}
foreach ( $path as $path_element ) {
if ( ! is_array( $input_array ) ) {
return $default_value;
}
if ( is_string( $path_element )
|| is_integer( $path_element )
|| null === $path_element
) {
/*
* Check if the path element exists in the input array.
* We check with `isset()` first, as it is a lot faster
* than `array_key_exists()`.
*/
if ( isset( $path_element, $input_array[ $path_element ] ) ) {
$input_array = $input_array[ $path_element ];
continue;
}
/*
* If `isset()` returns false, we check with `array_key_exists()`,
* which also checks for `null` values.
*/
if ( isset( $path_element ) && array_key_exists( $path_element, $input_array ) ) {
$input_array = $input_array[ $path_element ];
continue;
}
}
return $default_value;
}
return $input_array;
}
История изменений
| Версия | Описание |
|---|---|
| 5.6.0 | Introduced. |

