2014-03-07 38 views
0

我將CURL表達式的結果保存到變量$ data中。當我打印使用的print_r($數據)這個值,這給了我這樣的如何將數據導入數組?

stdClass Object 
(
    [zip_codes] => Array 
     (
      [0] => stdClass Object 
       (
        [zip_code] => 10015 
        [distance] => 0.521 
       ) 

      [1] => stdClass Object 
       (
        [zip_code] => 10079 
        [distance] => 0.521 
       ) 

      [2] => stdClass Object 
       (
        [zip_code] => 10094 
        [distance] => 0.521 
       ) 

我只想ZIP_CODE到一個數組,請幫幫我怎麼辦我只得到ZIP_CODE到一個數組。 感謝

回答

0

嘗試類似:

foreach($data->zip_codes as $zipObj) 
{ 
    echo $zipObj->zip_code; 
} 

這將環比郵政編碼陣列和輸出相關的值。

+0

完美地工作,謝謝 – user3376865

1

所以使用array_map()

$result = array_map(function($x) 
{ 
    return $x->zip_code 
}, $obj->zip_codes); 
+0

偉大的解決方案!不知道:D – gonzalon

0

嘗試是這樣的: 首先迭代trought對象的集合中獲取郵政編碼屬性,並將其添加到一個數組

<?php 
    $result = array(); 
    $zipCodes = $data->zip_codes; 
    for($i = 0; $i < sizeOf($zipCodes); $i++){ 
     $result[] = $zipCodes->zip_code; 
    } 
    ?> 
0

您可以使用array_map,此功能允許您將回調應用到陣列。

$zip_codes = array_map(function($i) { return $i->zip_code; }, $data->zip_codes); 
+1

這與[Alma Do's answer](http://stackoverflow.com/a/22251031/1438393)相同,只是你做了一些小的整容更新。 –

+0

對不起,但是當我回答這個問題時,只有當我給出其他4個答案時,纔有其他評論。 –