php使用变量

php使用变量,php,variables,global-variables,Php,Variables,Global Variables,你会发现我是个新手 我有以下代码: while($file = readdir($dir)){ if($file!="." && $file!=".."){ $cont++; ... ... } } 接下来我想处理变量$file,但如果我这样做: if($file){ echo"OK"; }else{ echo"Error"; } 我收到了错误信息 如何在while循环之外处理$file 谢谢$f

你会发现我是个新手

我有以下代码:

while($file = readdir($dir)){
    if($file!="." && $file!=".."){
    $cont++;
        ...
        ...
     }
}
接下来我想处理变量$file,但如果我这样做:

if($file){
    echo"OK";
}else{
       echo"Error";
}
我收到了错误信息

如何在while循环之外处理$file


谢谢

$file在循环退出时将是一个布尔假值。当readdir到达目录的末尾并且没有更多的内容可读取时,它返回FALSE,该值被分配给$file值

因此,while()循环退出后,$file将始终为false。如果要保留特定文件名以供循环外部使用,则必须将其分配给循环内部的其他变量:

while($file = readdir($dir)) {
   if ( ... ) { }
   $lastfile = $file;
}

...

这样,当while()循环退出时,$lastfile将具有readdir返回的最后一个文件的文件名。

$file将在循环退出时为布尔值FALSE。当readdir到达目录的末尾并且没有更多的内容可读取时,它返回FALSE,该值被分配给$file值

因此,while()循环退出后,$file将始终为false。如果要保留特定文件名以供循环外部使用,则必须将其分配给循环内部的其他变量:

while($file = readdir($dir)) {
   if ( ... ) { }
   $lastfile = $file;
}

...

这样,当while()循环退出时,$lastfile将具有readdir返回的最后一个文件的文件名。

while循环中只存在
$file
。。这很明显。 为什么要在循环之外使用它?在这种情况下,您只需要最后一个
$文件
。因此,可能在while循环上方声明一个变量,在循环内部分配它,并在循环之后使用它

$fix_file;

while($file = readdir($dir)){
    if($file!="." && $file!=".."){
        $cont++;
        $fix_file = $file;
        break;
     }
}

if ($fix_file)
     echo "OK";
else
     echo "Error";

$file
仅存在于while循环中。。这很明显。 为什么要在循环之外使用它?在这种情况下,您只需要最后一个
$文件
。因此,可能在while循环上方声明一个变量,在循环内部分配它,并在循环之后使用它

$fix_file;

while($file = readdir($dir)){
    if($file!="." && $file!=".."){
        $cont++;
        $fix_file = $file;
        break;
     }
}

if ($fix_file)
     echo "OK";
else
     echo "Error";

如果$file有任何价值,那么您真正想测试它什么?您可以使用或函数来检查这一点。

如果$file有任何值,您真正想要测试的是什么?您可以使用或函数进行检查。

$file
之外,而
”没有意义。确切地说是哪个文件?
$file
之外,而
没有意义。到底是哪个文件?它也存在于循环之外。PHP的变量范围是函数级,而不是块级。只是当readdir没有更多的内容可读时,while()将其设置为false。它也存在于循环之外。PHP的变量范围是函数级,而不是块级。只是当readdir没有更多的内容可读时,while()将其设置为false。