2016-11-15 5 views
1

Wie kann ich auf bestimmte "Schlüssel" und ihre zugehörigen "Werte" zugreifen, um sie später außerhalb der foreach-Schleife zu verwenden?foreach key -> Wert außerhalb foreach

Hier ist das Array;

Array ([0] => 
CustomFields 
[1] => stdClass Object 
    ([Key] => Phone [Value] => 5555555) 
[2] => stdClass Object 
    ([Key] => City [Value] => New York) 
[3] => stdClass Object 
    ([Key] => State [Value] => NY) 
[4] => stdClass Object 
    ([Key] => Cellphone [Value] => 222444555) 

Und hier ist die Abfrage, die ich verwende;

$cf = array(); 
foreach($result->response->CustomFields as $data) { 

    $cf [] = $data; 

     if ($cf [] = ($data->Key == 'Phone')) { 
      echo 'Your Phone number is:'.$data->Value.'<br> '; 
     } 

      if ($cf [] = ($data->Key == 'City')) { 
      echo 'Your City is: '.$data->Value.'<br> '; 
     } 
} 

Meine Abfrage funktioniert innerhalb der foreach-Schleife und druckt korrekt Telefon und Stadt Wert - aber ich möchte in der Lage sein, diese Werte außerhalb dieser Schleife zu drucken.

Antwort

2
function findByKeyInCollection($key, $collection){ 
    foreach($collection as $data) { 
     if ($data->Key == $key) { 
      return $data; 
     } 
    } 
} 
$phone = findByKeyInCollection("Phone", $result->response->CustomFields); 
echo 'Your Phone number is:'.$phone->Value.'<br> '; 
+0

Wow - danke - das funktioniert perfekt - und du lässt es so einfach aussehen !! Sehr geschätzt ;-) – Sol