如何使用PHP循环使用JSON数组

前端之家收集整理的这篇文章主要介绍了如何使用PHP循环使用JSON数组前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我的 PHP代码
$obj = json_decode($data);
print $obj->{'name'};

虽然它适用于非数组,但我无法为我的生活找出如何打印“评论”数组中的所有值.

我想要做的是循环执行这个响应,可能是使用forreach(),导致一个列表,其中包含响应中每个评论的评级和摘录.

任何指导/方向非常感谢..

下面是我正在使用的JSON. (这是Yelp API的回应).

{
    "is_claimed": true,"rating": 4.5,"mobile_url": "http://m.yelp.com/biz/economy-paint-and-collision-riverside","rating_img_url": "http://s3-media2.ak.yelpcdn.com/assets/2/www/img/99493c12711e/ico/stars/v1/stars_4_half.png","review_count": 19,"name": "Economy Paint & Collision","snippet_image_url": "http://s3-media3.ak.yelpcdn.com/photo/ZOzoahw0Go_DEPLvxCaP_Q/ms.jpg","rating_img_url_small": "http://s3-media2.ak.yelpcdn.com/assets/2/www/img/a5221e66bc70/ico/stars/v1/stars_small_4_half.png","url": "http://www.yelp.com/biz/economy-paint-and-collision-riverside","reviews": [
        {
            "rating": 3,"excerpt": "The Good:\nDennis quoted me a price over the phone about 1 month before I took my wifes 2010 Escalade in for repairs and when I took it in he gave me the...","time_created": 1357010247,"rating_image_url": "http://s3-media3.ak.yelpcdn.com/assets/2/www/img/34bc8086841c/ico/stars/v1/stars_3.png","rating_image_small_url": "http://s3-media3.ak.yelpcdn.com/assets/2/www/img/902abeed0983/ico/stars/v1/stars_small_3.png","user": {
                "image_url": "http://s3-media3.ak.yelpcdn.com/photo/mIsU7ugYd88lLA-XL2q1Cg/ms.jpg","id": "V9MDZvEBv-tBTF4YIoc7mg","name": "Sydney H."
            },"rating_image_large_url": "http://s3-media1.ak.yelpcdn.com/assets/2/www/img/e8b5b79d37ed/ico/stars/v1/stars_large_3.png","id": "HfOhzLIlJoUKSKU8euclqA"
        },{
            "rating": 5,"excerpt": "Dennis and his team did an amazing job on the roof of my fiancee's 2002 Acura RSX after years of living by the beach in San Francisco had mostly rusted...","time_created": 1354741952,"rating_image_url": "http://s3-media1.ak.yelpcdn.com/assets/2/www/img/f1def11e4e79/ico/stars/v1/stars_5.png","rating_image_small_url": "http://s3-media1.ak.yelpcdn.com/assets/2/www/img/c7623205d5cd/ico/stars/v1/stars_small_5.png","user": {
                "image_url": "http://s3-media3.ak.yelpcdn.com/photo/ZOzoahw0Go_DEPLvxCaP_Q/ms.jpg","id": "kOqCnCjYn0EbAhtH1tfjcw","name": "Jason H."
            },"rating_image_large_url": "http://s3-media3.ak.yelpcdn.com/assets/2/www/img/22affc4e6c38/ico/stars/v1/stars_large_5.png","id": "YzZg1LX6zeRaurq9tYUcMw"
        },"excerpt": "It's been a year since I had my car painted here,and I gotta say: It still looks just as good as it did when I first picked it up. You would never know...","time_created": 1361043626,"user": {
                "image_url": "http://s3-media1.ak.yelpcdn.com/photo/58coTtu1x5riHSgFEAQsfw/ms.jpg","id": "kVrW3138d5VL-AZ97wFF4A","name": "Jeanne M."
            },"id": "r5WtlQVMXiIMBR6S3N7RZw"
        }
    ],"phone": "9517870227","snippet_text": "Dennis and his team did an amazing job on the roof of my fiancee's 2002 Acura RSX after years of living by the beach in San Francisco had mostly rusted...","image_url": "http://s3-media3.ak.yelpcdn.com/bphoto/kodoEcmgHRG61pPaWRndbw/ms.jpg","categories": [
        [
            "Body Shops","bodyshops"
        ],[
            "Auto Repair","autorepair"
        ]
    ],"display_phone": "+1-951-787-0227","rating_img_url_large": "http://s3-media4.ak.yelpcdn.com/assets/2/www/img/9f83790ff7f6/ico/stars/v1/stars_large_4_half.png","id": "economy-paint-and-collision-riverside","is_closed": false,"location": {
        "city": "Riverside","display_address": [
            "2548 Rubidoux Blvd","Riverside,CA 92509"
        ],"geo_accuracy": 8,"postal_code": "92509","country_code": "US","address": [
            "2548 Rubidoux Blvd"
        ],"coordinate": {
            "latitude": 34.0132437,"longitude": -117.3923804
        },"state_code": "CA"
    }
}
您可能会遇到麻烦,因为评论是一个数组,您正在尝试以JSON对象身份访问它.
$obj = json_decode($data,TRUE);
for($i=0; $i<count($obj['reviews']); $i++) {
    echo "Rating is " . $obj['reviews'][$i]["rating"] . " and the excerpt is " . $obj['reviews'][$i]["excerpt"] . "<BR>";
}

猜你在找的PHP相关文章