2016-04-03 25 views
0

Ich versuche, den Wert in einem Array zu suchen. Mein Array-Format ist wie folgt:Suchwert im multidimensionalen Array

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") 
); 

Wenn ich "CUSTOMER FIRST NAME" zu suchen versuchen. Ich habe es mit der unteren Funktion versucht. Aber kein Ergebnis

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

Und erwartete Ausgabe ist der Schlüssel des Ausgangs-Index: [5]

Bitte helfen Sie mir aus diesem aussteigen. Danke im Voraus.

+0

was hast du getan, bis jetzt? Teile etwas Code! –

+1

@Santosh: Hinzugefügt die Funktion, die ich ausprobiert habe. Auch mit anderen Möglichkeiten versucht .. – sAcH

+0

Sie haben Fehler im Array bitte beheben Sie es! Zeile: 5, Fehlertyp: 4 Nachricht: Syntaxfehler, unerwartet '=>' (T_DOUBLE_ARROW), erwartet ')' –

Antwort

1

Einfache Lösung mit foreach und in_array Funktion:

$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

Danke für die Antwort. Aber es gibt mir immer noch eine leere Ausgabe. Arbeitet noch daran, die Lösung zu finden. – sAcH

+0

@sAcH, sind Sie sicher, dass Sie etwas nicht verpasst haben? weil ich das Array benutzt habe, das Sie präsentiert haben, und es funktioniert gut und gibt mir '5' als Elternschlüssel. Überprüfen Sie Ihren Code auf Tippfehler – RomanPerekhrest

+0

Vielen Dank. Es klappt. – sAcH

Verwandte Themen