php array_flip() 删除数组重复元素
作者:bea
方法如下: $arr = array(…………) ;//假设有一万个元素的数组,里面有重复的元素。 $arr = array_flip(array_flip($arr)); //这样便可以删除重复元素。 究竟是怎么回事呢?来看下array_flip()的作用:array_flip()用于将一个数组的每个元素的键和值交换,如: $arr1 = array (”age” => 30, “name” => “快乐园”); $arr2 = array_flip($arr1
方法如下:
$arr = array(…………) ;//假设有一万个元素的数组,里面有重复的元素。
$arr = array_flip(array_flip($arr)); //这样便可以删除重复元素。
究竟是怎么回事呢?来看下array_flip()的作用:array_flip()用于将一个数组的每个元素的键和值交换,如:
$arr1 = array (”age” => 30, “name” => “快乐园”);
$arr2 = array_flip($arr1); //$arr2 就是 array(30 => “age”, “快乐园” => “name”);
在PHP的数组中,允许不同的元素可以取同一个值,但不允许同一个键名被不同的元素使用,如:
$arr1 = array (”age” => 30, “name” => “快乐园”, “age” => 20); “age” => 20将会取代”age” => 30
$arr1 = array (”name” => “快乐园”, “age” => 45);
这里 $arr1与$arr2 是相等的。
于是,我们便可以知道,为什么 array_flip(array_flip($arr)) 可以删除数组中重复的元素了。首先,$arr里的值会变成键名,因为值是有重复的,变成键名之后这些重复的值便成了重复的键名,PHP引擎将重复的键名删除,只保留最后一个。如:
$arr1 = array (”age” => 30, “name” => “快乐园”, “age” => 20);
$arr1 = array_flip($arr1); //$arr1 变成了 array(”快乐园” => “name”, 20 => “age”);
//再把 $arr1 的键名与值还复:
$arr1 = array_flip($arr1);
上面的代码写得简洁一些就是: $arr1 = array_flip(array_flip($arr1));
有用 |
无用
$arr = array(…………) ;//假设有一万个元素的数组,里面有重复的元素。
$arr = array_flip(array_flip($arr)); //这样便可以删除重复元素。
究竟是怎么回事呢?来看下array_flip()的作用:array_flip()用于将一个数组的每个元素的键和值交换,如:
$arr1 = array (”age” => 30, “name” => “快乐园”);
$arr2 = array_flip($arr1); //$arr2 就是 array(30 => “age”, “快乐园” => “name”);
在PHP的数组中,允许不同的元素可以取同一个值,但不允许同一个键名被不同的元素使用,如:
$arr1 = array (”age” => 30, “name” => “快乐园”, “age” => 20); “age” => 20将会取代”age” => 30
$arr1 = array (”name” => “快乐园”, “age” => 45);
这里 $arr1与$arr2 是相等的。
于是,我们便可以知道,为什么 array_flip(array_flip($arr)) 可以删除数组中重复的元素了。首先,$arr里的值会变成键名,因为值是有重复的,变成键名之后这些重复的值便成了重复的键名,PHP引擎将重复的键名删除,只保留最后一个。如:
$arr1 = array (”age” => 30, “name” => “快乐园”, “age” => 20);
$arr1 = array_flip($arr1); //$arr1 变成了 array(”快乐园” => “name”, 20 => “age”);
//再把 $arr1 的键名与值还复:
$arr1 = array_flip($arr1);
上面的代码写得简洁一些就是: $arr1 = array_flip(array_flip($arr1));
猜你喜欢
您可能感兴趣的文章:
- 解决了Ajax、MySQL 和 Zend Framework 的乱码问题
- php Try Catch异常测试
- php 采集书并合成txt格式的实现代码
- PHP Ajax中文乱码问题解决方法
- php下几个常用的去空、分组、调试数组函数
- PHP 截取字符串 分别适合GB2312和UTF8编码情况
- PHP 操作文件的一些FAQ总结
- php实现从ftp服务器上下载文件树到本地电脑的程序
- PHP6 mysql连接方式说明
- PHP 数据库树的遍历方法
- 一周让你学会PHP 不错的学习资料
- 简化php模板页面中分页代码的解析
- 精通php的十大要点(上)
- PHP 加密/解密函数 dencrypt(动态密文,带压缩功能,支持中文)
- 防止MySQL注入或HTML表单滥用的PHP程序
- php 动态多文件上传
- PHP $_SERVER详解
- php 删除数组元素
- php完全过滤HTML,JS,CSS等标签