Mark Giblin
Mark Giblin

Reputation: 1106

how to return certain data from an array by keys

I was looking for a way of solving a problem of returning keys and data from an a array.

The keys are 7,8,9,10 and "size","atime","mtime","ctime" from an array returned by the stat() function.

function returnDataByKeys($keys,$array){

    $tmp = array();
    foreach($keys as $keyValue)
        $tmp[$keyValue] = $array[$keyValue];

    return $tmp;
}

As for my question, I am looking for a more array_* function way of extracting the desired keys & values as a block with the keys preserved.

With all the other array_* functions I have seen, I don't see one that allows you to put in key data and return only those keys if found in an array.

Upvotes: 2

Views: 213

Answers (1)

deceze
deceze

Reputation: 522101

If I'm understanding your question correctly, it's as simple as this:

array_intersect_key($array, array_flip(array('size', 'atime', ..)))

http://php.net/array_intersect_key

Upvotes: 4

Related Questions