2016-04-03 129 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