Как срастить два массива и вывести значения, которые соответствуют одному из массива
Господа спасайте, есть 2 массива (main - все данные и header - где хранятся только ключи нашего main), как отобразить только то, что у нас есть в header ?
немного предисловия, работаю с библиотекой ag-grid
есть там встроенная функция скрыть столбцы, но самое что интересное, им просто добавляется атрибут hidden - true
и я тут решил передавать данные для сохранения именно того, что отображается, я выхватил заголовки с атрибутом hidden - false и поместил в массив, далее поместил в массив весь массив и передал в контроллер.
Вот тут уже дилемма, как их срастить, учитывая что я передаю value, что является ключом для всего моего массива
использую laravel+ag-grid
скрин вывода

Ответы (1 шт):
примерно так должно получится у вас
$filterKeys = array_flip($header);
$result = array_map(function($m) use ($fiterKeys){
return array_intersect_key($m, $filterKeys)
}, $main);
можно еще как-нить переиначить
$tmp = array_fill(1, count($main), array_flip($header));
$result = array_map('array_intersect_key', $main, $tmp);