isset( )函数
- 检测变量是否设置,并且不是
NULL
- 如果变量存在并且值不是
NULL
则返回TRUE
,否则返回FALSE
$a = 10;
if (isset($a)){
echo '$a存在,并且不为null';
}else{
echo '$a不存在或者为null';
}
提交表单时,用于防止变量不存在就去接收数据
- 只要是表单提交的数据,都是string类型
- 原本我用
is_int
判断age出错就是这个原因 - 使用
is_numeric
检测变量是否为数字或数字字符串 ,strpos
查找字符串首次出现的位置来确保age是个整数
// 这里也可以使用正则表达式搞定
$name = isset($_GET['name'])? $_GET['name']:'';
$age = isset($_GET['age']) && is_numeric($_GET['age']) && !strpos($_GET['age'],'.')? $_GET['age']:'';
if ($name == '' or $age == ''){
echo '输入有误';
}else{
echo '登录成功';
}
unset( )函数
- 销毁指定的变量名
- unset无返回值
- unset的更多细节——对象的传递方式 析构函数 变量的传递方式
$a = 10;
unset($a);
if (isset($a)){
echo '$a存在';
}else{
echo '$a不存在';
}
empty( )函数
- 检查一个变量是否为空
- 当变量存在,并且是一个非空非零的值时返回
FALSE
否则返回TRUE
"" 0 0.0 "0" NULL FALSE array()
都认为是空
// "" 0 0.0 "0" NULL FALSE array() 都认为为空
$a = false;
if (empty($a)){
echo '$a为空'; // $a为空
}else{
echo '$a不为空';
}
is_*( ) 判断变量是否是某个类型系列函数
- 如果是则返回
TRUE
,否则返回FALSE
。 - is_array — 检测变量是否是数组
- is_bool — 检测变量是否是布尔型
- is_float — 检测变量是否是浮点型
- 更多查手册…
$a = array(1,2,3);
if (is_array($a)){
echo '是';
}else{
echo '不是';
}
gettype( ) 获取变量的类型
// 返回某个变量对应的数据类型
$a = array(1,2);
echo gettype($a); // array