dongliao3742 2014-10-17 06:28
浏览 42
已采纳

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

I get images from its post id in postmeta table

$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.

Note: I only want [file] value.

  • 写回答

1条回答 默认 最新

  • dongyanpai2701 2014-10-17 06:31
    关注

    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
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 labview程序设计
  • ¥15 为什么在配置Linux系统的时候执行脚本总是出现E: Failed to fetch http:L/cn.archive.ubuntu.com
  • ¥15 Cloudreve保存用户组存储空间大小时报错
  • ¥15 伪标签为什么不能作为弱监督语义分割的结果?
  • ¥15 编一个判断一个区间范围内的数字的个位数的立方和是否等于其本身的程序在输入第1组数据后卡住了(语言-c语言)
  • ¥15 游戏盾如何溯源服务器真实ip?
  • ¥15 Mac版Fiddler Everywhere4.0.1提示强制更新
  • ¥15 android 集成sentry上报时报错。
  • ¥50 win10链接MySQL
  • ¥15 抖音看过的视频,缓存在哪个文件