【问题标题】:php check if value exsist in array, in another arrayphp检查数组中是否存在值,在另一个数组中
【发布时间】:2014-01-12 12:08:38
【问题描述】:

我有一个 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 的图像,我如何显示该图像的数据?

【问题讨论】:

标签: php arrays


【解决方案1】:

您也可以在循环中执行此操作:

foreach ($dataImages as $image){
    if ($image['main_image']) print_r($image)
}

【讨论】:

    【解决方案2】:

    可能会有更好的选择,具体取决于您想要做什么(例如,只是循环),但一种选择是 array_filter 在这种情况下您可以这样做

    function hasMain($var){
     return $var["main_image"];
    }
    
    print_r(array_filter($theArray, "hasMain"));
    

    【讨论】:

      【解决方案3】:
      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

      【讨论】:

        【解决方案4】:
        $main_image = FALSE;
        $img = '';
        
        foreach($images as $image) {
          if ( $image['main_image'] == 1 ){
            $main_image = TRUE;
            $img = $image['name'];
            break;
          }
        }
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-08-21
          • 1970-01-01
          • 2020-06-09
          • 1970-01-01
          • 2016-06-22
          • 1970-01-01
          相关资源
          最近更新 更多