2013-03-03 24 views
-1

說我有一個看起來有點像這樣的數組:array("a"=>array("a"=>"b"), "b"=>array("a"=>"d"))。 我想用數組中的鍵「a」和它的子數組來取消所有的變量。假設數據的結構是未知的。我只想要的是,如果關鍵字「a」存在於父數組中或它的兒子 - 它將被取消設置。可能嗎?如何在數組中的所有子數組中通過鍵名來取消鍵名?

+3

查看相關:http://stackoverflow.com/questions/1708860/php-recursively-unset-array-keys-if-match – Babiker 2013-03-03 23:17:01

+0

Yap,Babiker的鏈接確實有你想要的。節省你的時間,並只是去那裏。 – 2013-03-03 23:37:59

回答

0
function unsetKey (&$array, $key) { 
    foreach ($array as $k => $v) 
    if (is_array($v)) 
     unsetKey($array[$k], $key); 
    if (isset($array[$key])) unset(array[$key]); 
} 

這應該做到這一點。