简体   繁体   English

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

[英]How to get value of a specific key from multidimensional array in PHP

I get images from its post id in postmeta table我从 postmeta 表中的 post id 中获取图像

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

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

Here is my multidimensional array result:这是我的多维数组结果:

    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
            )

    )

Now I only want [file] value from [thumbnail] , [medium] and [post-thumbnail] , so i delete images from folder.现在我只想要来自[thumbnail][medium][post-thumbnail] [file]值,所以我从文件夹中删除了图像。

Note: I only want [file] value.注意:我只想要 [file] 值。

You can use the following syntax:您可以使用以下语法:

$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 />";}

In case you are not aware of the sizes you'll be encountering, use the following instead:如果您不知道将遇到的尺寸,请改用以下内容:

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM