2017-12-06 1 views
1

Ich habe folgende Array:wie in einem Schlüssel, wenn bestimmter Wert existiert zu finden und dann in neuen Array, das Array extrahiert in php

Array 
(
[0] => Array 
    (
     [CODE] => OK 
     [company_id] => 170647449000 
     [taxnumber] => 944703420 
     [name] => SOME NAME 
     [title] => S.A 

    ) 

[1] => Array 
    (
     [CODE] => OK 
     [company_id] => 17063649000 
     [taxnumber] => 999033420 
     [name] => SOME OTHER NAME 
     [title] => ANOTHER DIFFERENT TITLE 
    ) 
) 

Wenn das Array die company_id mit dem Wert 17063649000 I enthalten muß extrahiere das Array (1) in einem neuen Array, damit ich es weiter manipulieren kann.

Ich mache zahlreiche Code-Schnipsel, aber ich bin nicht einmal in der Nähe der Lösung. Ich kann immer noch nicht herausfinden, wie ich herausfinden kann, ob der $ -Wert (17063649000) im Array existiert .... ganz zu schweigen davon, wie man das spezifische Array (1) aus dem existierenden Array extrahiert .... Mein letzter Versuch war zu ändern, dies und es zu machen, zu arbeiten, aber ich leite es immer noch nicht zu machen:

function myfunction($agents, $field, $value) 
{ 
    foreach($agents as $key => $agent) 
    { 
    if ($agent[$field] === $value) 
     return $key; 
    } 
return false; 
} 

ich immer falsch, auch den Wert ich schicke das existiert.

+0

Sie faul sind, schreiben Sie den Code zuerst, wir tun es nicht für Sie –

+0

Frage wurde aktualisiert, wie gewünscht. – user2417624

+0

@ user2417624 Bitte zeigen Sie mir, wie Sie diese Funktion verwenden. –

Antwort

1

Ersetzen Sie return $key durch return $agent und Operator === mit ==. === prüft auch, es könnte Grund sein, warum es nicht funktioniert.

+1

Danke. Es klappt. Ich werde deine Antwort in 3 Minuten annehmen können. – user2417624

0

, wenn Ihr Array ist $ Unternehmen dann

function getCompany($search_id, $companies) { 
    foreach($company in $companies) { 
     if ($companies['company_id'] == $search_id) { 
      return $company; 
     } 
    } 
    return false; 
} 

$companies = [...]; 
$search = 17063649000; 
if ($company = getCompany($search, $companies)) { 
    // do something with $company 
} else { 
    // not found 
} 
Verwandte Themen