标签:乱整 array2 array1 aaaaaa 数组 array php string
php获取两个数组相同的元素(交集)以及比较两个数组中不同的元素(差集)
(一)php获取两个数组相同元素
array array_intersect(array $array1, array $array2, [, array $...
])
array array_intersect_assoc(array $array1, array $array2, [, array $...
])
这两个方法的功能基本一致,都是返回两个数组(也可以是多个数组)中都存在的元素,不同的是,前者只考虑数组中元素的 value 一致就认为两者相同,而后者需要 key 和 value 都一致才认为两者相同,例如:
<?php $array1 = array('1', 'a' => 'aaaaaa', 'b' => 'bbbbbb', 'c'); $array2 = array('a' => 'aaaaaa', 'c' => 'bbbbbb', 'c', '1'); var_dump(array_intersect($array1,$array2)); 运行上面的代码会得到如下结果: array(4) { [0]=> string(1) "1" ["a"]=> string(6) "aaaaaa" ["b"]=> string(6) "bbbbbb" [1]=> string(1) "c" } 而使用方法 array_intersect_assoc()将会得到如下结果: array(1) { ["a"]=> string(6) "aaaaaa" }
(二)php比较两个数组中的不同元素
array array_diff(array $array1, array $array2, [, array $...
])
array array_diff_assoc(array $array1, array $array2, [, array $...
])
类似的,这两个方法的基本功能也是一致的,返回第一个数组中有,但是其它数组没有的元素。 前者只比较值,后者同时比较 key 和 value。
<?php $array1 = array('1', 'a' => 'aaaaaa', 'b' => 'bbbbbb', 'c'); $array2 = array('a' => 'aaaaaa', 'c' => 'bbbbbb', 'c', '1'); var_dump(array_diff($array1,$array2)); 上面代码的运行结果为: array(0) { } 而如果把最后一行更换为 var_dump(array_diff_assoc($array1, $array2)); 将得到如下结果: array(3) { [0]=> string(1) "1" ["b"]=> string(6) "bbbbbb" [1]=> string(1) "c" }
统计数组中值的重复个数方法1:
$arr=array(
1,1,2,3,4,5,5,5,5,5,2,2,8
);
$b = array();
foreach ($arr as $v){
$b[$v]++;
}
print_r($b);die;
Array
(
[1] => 2
[2] => 3
[3] => 1
[4] => 1
[5] => 5
[8] => 1
)
方法2:$arr1 = array_count_values($arr);
PHP统计数值数组中出现频率最多的10个数字的方法
//随机生成数值数组 for($i=0;$i<1000;$i++){ $ary[]=rand(1,1000); } //统计数组中所有的值出现的次数 $ary=array_count_values($ary); arsort($ary);//倒序排序 $i=1; foreach($ary as $key=>$value){ if($i<=10){ printf("数字:%d 共出现 %d 次<br/>",$key,$value); }else{ break; } $i++; } unset($ary);
1 2 3 4 5 6 7 8 9 10 |
数字:255 共出现 6 次
数字:443 共出现 5 次
数字:906 共出现 5 次
数字:623 共出现 5 次
数字:586 共出现 4 次
数字:660 共出现 4 次
数字:873 共出现 4 次
数字:208 共出现 4 次
数字:247 共出现 4 次
数字:240 共出现 4 次
|
标签:乱整,array2,array1,aaaaaa,数组,array,php,string
来源: https://www.cnblogs.com/yszr/p/10522322.html
本站声明:
1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。