функция since 5.6.0

_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
Возвращаемое значение, если путь не существует в массиве или если $input_array либо $path не являются массивами.

Возвращаемое значение

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.

Что будем искать? Например,Продвижение

Этот сайт использует куки-файлы. Оставаясь на сайте, Вы соглашаетесь на их использование. Для получения дополнительной информации, пожалуйста, ознакомьтесь с политикой в отношении персональных данных.