0

私はjsonファイルを持っています。json ファイルには、いくつかの画像のパスが含まれています。URLパスを読み取り、画像をコンピューターに保存したい。json ファイルを読み取ることができましたが、json で image_path オブジェクトを取得できません。私のjsonファイルの形式は次のとおりです。

Array
(
    [0] => Array
        (
            [product] => Array
                (
                    [product_id] => 262
                    [product_name] => VD0289 CUT OUT BACK DRESS
                    [product_inventory] => 2
                    [product_price] => B
                    [label_name] => 15
                    [product_status] => A
                    [images] => Array
                        (
                            [0] => Array
                                (
                                    [image_id] => 935
                                    [image_path] => http://gird.com/images/thumbnails/0/400/500/VD0289_VD0289.jpg
                                    [image_thumbnail] => http://gird.com/images/thumbnails/0/60/60/VD0289_VD0289.jpg
                                    [image_detailed] => http://gird.com/images/detailed/0/VD0289_VD0289.jpg
                                    [image_type] => M
                                )

                            [1] => Array
                                (
                                    [image_id] => 938
                                    [image_path] => http://gird.com/images/thumbnails/0/400/500/VD0289_VD0289_(4).jpg
                                    [image_thumbnail] => http://gird.com/images/thumbnails/0/60/60/VD0289_VD0289_(4).jpg
                                    [image_detailed] => http://gird.com/images/detailed/0/VD0289_VD0289_(4).jpg
                                    [image_type] => A
                                )



                        )

                    [options] => Array
                        (
                        )

                )

        )

    [1] => Array
        (
            [product] => Array
                (
                    [product_id] => 263
                    [product_name] => Chic Chanel Inspired Dress - Blue
                    [product_inventory] => 1
                    [product_price] => O
                    [label_name] => 9
                    [product_status] => A
                    [images] => Array
                        (
                            [0] => Array
                                (
                                    [image_id] => 939
                                    [image_path] => http://gird.com/images/thumbnails/0/400/500/100678-Blue-1.jpg
                                    [image_thumbnail] => http://gird.com/images/thumbnails/0/60/60/100678-Blue-1.jpg
                                    [image_detailed] => http://gird.com/images/detailed/0/100678-Blue-1.jpg
                                    [image_type] => M
                                )

                            [1] => Array
                                (
                                    [image_id] => 942
                                    [image_path] => http://gird.com/images/thumbnails/0/400/500/100678-Blue-4.jpg
                                    [image_thumbnail] => http://gird.com/images/thumbnails/0/60/60/100678-Blue-4.jpg
                                    [image_detailed] => http://gird.com/images/detailed/0/100678-Blue-4.jpg
                                    [image_type] => A
                                )

                         ..............................

このファイルからすべての画像パスと image_detailed を取得するにはどうすればよいですか?? 私のphpコードは次のとおりです。コードは、最初の画像パスのみを取得することです。

<?php

$file="dw.json";

$json=  json_decode(file_get_contents($file),true);
print_r ($json[0]["product"]["images"][0]["image_path"]);
//print_r($json);
?>
4

2 に答える 2

1

これを試してください:

foreach($json as $key => $products) {
$product = $products['product'];
    foreach($product['images'] as $key => $image) {
        $product_images[$product['product_name']][] = $image['image_path'];
    }
}

print_r($product_images);
于 2013-09-16T02:56:03.813 に答える
0

次のように for ループを使用します。

foreach ($json[0]["product"]["images"] as $key)
    echo $key['image_path'];
于 2013-09-16T02:54:26.420 に答える