php数组操纵如何实现键名比拟与差集、交集赋值呢?下面是小编给大师供给的实现办法,大师可以参考阅读,更多概况请存眷应届结业生测验网。
该实例次要实现对数组的`各类罕见操纵。如对键名比拟较量争论数组的差集,较量争论差集,给指定命组中拔出一个元素,反转数组与交集赋值新的数组等。
代码如下:
//界说回调函数
function key_compare_func$key1,$key2
if$key1==$key2 //假如两参数相等
return 0; //返回0
else if$key1>$key2 //假如$key1>$key2
return 1; //返回1
else //假如$key1<$key2
return -1; //返回-1
//辨别界说两个数组
$array1=array'blue'=>1,'red'=>2,'green'=>3,'purple'=>4;
$array2=array'green'=>5,'blue'=>6,'yellow'=>7,'cyan'=>8;
//用回调函数对键名比拟较量争论数组的差集
$result=var_dumparray_diff_ukey$array1,$array2,'key_compare_func';
print_r$result;
//输出比拟成果
$array1=array"a"=>"green","red","blue","red"; //界说数组1
$array2=array"b"=>"green","yellow","red"; //界说数组2
$result=array_diff$array1,$array2; //较量争论差集
print_r$result; //输出比拟成果
//
$result=array_fill5,6,'banana'; //为数组$a从第5个元素入手下手添加6个banana
print_r$result; //输出成果
//
function odd$var
return$var%2==1; //假如参数为奇数,返回true,不然返回false
function even$var
return$var%2==0; //假如参数为偶数,返回true,不然返回false
//辨别界说两个数组
$array1=array"a"=>1,"b"=>2,"c"=>3,"d"=>4,"e"=>5;
$array2=array6,7,8,9,10,11,12;
echo "过滤奇数:n";
print_rarray_filter$array1,"odd"; //过滤数组1中的奇数
echo "过滤偶数:n";
print_rarray_filter$array2,"even"; //过滤数组2中的偶数
//
$trans=array"a"=>1,"b"=>2,"c"=>3; //界说数组
$result=array_flip$trans; //反转数组
print_r$result; //输出反转后的数组
//
$array1=array"a"=>"green","b"=>"brown","c"=>"blue","red";
$array2=array"a"=>"green","yellow","red";
$result_array=array_intersect_assoc$array1,$array2; //交集赋值到$result_array
print_r$result_array; //输出成果数组