使用该数组中的元素从嵌套数组中获取特定值

时间:2013-01-29 15:08:06

标签: php

  

可能重复:
  Get specific values from multidimensional array?

Array
(
    [0] => Array
        (
            [src_small] => hyperlink
            [src_big] => hyperlink
            [images] => Array
                (
                    [0] => Array
                        (
                            [height] => 1623
                            [width] => 2048
                            [source] => hyperlink
                        )

                    [1] => Array
                        (
                            [height] => 432
                            [width] => 545
                            [source] => hyperlink
                        )


                )
        )

    [1] => Array
        (
            [src_small] => hyperlink
            [src_big] => hyperlink
            [images] => Array
                (
                    [0] => Array
                        (
                            [height] => 2048
                            [width] => 1442
                            [source] => hyperlink
                        )

                    [1] => Array
                        (
                            [height] => 426
                            [width] => 300
                            [source] =>hyperlink
                        )


                )

        )

        )

我问如何从[height]和[width]中获得最大值的数组中的[source]。

我发现很难完成。

我很抱歉,但我不明白我的问题怎么可能不会对未来的访客有所帮助;它仅与较小的地理区域,特定的时刻或非常狭窄的情况相关,通常不适用于全球互联网用户。

之后结果==>到数据库表

这样做很简单吗?

对不起,如果我以任何方式冒犯了你,抱歉我的英语不好。

1 个答案:

答案 0 :(得分:0)

这是一个抓住最大宽度和高度的小函数(不一定在同一个数组中)。

也可以使用array_walk完成。

function getBiggestImage($bigArray) {
    $maxWidth = 0;
    $maxHeight = 0;

    foreach ($bigArray as $smallArray) {
        foreach ($smallArray['images'] as $image) {
            if ($image['width'] > $maxWidth) {
                $maxWidth = $image['width'];
            }
            if ($image['height'] > $maxHeight) {
                $maxHeight = $image['height'];
            }
        }
    }
    return array($maxWidth, $maxHeight);
}