Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
470 views
in Technique[技术] by (71.8m points)

php - 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.

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

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


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...