/*
* array_filter() 用回调函数过滤数组中的元素
* array_filter(array,callbackfunction);array and callbackfunction 必填
* 该函数把输入数组中的每个键值传给回调函数。如果回调函数返回 true,则把输入数组中的当前键值返回结果数组中。数组键名保持不变。
* */
//用例1:
$arr = [
['id'=>1,'ins_id'=>101,'status_desc'=>'驳回'],
['id'=>2,'ins_id'=>102,'status_desc'=>'拒绝'],
['id'=>3,'ins_id'=>103,'status_desc'=>'撤销'],
['id'=>4,'ins_id'=>104,'status_desc'=>'已发送'],
['id'=>5,'ins_id'=>105,'status_desc'=>'运行中'],
];
$validReview = array_filter($arr,function ($review){
return !in_array($review['status_desc'],['驳回','拒绝','撤销']);
});
var_dump($validReview);
// 用例1结果:
/*
*
array(2) {
[3]=>
array(3) {
["id"]=>
int(4)
["ins_id"]=>
int(104)
["status_desc"]=>
string(9) "已发送"
}
[4]=>
array(3) {
["id"]=>
int(5)
["ins_id"]=>
int(105)
["status_desc"]=>
string(9) "运行中"
}
}
*/
//用例2: 过滤 diary log
$arr = [
['id'=>1,'cate'=>'diary_log'],
['id'=>2,'cate'=>'photograph_log']
];
function filter($var){
if($var['cate'] == 'diary_log') {
return false;
}
return true;
}
$data = array_filter($arr,'filter');
var_dump($data);
/*
*
array(1) {
[1]=>
array(2) {
["id"]=>
int(2)
["cate"]=>
string(14) "photograph_log"
}
}*/