PHP的一些小问题

来源:百度知道 编辑:UC知道 时间:2024/06/25 02:07:38
if(!$actioin)
if(empty($action))
if(!isset($action))

有什么分别,如何区别,什么时候用哪个
if(!$actioin)
if(empty($action))
那这两个呢.

你应该下载一份PHP手册,手册上写得非常清楚,下面的内容是从手册上粘贴的,相信你看了就明白,如果不明白请补充。

bool empty ( mixed var )

如果 var 是非空或非零的值,则 empty() 返回 FALSE。换句话说,""、0、"0"、NULL、FALSE、array()、var $var; 以及没有任何属性的对象都将被认为是空的,如果 var 为空,则返回 TRUE。

除了当变量没有置值时不产生警告之外,empty() 是 (boolean) var 的反义词。参见转换为布尔值获取更多信息。

例 1. empty() 与 isset() 的一个简单比较。

<?php
$var = 0;

// 结果为 true,因为 $var 为空
if (empty($var)) {
echo '$var is either 0 or not set at all';
}

// 结果为 false,因为 $var 已设置
if (!isset($var)) {
echo '$var is not set at all';
}
?>

注意: 由于这是一个语言结构而非函数,因此它无法被变量函数调用。

注意: empty() 只检测变量,检测任何非变量的东西都将导致解析错误。换句话说,后边的语句将不会起作用: empty(addslashes($name))。

转换为布尔值
要明示地将一个值转换成 boolean,用 (bool) 或者 (boolean) 来强制转换。但是很多情况下不需要用强制转换,因为当运算符,函数或者流程控制需要一个 boolean 参数时,该值会被自动转换。

参见类型戏法。

当转换为 boolean 时,以下值被认为是 FALSE:

布尔值