我经常忘记一些php的函数区别,今天整理一下以后忘记好看看自己写的东西(省的自己在百度或者测试了o(╥﹏╥)o)
1、empty 与 isset
以下是我自己测试的结果
$ii = ''; //empty显示为真 isset显示为真 ==''显示为真
$ii = null; //empty显示为真 isset显示为假 ==''显示为真
$ii = 0; //empty显示为真 isset显示为真 ==''显示为真
$ii = '0'; //empty显示为真 isset显示为真 ==''显示为假
$ii = false; //empty显示为真 isset显示为真 ==''显示为真
var_dump(empty($ii));
var_dump(isset($ii));
var_dump($ii=='');
2、数组的array_merge 与 两个数组相加
二话不说上测试结果
$a = ['a'=>'1','b'=>'2','c'=>'3','0'=>'5'];
$b = ['d'=>'1','e'=>'3','a'=>'4','6','7'];
print_r(array_merge($a,$b));
print_r($a + $b);
Array ( [a] => 4 [b] => 2 [c] => 3 [0] => 5 [d] => 1 [e] => 3 [1] => 6 [2] => 7 )
Array ( [a] => 1 [b] => 2 [c] => 3 [0] => 5 [d] => 1 [e] => 3 [1] => 7 )
从例子上我们可以直观地看出来,array_merge他是将两个数组的进行合并的同时根据局数组的键值进行合并,当数组的键是关联的时候后出现的覆盖之前出现的,非关联的重新进行排序。
两个数组相加时,当数组的键是关联的时候先出现的覆盖之后出现的,非关联的也进行相互覆盖。
3、array_filter(array callback [, int $flag = 0 ]])函数
一看这个函数就是用来过滤数组的,我们可以利用它进行数组的筛选,比如前段传来了一个筛选条件,那么我们就可以根据他进行筛选。
先说说这个函数的参数,$array就是我们要筛选的数组,callback就是回调函数(也就是筛选条件),当函数返回ture时数据被保留,返回false时删除数据。如果不提供回调函数,那么就默认删除false的数据。注:array_filter会过滤掉任何值等于FALSE的值,也就是说 0值,空字符串,null,都会被过滤。
具体用法如下(筛选名字为cwb的数据):
$new_data = array_filter($data,function($data){return ($data['name']=='cwb');});
4、list(value2,...)函数
这个函数主要是简便获取数组值,来个例子就明白了。
$array = ['xiaoming','goudan','gangdan'];
//正常获取:
$xiaoming = $array[0];
$goudan = $array[1];
$gangdan = $array[2];
//利用list函数
list($xiaoming,$goudan,$gangdan) = $array;
网友评论