我有一个数组dataImages,它包含图像信息数组,看起来像这样
Array (
[0] => Array (
[id] => 104
[name] => sample-large-Test-1-a52d268be9ad9c.png
[user] => 31
[main_image] => 1
)
[1] => Array (
[id] => 105
[name] => sample-large-Test-1-a52d268bee6ba5.jpg
[user] => 31
[main_image] => 0
)
[2] => Array (
[id] => 106
[name] => sample-large-Test-1-a52d268bf4c457.jpg
[user] => 31
[main_image] => 0
)
)
如何检查数组dataImages
中的图片是否为main_image === 1
的图片,以及如何显示该图片的数据?
答案 0 :(得分:1)
根据你想要做的事情(例如只是循环),可能会有更好的选择,但是一个选项是array_filter
,在这种情况下你可以做到
function hasMain($var){
return $var["main_image"];
}
print_r(array_filter($theArray, "hasMain"));
答案 1 :(得分:1)
function getMainImage($images) {
if(!is_array($images))
return null;
foreach($images as $image) {
if(isset($image['main_image']) && $image['main_image'] == 1)
return $image;
}
return null;
}
$mainImage = getMainImage($myImages);
这样的事情应该可以解决问题。
您可以使用is_array检查变量是否包含数组。 http://nl1.php.net/manual/en/function.is-array.php
答案 2 :(得分:1)
您也可以循环执行此操作:
foreach ($dataImages as $image){
if ($image['main_image']) print_r($image)
}
答案 3 :(得分:1)
$main_image = FALSE;
$img = '';
foreach($images as $image) {
if ( $image['main_image'] == 1 ){
$main_image = TRUE;
$img = $image['name'];
break;
}
}