我写这似乎是一个共同的任务的功能,我一直在寻找通过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_combine()
Array
(
[color] => green
[fruit] => apple
)
Array
(
[owner_id] => 420
[item_id] => 33
)
不是我所知道的,但你可以看看文档,类似这个最接近的东西是http://php.net/manual/en/function.array-combine.php,但是密钥数量必须相等。 –