romanitalian
10/17/2016 - 11:28 AM

Фильтруем массив по ключам

Фильтруем массив по ключам

<?php
// PHP 5.6+

$rows = array('a' => 1, 'b' => 2);
$f = array('a');

function array_filter_by_keys($_rows, $_filter_keys) {
    $fk = array_fill_keys($_filter_keys, true);
    $filter = function($key) use ($fk) {return isset($fk[$key]) && $fk[$key];};
    $out = array_filter($_rows, $filter, ARRAY_FILTER_USE_KEY);
    return $out;
}

$t = array_filter_by_keys($rows, $f);
var_dump($t);

// array(1) {
//   ["a"]=>
//   int(1)
// }