在cache文件夹下有个文件叫user1111.php,麻烦谁能帮看下为什么拿不到userid?test.php与cache同级目录
<?php
$dir = opendir("cache");while (($file = readdir($dir)) !== false)
  {  if (strpos($file,"user")){      include('cache/'.$file);
  $userid = str_replace('user','',$file);
  $userid = str_replace('.php','',$userid);
  echo $userid;
  }
  }
  closedir($dir);
?>

解决方案 »

  1.   

    while (($file = readdir($dir)) !== false)2个前括号3个后括号?
      

  2.   

    while (($file = readdir($dir)) !== false)
      

  3.   

    if (strpos($file,"user") !== false){
      

  4.   


    感谢楼上再问个问题..如果用我原来的写法,为什么把user换成php就可以拿到?<?php
    $dir = opendir("cache");while (($file = readdir($dir)) !== false)
      {  if (strpos($file,"php")){      include('cache/'.$file);
          $userid = str_replace('user','',$file);
          $userid = str_replace('.php','',$userid);
          echo $userid;
      }
      }
      closedir($dir);
    ?>
      

  5.   

    很简单:strpos 返回的是偏移
    在 user1111.php 中
    user 出现在 0 偏移的位置,但 0 作为逻辑表达式的值时,反映的是假
      

  6.   

    0==false (true) ,但0===false (false)