php数组操作如何实现键名比较与差集、交集赋值
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; //输出结果数组