php 数组key键比较,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

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程序设计有所帮助。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值