2016-04-03 14 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"を検索しようとしていた場合。私は以下の機能を試しました。 [5]

はここから抜け出すために私を助けてください:しかし、誰結果

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

と予想される出力は、親インデックスのキーではありません。前もって感謝します。 foreachin_array機能を使用して

+0

あなたは今まで何をしましたか?いくつかのコードを共有する! –

+1

@サントシ:私が試した機能を追加しました。他の方法でも試してみました.. – sAcH

+0

あなたは配列にエラーがありますので修正してください!文字列:5、エラーの種類:4 メッセージ:構文エラー、予期しない '=>'(T_DOUBLE_ARROW)、expecting ')' –

答えて

1

シンプルなソリューション:?

$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