本人在php开发过程中由于某种业务功能需要而用到的函数,平时比较少用到:
1、array_filter()函数
array_filter() 函数用回调函数过滤数组中的值。该函数把输入数组中的每个键值传给回调函数。如果回调函数返回 true,则把输入数组中的当前键值返回结果数组中。数组键名保持不变。
使用场景:
若我们需将某个数组根据自定义要求进行过滤时,可自定义过滤函数,如:
过滤值小于1的
<?php
function myfunction($v){
if($v>1){
return true;
}
return false;
}
$a = array(0=>'0',1=>'1',2=>'2');
print_r(array_filter($a,"myfunction"));
?>
当回调为null时,可过滤掉数组中为值为null,false和0的元素。
array_diff() 函数返回两个数组的差集数组。该数组包括了所有在被比较的数组中,但是不在任何其他参数数组中的键值。在返回的数组中,键名保持不变。
如,若本来有一个旧的数组,新增新的元素后提交,要得到增加的元素:
<?php
$datalist = $old = array("1"=>"old1","2"=>"old2");
$datalist['3'] = "new1";
print_r(array_d($datalist,$old));
?>
array_diff_assoc() 函数用于比较两个(或更多个)数组的键名和键值 ,并返回差集。
该函数比较两个(或更多个)数组的键名和键值,并返回一个差集数组,该数组包括了所有在被比较的数组(array1)中,但是不在任何其他参数数组(array2 或 array3 等等)中的键名和键值。
例子:
<?php
$a1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow");
$a2=array("e"=>"red","f"=>"green","g"=>"blue");
$result=array_diff_assoc($a1,$a2);
print_r($result);
?>
输出:
Array([a]=>red [b]=>green [c]=>blue [d]=>yellow)
(后续有补充继续添加)