2014-02-14 110 views
0

我是新来的PHP,我的措辞如何返回JSON数据类型的关联数组?因此,这里是我的PHP代码:如何访问JSON解码关联数组中的元素PHP

array(2) { 
["product"] => array(1) { 
    [0]=> array(7) { 
     ["styles"]=> array(13) { 
      [0]=> array(7) { 
       ["price"]=> string(6) "$64.95" 
       ["productUrl"]=> string(46) "http://www.zappos.com/product/7515478/color/25" 
       ["percentOff"]=> string(2) "0%" 
       ["styleId"]=> string(7) "1788226" 
       ["imageUrl"]=> string(65) "http://www.zappos.com/images/z/1/7/8/8/2/2/1788226-p-DETAILED.jpg" 
       ["color"]=> string(6) "Almond" 
       ["originalPrice"]=> string(6) "$64.95" 
      } 

现在,我将如何去访问第一个数组元素:

$JSON = file_get_contents($url); 

// echo the JSON (you can echo this to JavaScript to use it there) 
//echo $JSON; 

// You can decode it to process it in PHP 
$data = json_decode($JSON,true); 
var_dump($data); 

这里的数据以何种方式当我把它转储到屏幕上像一个片段? 我试过了:

echo $data[0][0]['orignalPrice']; 

它不起作用。有人可以帮忙吗?还有一个体面的调试器在Mac上的PHP?感谢任何帮助。

+0

建议的话,当你在HTML中使用'print_r()'的东西时,在复制/粘贴之前使用“页面源代码”。 –

+0

_“如何访问JSON解码的关联数组PHP中的元素”_ - 以同样的方式,就好像数组不是“来自JSON”一样。如果你不知道该怎么做,那么你应该先阅读一些基础知识。 – CBroe

+0

好酷谢谢,这是一种烦人的,你不能调试这样的问题。有没有办法做这样的事情?我有一个mac。 – user3124081

回答

0

试一下$data['product'][0]['styles'][0]['originalPrice']

也建议你有一个文档看看,更多地了解arrays

+0

所以你会如何建议我循环数组中的每一项价格? – user3124081

+0

@ user3124081我想用foreach循环。 ($ data ['product'] AS $ product){echo $ product ['styles'] [0] ['originalPrice']; }' ' –