duanluanlang8501 2013-08-22 05:04
浏览 17

if语句不正确[关闭]

I have a associative array, when i'm looping the array i try to make a statement which output an incorrect answer.

foreach($search as $a=>$b)
{ 
  foreach($b as $c) {

      if($b == 'folder')
      {
        print_r($b);
        $dir = true;
      }
  }
}   

The following code outputs 0 and 'folder'. When $b equals 0 it is incorrect because $b is supposed to match 'folder'.

print_r of $search

array (size=3)
  'status' => string 's_search' (length=8)
  'files' => 
    array (size=1)
      'file' => 
        array (size=2)
          0 => 
            array (size=3)
              ...
          1 => 
            array (size=3)
              ...
  'folders' => 
    array (size=1)
      'folder' => 
        array (size=3)
          'id' => string '1081483096' (length=10)
          'name' => string 'asdf' (length=4)
          'match_type' => 
            array (size=3)
              ...
  • 写回答

3条回答 默认 最新

  • duanping2809 2013-08-22 05:15
    关注

    Here $b is an array. So, before loop you should check whether it is an array or not like,

    foreach($search as $a=>$b)
    { 
        if(is_array($b) and !empty($b))
        {
           foreach($b as $c) {
              //your code
           }
        }
        elseif(is_string($b) and $b=='folder')
        {
            print_r($b);
            $dir = true;
        }
    }
    
    评论

报告相同问题?

悬赏问题

  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 java写代码遇到问题,求帮助
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?
  • ¥15 加热介质是液体,换热器壳侧导热系数和总的导热系数怎么算
  • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计