wp_array_slice_assoc()
Залишає елементи першого масиву, ключі (індекси) яких збігаються зі значеннями другого масиву.
У 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
(дуже швидко) | 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'=>'один', ''=>'два' ); $filtered = array_intersect_assoc($array, $needed_keys); print_r($filtered); /* отримаємо Array ( [one] => один ) */
список змін
З версії 3.1.0 | Введено. |
Код wp_array_slice_assoc() wp array slice assoc WP 6.0.2
function wp_array_slice_assoc( $array, $keys ) { $ slice = array (); foreach ( $keys as $key ) { if ( isset( $array[ $key ] ) ) { $slice[ $key ] = $array[ $key ]; } } return $slice; }