Выбрать элементы по массиву со списком ключей

270
31 января 2019, 01:40

Есть ли какая-нибудь функция в php, позволяющая выбрать из одного массива элементы, ключи которых соответствуют элементам другого массива? Вот пример:

$arr = [
    'key1' => 'elem1',
    'key2' => 'elem2',
    'key3' => 'elem3'
];
$keys = [
    0 => 'key1',
    1 => 'key3',
];
$result = [
    'key1' => 'elem1',
    'key3' => 'elem3'
];
Answer 1

Как вариант

$result = array_intersect_key($arr, array_flip($keys));
Answer 2

Используйте функции пересечения массивов, например:

$result = array_uintersect_uassoc(
    $arr,
    $keys,
    function($a,$b){return 0;},
    function($a,$b)use($keys){return in_array($a, $keys) ? 0 : 1;}
);
READ ALSO
Не работает редирект

Не работает редирект

Подскажите пожалуйста, не работает редирект если содержимое файла =

246
Свои(либо правленые) функции в плагинах и composer update

Свои(либо правленые) функции в плагинах и composer update

Вот я поставил на CakePHP плагин CakeDC/UsersПоправил некоторые функции, дописал свои, в частности редактирование профиля, потом сделал composer update (не подумав)...

229
Проблема с записью в значений в dat файл

Проблема с записью в значений в dat файл

Мне нужно построить график функции распределенияДля этого я решил использовать GnuPlot

245