WordPress как на ладони
Наставник Трепачёв Д.П., phphtml.net wordpress jino

wp_array_slice_assoc() WP 3.1.0

Оставляет в переданном массиве только элементы ключи которого совпадают со значениями элементов второго массива.

В PHP есть похожие функции:

  • $array = array_intersect($array1, $array2) - оставляет элементы из первого массива, значения которых совпадают со значениями второго массива.
  • $array = array_intersect_assoc($array1, $array2) - оставляет элементы из первого массива, значения и индексы которых совпадают со значениями и индексами второго массива.

Для противоположного вычисления, когда в первом массиве нужно оставить только те элементы, которых нет во втором массиве используйте PHP функции:

✈ 1 раз = 0.000017с = очень быстро | 50000 раз = 0.08с = скорость света PHP 7.0.4, WP 4.4.2

Хуков нет.

Возвращает

Массив. Кусок переданного массива с нужными элементами.

Использование

wp_array_slice_assoc( $array, $keys );
$array(массив) (обязательный)
Оригинальный массив, элементы которого нужно получить.
$keys(массив) (обязательный)
Список ключей $array которые нужно оставить.

Примеры

#1 Оставим только нужные элементы из переданного массива

Этот пример показывает как работает функция. У нас есть массив и нам нужно обработать его и оставить в нем только указанные элементы по ключу.

$array = [
	'one' => 'один',
	'two' => 'два',
	'three' => 'три',
];

$needed_keys = array( 'one', 'three' );
$filtered = wp_array_slice_assoc( $array, $needed_keys );

print_r( $filtered );

/* получим
Array
(
	[one] => один
	[three] => три
)
*/

#2 Пример работы array_intersect()

Оставляет элементы из первого массива, значения которых совпадают со значениями второго массива.

Т.е. сравниваются только значения

$array = [
	'one' => 'один',
	'two' => 'два',
	'three' => 'три',
];

$needed_keys = array( ''=>'один', 'one'=>'' );
$filtered = array_intersect( $array, $needed_keys );

print_r( $filtered );

/* получим
Array
(
	[one] => один
)
*/

#3 Пример работы array_intersect_assoc()

Оставляет элементы из первого массива, значения и индексы которых совпадают со значениями и индексами второго массива.

$array = [
	'one' => 'один',
	'two' => 'два',
	'three' => 'три',
];

$needed_keys = array( ''=>'один', 'one'=>'', 'one'=>'один' );
$filtered = array_intersect_assoc( $array, $needed_keys );

print_r( $filtered );

/* получим
Array
(
	[one] => один
)
*/

Код wp array slice assoc: wp-includes/functions.php WP 4.8.1

<?php
function wp_array_slice_assoc( $array, $keys ) {
	$slice = array();
	foreach ( $keys as $key )
		if ( isset( $array[ $key ] ) )
			$slice[ $key ] = $array[ $key ];

	return $slice;
}

Cвязанные функции

Из метки: array list help func (фильтры сортировка массивов объектов)

Еще из раздела: Вспомогательные

wp_array_slice_assoc Комментариев нет

Здравствуйте, !

Ваш комментарий