如何只为多维数组中的每个项目获取第一个值?

时间:2015-12-30 09:54:45

标签: php arrays multidimensional-array

我有一个带有产品名称的多维数组,每个产品都有一个或多个(最多5个)图像。我正在尝试获取产品名称和first图像,但是我拥有它的方式会打印所有图像。我如何获得每个的第一个?

foreach ($my_array['results'] as $result) {
    echo 'Title: '.$result['title'];

    foreach ($result['images'] as $image) {
     echo 'Image: '.$image['image_url'];
     echo "\n";
    }

 }

打印如下:

 Title: Blah
 Image: http://1..
 Image: http://2..
 Image: http://3..

我想得到

 Title: Blah
 Image: http://1..

我尝试将其修改为

echo 'Image: '.$image['full_image_url'][0];

但这不起作用。有什么想法吗?

5 个答案:

答案 0 :(得分:3)

foreach ($my_array['results'] as $result) {
    echo 'Title: '.$result['title'];


    echo 'Image: ' . $result['images'][0]['image_url'];
    echo "\n";
}

或者(例如,如果您不知道第一个索引)

foreach ($my_array['results'] as $result) {
    echo 'Title: '.$result['title'];

    foreach ($result['images'] as $image) {
        echo 'Image: '.$image['image_url'];
        echo "\n";
        break;
    }

}

答案 1 :(得分:1)

foreach ($my_array['results'] as $result) {
    echo 'Title: '.$result['title'];

    foreach ($result['images'] as $image) {
       echo 'Image: '.$image['image_url'];
       echo "\n";
       break;
    }
}

答案 2 :(得分:1)

如果您想获得图片阵列的标题和第一个元素,请尝试以下代码:

foreach ($my_array['results'] as $result) {
    echo 'Title: '.$result['title'];
    echo 'Image: '.$result['images']['0']['image_url'];
    echo "\n";
 }

答案 3 :(得分:1)

foreach ($my_array['results'] as $result) 
{
    echo 'Title: '.$result['title'];

    foreach ($result['images'] as $image)
    {
       echo 'Image: '.$image['image_url'];
       echo "\n";
       break;
    }

 }

答案 4 :(得分:1)

如果您知道索引ID比您可以使用的那样:

foreach ($my_array as $result) {
     echo 'Title: '.$result['title'];
     echo 'Image: '. $result['image_url'][0];
}

替代是:

foreach ($my_array['results'] as $result) {
    echo 'Title: '.$result['title'];

    foreach ($result['images'] as $image) {
        echo 'Image: '.$image['image_url'];
        return;
    }    
}

第三种解决方案由 @gacek

提供