关于 PHP fopen()函数的问题
<?php$file=fopen("c:\aaa.txt","r");echo$file;//输出Resourceid#3if(!$file){echo("Failedt...
<?php
$file = fopen("c:\aaa.txt","r");
echo $file; //输出 Resource id #3
if(!$file)
{
echo ("Failed to open the file");
}else{
echo ("Successfully opened the file!");
} // 这里我就 不解了。实在是 不知道为什么。。。???
fclose($file);
echo $file; //这里 还可以 输出。。Resource id #3。。。都fclose了,为什么还能输出结果。。。。
?>
if(!$file)就是这里 不明白。。。$file它现在是“真”可是前面加了个“!”就变成“假”了 那么就应该输出 “Failed to open the file” 才对 可是为什么 真正输出的结果是("Successfully opened the file!");
这个呢??? 求助啊~~~现在 一片混乱!!~~~ 展开
$file = fopen("c:\aaa.txt","r");
echo $file; //输出 Resource id #3
if(!$file)
{
echo ("Failed to open the file");
}else{
echo ("Successfully opened the file!");
} // 这里我就 不解了。实在是 不知道为什么。。。???
fclose($file);
echo $file; //这里 还可以 输出。。Resource id #3。。。都fclose了,为什么还能输出结果。。。。
?>
if(!$file)就是这里 不明白。。。$file它现在是“真”可是前面加了个“!”就变成“假”了 那么就应该输出 “Failed to open the file” 才对 可是为什么 真正输出的结果是("Successfully opened the file!");
这个呢??? 求助啊~~~现在 一片混乱!!~~~ 展开
展开全部
if(!$file)是一种不太严肃的略写,在c系语言包括php中,0代表假。
空值null约等于0,也就是约等于假。约等于==和全等===不一样。
if($file) 即 $file不为假(不为0)时,条件为真成立
if(!$file)在以上的条件上取反,变成$file为假(为0)时条件成立
fopen在失败时返回FALSE假值。
所以可以if(!$file)这么写
严格的写法应该是
if($file!==FALSE)使用!==类型全等比较。
空值null约等于0,也就是约等于假。约等于==和全等===不一样。
if($file) 即 $file不为假(不为0)时,条件为真成立
if(!$file)在以上的条件上取反,变成$file为假(为0)时条件成立
fopen在失败时返回FALSE假值。
所以可以if(!$file)这么写
严格的写法应该是
if($file!==FALSE)使用!==类型全等比较。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个不干if ! 什么事。把fopen的返回值给搞清楚了就成。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
if判断 条件为真就会执行代码 你上面的!$file现在是为假 所以就会执行else里的代码
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2012-01-04
展开全部
估计是你理解错误了,如果$file为真那么直接执行else{
echo ("Successfully opened the file!");
} // 这里我就 不解了。实在是 不知道为什么。。。???
如果为假才执行if(!$file)
{
echo ("Failed to open the file");
}
echo ("Successfully opened the file!");
} // 这里我就 不解了。实在是 不知道为什么。。。???
如果为假才执行if(!$file)
{
echo ("Failed to open the file");
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询