编程语言
首页 > 编程语言> > php 乱整

php 乱整

作者:互联网

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