2010-07-08 77 views
1

确定这是一个API调用如何从Json stdclass数组中提取特定的行?

$json_string = '"offices": 
     [{"description": "Google Headquarters", 
     "address1": "1600 Amphitheatre Parkway", 
     "address2": "", 
     "zip_code": "", 
     "city": "Mountain View", 
     "state_code": "CA", 
     "country_code": "USA", 
     "latitude": 37.421972, 
     "longitude": -122.084143}, 
     {"description": "Google Ann Arbor", 
     "address1": "112 S. Main St.", 
     "address2": "2nd Floor", 
     "zip_code": "48104", 
     "city": "Ann Arbor", 
     "state_code": "MI", 
     "country_code": "USA", 
     "latitude": 42.280988, 
     "longitude": -83.748882}, 
     {"description": "Google Atlanta", 
     "address1": "10 10th Street NE", 
     "address2": "Suite 600", 
     "zip_code": "30309"';//more but trimming here. 

$obj=json_decode($json_string); 
foreach($obj->offices as $office) { 
    echo $office->address1; 

    } 

这给出了地址1整个结果。但我只需要来自第一个地址的内容1。我该怎么做呢??

+0

注意到nobody解释了为什么,你正在循环每个具有address1属性的对象列表,你需要做松散的循环,并引用第一个成员作为galambalazs回答 – nathan 2010-07-08 14:03:21

回答

2

$obj->offices[0]->address1应该工作。

+0

哇是的这个作品谢谢! – mathew 2010-07-08 14:05:53

4
$offices = $obj->offices; // offices is a key of $obj 
$first = $offices[0];  // its value is an array, we want index 0 
$address1 = $first->address1; // this is an object, we want it's address1 key