导航:首页 > 编程语言 > php比较两个二维数组

php比较两个二维数组

发布时间:2024-12-17 17:51:04

1. php判断多维数组值的大小

$arr = [
    [1, 2, 3, 4, 5],
    [1, 2, 3, 4, 5, 6, 7, 8],
    [1, 2, 3, 4, 5, 6, 7]
];

echo count($arr);   // 3 二维数组长度
echo count($arr[0]);// 5 二维数组子数组长度
echo count($arr[1]);// 8 二维数组子数组长度
你可以去后盾人平台看看,里面的东西不错

2. PHP获取二维数组中相同的元素

$a = array(array('id' => '10'),array('id' => '2'),array('id' => '10'),array('id' => '3'),array('id' => '2'));

$ids = array();
foreach($a as $k=>$v)
{
foreach($v as $value)
{
if(!in_array($value,$ids))
$ids[] = $value;
}
}
foreach($a as $k=>$v)
{
foreach($v as $value)
{

foreach($ids as $key=>$id)
{
if($id == $value)
{
$res[$key]['id'] = $id;
$res[$key]['num']++;
}
}

}
}

print_r($ids);
print_r($res);

Array
(
[0] => 10
[1] => 2
[2] => 3
)
Array
(
[0] => Array
(
[id] => 10
[num] => 2
)

[1] => Array
(
[id] => 2
[num] => 2
)

[2] => Array
(
[id] => 3
[num] => 1
)

)

3. php 两个二维数组比较,从第一个二维数组中,将第二个二维数组不同项挑选出来,最终合并成为一个新的数组

方法是使用array_udiff函数。代码如下:

function diff_arr($a, $b){
return $a["id"] > $b["id"] ? 1 : ($a["id"] < $b["id"] ? -1 : 0);
}
print_r(array_udiff($arr0, $arr1, "diff_arr"));

4. php 怎么随机抽取二维数组里的几个数组

//你的数组少写了个逗号
$data=array(
array(
"price"=>"6874","air"=>"国泰"
),
array(
"price"=>"4726","air"=>"大韩航空"
),
array(
"price"=>"6569","air"=>"国泰航空"
),
array(
"price"=>"6569","air"=>"卡塔尔航空"
),
array(
"price"=>"3380","air"=>"美国航空"
),
array(
"price"=>"4200","air"=>"泰国航空"
)
);
//随机选择出两个元素
$temp=array_rand($data,2);
//重组数组
foreach($tempas$val){
$data_last[]=$data[$val];
}
print_R($data_last);

5. php 根据某个字段对二维数组这个数组排序

试编写代码如下:

<?php
$array[] = array('id'=>1,'price'=>50);
$array[] = array('id'=>2,'price'=>70);
$array[] = array('id'=>3,'price'=>30);
$array[] = array('id'=>4,'price'=>20);

foreach ($array as $key=>$value){
$id[$key] = $value['id'];
$price[$key] = $value['price'];
}

array_multisort($price,SORT_NUMERIC,SORT_DESC,$id,SORT_STRING,SORT_ASC,$array);
echo '<pre>';
print_r($array);
echo '</pre>';
?>

运行结果:

Array
(
[0] => Array
(
[id] => 2
[price] => 70
)

[1] => Array
(
[id] => 1
[price] => 50
)

[2] => Array
(
[id] => 3
[price] => 30
)

[3] => Array
(
[id] => 4
[price] => 20
)

)

6. php 2个二维数组 如何判断差集

<?php
$a=[
["sbnumber"=>"0513-0001-00001","name"=>"心安苑"],
["sbnumber"=>"0513-0001-00002","name"=>"中正苑"],
["sbnumber"=>"0513-0001-00003","name"=>"务实苑"],
["sbnumber"=>"0513-0001-00004","name"=>"服务苑"],
["sbnumber"=>"0513-0001-00005","name"=>"张三"]
];
$b=[
["sbnumber"=>"0513-0001-00001","name"=>"心安苑"],
["sbnumber"=>"0513-0001-00002","name"=>"中正苑"],
["sbnumber"=>"0513-0001-00003","name"=>"务实苑"],
["sbnumber"=>"0513-0001-00004","name"=>"服务苑"],
["sbnumber"=>"0513-0001-00007","name"=>"李四"]
];
$cmp=function($av,$bv){
$r=strcmp($av['sbnumber'],$bv['sbnumber']);
return$r===0?strcmp($av['name'],$bv['name']):$r;
};
$c=array_values(array_udiff($a,$b,$cmp));
$d=array_udiff($b,$a,$cmp);
foreach($das&$dv)$c[]=$dv;
unset($d);
var_mp($c);
array(2){
[0]=>array(2){["sbnumber"]=>string(15)"0513-0001-00005"["name"]=>string(6)"张三"}
[1]=>array(2){["sbnumber"]=>string(15)"0513-0001-00007"["name"]=>string(6)"李四"}
}

需要比两次才能互相比出差集,再合并结果。还有这里的记录间根据各项内容(比如名字)来确定不同,所以用自定义的对内容的比较规则..

7. php判断二维数组中是否含有某个值

可以使用遍历二维数组的办法判断,还可以统计出现的次数或者输出key值。代码如下:
<?php
$d=100;
$tot=0;
$cars=array
(
array("Volvo",100,96),
array("BMW",100,59),
array("Toyota",110,100)
);
foreach($carsas$v)
{
if(is_array($v))
{
foreach($vas$a)
{
if($a==$d)
$tot++;
}
}
else
{
if($v==$d)
$tot++;
}
}
echo($tot);
?>

阅读全文

与php比较两个二维数组相关的资料

热点内容
php绘制emoji 浏览:35
安卓桌面工具怎么删除 浏览:54
外六角螺丝套头算法 浏览:838
程序员特殊招数是什么意思 浏览:351
描述加密过程 浏览:844
我的世界如何开mod服务器 浏览:904
人体写生pdf 浏览:317
android短信验证码倒计时 浏览:641
排课走班源码 浏览:222
程序员刚毕业去了小公司有发展吗 浏览:90
速腾怎么安装安卓手机互联 浏览:143
linux设备驱动程序代码 浏览:301
服务器的功耗怎么看 浏览:651
app组件哪里找 浏览:87
androidqq红包 浏览:412
服务器如何传输 浏览:456
如何快速将多个文件夹快速解压缩 浏览:114
程序员睡前都在想什么 浏览:37
少儿编程技能培训心得 浏览:458
白命令 浏览:816