如何从PHP中的多维数组中获取特定键的值

时间:2014-10-17 06:28:23

标签: php arrays wordpress multidimensional-array

我从postmeta表中的帖子ID中获取图片

$kbe_img_meta = get_post_meta($foo_img_ID, "_wp_attachment_metadata", true);

echo "<pre>";
       print_r($foo_img_meta);
echo "</pre>";

这是我的多维数组结果:

    Array
    (
        [width] => 800
        [height] => 640
        [file] => 2014/09/Wallpaper_29.jpg
        [sizes] => Array
            (
                [thumbnail] => Array
                    (
                        [file] => Wallpaper_29-150x150.jpg
                        [width] => 150
                        [height] => 150
                        [mime-type] => image/jpeg
                    )

                [medium] => Array
                    (
                        [file] => Wallpaper_29-300x240.jpg
                        [width] => 300
                        [height] => 240
                        [mime-type] => image/jpeg
                    )

                [post-thumbnail] => Array
                    (
                        [file] => Wallpaper_29-624x499.jpg
                        [width] => 624
                        [height] => 499
                        [mime-type] => image/jpeg
                    )

            )

        [image_meta] => Array
            (
                [aperture] => 0
                [credit] => 
                [camera] => 
                [caption] => 
                [created_timestamp] => 0
                [copyright] => 
                [focal_length] => 0
                [iso] => 0
                [shutter_speed] => 0
                [title] => 
                [orientation] => 1
            )

    )
Array
(
    [width] => 800
    [height] => 480
    [file] => 2014/09/Wallpaper_37.jpg
    [sizes] => Array
        (
            [thumbnail] => Array
                (
                    [file] => Wallpaper_37-150x150.jpg
                    [width] => 150
                    [height] => 150
                    [mime-type] => image/jpeg
                )

            [medium] => Array
                (
                    [file] => Wallpaper_37-300x180.jpg
                    [width] => 300
                    [height] => 180
                    [mime-type] => image/jpeg
                )

            [post-thumbnail] => Array
                (
                    [file] => Wallpaper_37-624x374.jpg
                    [width] => 624
                    [height] => 374
                    [mime-type] => image/jpeg
                )

        )

    [image_meta] => Array
        (
            [aperture] => 0
            [credit] => 
            [camera] => 
            [caption] => 
            [created_timestamp] => 0
            [copyright] => 
            [focal_length] => 0
            [iso] => 0
            [shutter_speed] => 0
            [title] => 
            [orientation] => 1
        )

)

    Array
    (
        [width] => 800
        [height] => 640
        [file] => 2014/09/Wallpaper_33.jpg
        [sizes] => Array
            (
                [thumbnail] => Array
                    (
                        [file] => Wallpaper_33-150x150.jpg
                        [width] => 150
                        [height] => 150
                        [mime-type] => image/jpeg
                    )

                [medium] => Array
                    (
                        [file] => Wallpaper_33-300x240.jpg
                        [width] => 300
                        [height] => 240
                        [mime-type] => image/jpeg
                    )

                [post-thumbnail] => Array
                    (
                        [file] => Wallpaper_33-624x499.jpg
                        [width] => 624
                        [height] => 499
                        [mime-type] => image/jpeg
                    )

            )

        [image_meta] => Array
            (
                [aperture] => 0
                [credit] => 
                [camera] => 
                [caption] => 
                [created_timestamp] => 0
                [copyright] => 
                [focal_length] => 0
                [iso] => 0
                [shutter_speed] => 0
                [title] => 
                [orientation] => 1
            )

    )

现在我只想要[file][thumbnail][medium]的{​​{1}}值,所以我会删除文件夹中的图片。

注意:我只想要[file]值。

1 个答案:

答案 0 :(得分:1)

您可以使用以下语法:

$file1 = $foo_img_meta['sizes']['thumbnail']['file']; 
$file2 = $foo_img_meta['sizes']['medium']['file']; 
$file3 = $foo_img_meta['sizes']['post-thumbnail']['file']; 

echo $file1." _thumbnail"."<br />"; 
echo $file2." _medium"."<br />"; 
echo $file3." _post-thumbnail"."<br />";}

如果您不了解您将遇到的尺寸,请改用以下内容:

foreach ($result['sizes'] as $size_id => $size) {
    $file = $size['file'];
    // Delete File
}