foreach key - >在foreach之外的价值

时间:2016-11-15 10:28:23

标签: php arrays foreach custom-fields

如何访问特定的“密钥”及其关联的“值”,以便稍后在foreach循环之外使用?

这是数组;

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 ) 

这是我正在使用的查询;

$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> ';
         } 
}

我的查询在foreach循环中工作并正确打印Phone和City值 - 但我希望能够在此循环之外打印这些值。

1 个答案:

答案 0 :(得分: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> ';