本文实例讲述了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_dump(array_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_fill(5,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=array(6,7,8,9,10,11,12); echo "过滤奇数:n"; print_r(array_filter($array1,"odd")); //过滤数组1中的奇数 echo "过滤偶数:n"; print_r(array_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); //输出结果数组 希望本文所述对大家的PHP程序设计有所帮助。 |