php写法的问题

ppxstar 2008-08-06 03:31:28
看到有些程序里有这种写法
if ($var){
.......
.......
}

我发现$var的值不单纯的是0,1,可以是任意值,甚至是一个数组。

我想请问这种写法与
if (isset($var)){

}

有什么区别?

这种写法的背后是一种什么样的处理过程。
...全文
104 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
CuTe_CuBe 2008-08-06
  • 打赏
  • 举报
回复
区别就在
$var=false;

if(isset($var)){
.......
}

变量值为false的时候isset返回真。为什么这样用,要联系上下文,如果上面用过$var,只要不是NULL,那么isset($var)就为真。
ppxstar 2008-08-06
  • 打赏
  • 举报
回复
那为什么还要有isset呢,使用isset速度会更快还是会更慢呢??
SICTXK 2008-08-06
  • 打赏
  • 举报
回复
其实都一样,就是判断是否为空。
ppxstar 2008-08-06
  • 打赏
  • 举报
回复
这样的话,跟isset($var)的区别在什么地方呢?
isset不也是不为空返真,为空返假嘛。
北里闻箫 2008-08-06
  • 打赏
  • 举报
回复
$var不为空,返回真。$var为空,返回假。
ppxstar 2008-08-06
  • 打赏
  • 举报
回复
楼上说的我都清楚,我不明白的地方是:

$var=123;
if ($var){
......
......
}
这种写法是怎么判断的。因为这里$var不为真也不为空,不为1也不为0,不为true也不为false
jacky_hjf 2008-08-06
  • 打赏
  • 举报
回复
if ($var){

} $var非零为ture,零为fulse

if (isset($var)){

} 中$var可以为任意数据类型,设置了为ture,否则false.
mikespook 2008-08-06
  • 打赏
  • 举报
回复
if($var) {
// empty($var) == false
} else {
// empty($var) == true
}

isset 是判断变量是否存在的,不论变量的值为多少,只要有值 isset 总是 true。

手册上这块讲得比较清楚,概念看手册。底层处理过程看 ext/standad/var.c 中 c 对 isset 的实现。
liuyang1588 2008-08-06
  • 打赏
  • 举报
回复
isset($var是判断$var是否被设置,设置执行


if ($var){

}   $var为真的时候执行

21,893

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧