2016-04-03 126 views
0

我正在嘗試搜索數組中的值。我的陣列格式如下:多維數組中的搜索值

Array 
(
    [2] => Array([0] => [HEADER])  
    [3] => Array([0] => "ACCESSION #" 
       [1] => "F4216027")  
    [4] => Array([0] => "ACTIVATION CODE" 
       [1] => "PGMWZ-PUSUU") 
    [5] => Array([0] => "CUSTOMER FIRST NAME" 
       [1] => "JAMES") 
); 

如果我正在嘗試搜索"CUSTOMER FIRST NAME"。我試着用下面的函數。但沒有結果

function searchForValue($id, $array) { 
    foreach ($array as $key => $val) { 
     if ($val[0] === $id) { 
      return $key; 
     } 
    } 
    return null; 
} 

和預期輸出是父索引的關鍵:[5]

請幫我從這個脫身。提前致謝。

+0

你做了什麼至今?分享一些代碼! –

+1

@Santosh:增加了我嘗試過的功能。也嘗試過其他方式以及.. – sAcH

+0

你有錯誤的數組請修復它!行:5,錯誤類型:4 消息:語法錯誤,意外的'=>'(T_DOUBLE_ARROW),期待')' –

回答

1

使用foreachin_array功能簡單的解決方案:

$search_word = "CUSTOMER FIRST NAME"; 
$parent_key = null; 

// $arr is your initial array 
foreach ($arr as $k => $v) { 
    if (in_array($search_word, $v)) $parent_key = $k; 
} 

print_r($parent_key); // 5 
+0

感謝您的答覆。但它仍然給我空白輸出。仍在努力尋找解決方案。 – sAcH

+0

@sAcH,你確定你沒有遺漏什麼嗎?因爲我使用了你提供的數組,並且它給我提供'5'作爲父鍵。檢查你的錯誤代碼 – RomanPerekhrest

+0

謝謝。有用。 – sAcH