php中 array_filter,array_diff,array_column

<?php
//array_filter(arg1,arg2) arg1:必填数组,arg2可不填
//实例1:去除数组中的空元素,保留数组之前键值
$arr3 = [0,false,null,1,2,3,4,5,""," "];
$kong = array_filter($arr3);
var_dump($kong);
echo "<hr/>";
//实例2:用回调函数过滤数组中的元素
function test_odd($var)
{
	return($var & 1);//位与运算 3转换为二进制 0011 与 0001 位与运算结果为0001 4转为二进制是 0100
}

$a1=array("a","b",2,3,4);
print_r(array_filter($a1,"test_odd"));
echo "<hr/>";

//array_diff 比较两个数组的键值,并返回差集
$arr1 = [1,2,3];
$arr2 = [1];
$diff = array_diff($arr1,$arr2);
print_r($diff);
echo "<hr/>";

//获取二维数组中的某一键值,组成新的数组 php版本大于 5.5
$arr4 = array(
		0 => ['id'=>1,'name'=>'zhangsan1'],
		1 => ['id'=>2,'name'=>'zhangsan2'],
		2 => ['id'=>3,'name'=>'zhangsan3'],
		3 => ['id'=>4,'name'=>'zhangsan4']
);
$new_arr = array_column($arr4,"name");
print_r($new_arr);

?>

  运行结果:

 

posted @ 2020-08-24 11:28  渺小的人类  阅读(217)  评论(0编辑  收藏  举报