我寫這似乎是一個共同的任務的功能,我一直在尋找通過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,但是密鑰數量必須相等。 –