PHP函数(持续积累)
empty():判断变量是否为空
当一个变量或表达式并不存在,或者它的值等同于false,返回false
“” 、0、“0”、NULL、false、array()、$a未赋值变量等等 这些empty()都为空
$a = '0';
var_dump(isset($a)); // true
$a = 'aaaa';
var_dump(isset($a)); // false
unset ($a);
var_dump(isset($a)); // true
isset():检测变量是否设置且非 NULL
检测变量是否设置,并且值不能为NULL
检测一个变量 isset() 检测变量为NULL ,将返回 false
检测多个变量 isset() 从左至右检测,只有在全部参数都被设置时返回 true,中途遇到没有设置的变量就会立即停止返回false。
$a = "aaaa";
$b = "bbbb";
var_dump(isset($a)); // TRUE
var_dump(isset($a, $b)); // TRUE
unset ($a);
var_dump(isset($a)); // FALSE
var_dump(isset($a, $b)); // FALSE
$a = NULL;
var_dump(isset($a)); // FALSE
注意:unset()
函数用于释放/销毁指定变量
func_num_args():返回传递给函数的参数数目
func_get_arg():返回参数列表的某一项
func_get_args():返回一个包含函数参数列表的数组
func_num_args(1,2,3) ---- 3
func_get_arg(1) ----- 1
func_get_args() ----- array(1,2,3)
function sum(){
$aaa = func_num_args();
$sum = 0;
if ($aaa==0) {
return $sum;
} else {
for ($i = 0; $i<$aaa;$i++) {
$sum=+func_get_arg($i);
echo func_get_arg($i).PHP_EOL;
}
}
echo 'sum:'.$sum;;
}
sum(1,2,3); // 1 2 3 sum:3
__cell( string name, array arguments ): 魔术方法用于函数重载
实现函数重载。当调用对象中一个不存在的方法的时候,如果定义了__call()方法,则会调用该方法
如果存在,则不会调用该方法
method_exists(object/class,string name):检测类中是否含有该方法
检测变量是否设置,并且值不能为NULL
class Car {
public $speed = 10;
public function getValui(){
echo 1;
}
//在这里使用重载实现speedDown方法
public function __call($methodName,$sss){
var_dump(method_exists($this,$methodName));
if ($methodName == 'speedDown') {
echo 2
}
}
}
$car = new Car();
$car->speedDown(); // bool(false)
$car->getValui(); // 1 因为方法存在所以不执行函数重载