我写了一个似乎是一项常见任务的函数,我一直在查看 php 文档,但找不到这个函数
/**
* Move certain key/values from an array to a new one
* @param array $array the original array
* @param array $keys
* @return $array
*/
function array_rip(array &$array, array $keys){
$new = array();
foreach($keys as $key){
if(isset($array[$key])){
$new[$key] = $array[$key];
unset($array[$key]);
}
}
return $new;
}
是否已经有这样的功能而我只是错过了显而易见的功能?
这是行为
<?php
$a = array('color'=>'green', 'fruit'=>'apple','item_id'=>33,'owner_id'=>420);
$b = array_rip($a,array('owner_id','item_id'));
print_r($a);
print_r($b);
?>
上面的示例将输出:
Array
(
[color] => green
[fruit] => apple
)
Array
(
[owner_id] => 420
[item_id] => 33
)