2012-01-05 72 views
2

我無法處理這個。請幫幫我。這是一個陣列:如何獲取數組中的值的鍵?

$arr = array("data" => array(
        array("id" => "5451"), 
        array("id" => "45346346") 
        )); 

例如我如何找到密鑰ID爲45346346

$key = array_search($arr['data'], 45346346); 

我試過這個,但它不工作。我試圖刪除該數組行。我猜我可以用unset($ key)做到這一點($ key)

+2

你期待什麼答案'45346346'? – 2012-01-05 21:28:30

+0

你想要什麼? 'id'? 'data'?還有別的嗎? – 2012-01-05 21:30:06

+0

我必須用php函數刪除那一行。 – 2012-01-05 21:30:19

回答

1

你有一個數組數組。 $arr['data']是一個有2個值的數組。這些值都是數組。 array_search不起作用,因爲45346346與數組不匹配。

你必須你做飯自己的搜索,這樣的事情:

function find_in_array($arr, $val){ 
    $found = false; 
    foreach($arr as $k=>$x){ 
     if(array_search($val, $x) !== FALSE){ 
     $found = $k; 
     break; 
     } 
    } 
    return $found; 
} 

然後,你可以這樣做:$key = find_in_array($arr['data'], 45346346);。這將返回1,包含'id' => 45346346的數組索引在$arr['data']之內。

DEMO:http://codepad.org/pSxaBT9g

相關問題