导航:首页 > 编程语言 > 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比较两个二维数组相关的资料

热点内容
python批量生成密钥 浏览:490
程序员要不要考社区人员 浏览:150
app的钱怎么充q币 浏览:813
android银行卡识别 浏览:751
怎么在app投放广告 浏览:11
手机文件管理怎么看app名称 浏览:192
程序员学数学哪本书最全 浏览:784
macd实战选股公式源码 浏览:644
加密芯片的计算方法 浏览:187
手机存储为什么找不到微信文件夹 浏览:697
msf端口迁移命令 浏览:880
工商app积分怎么查询 浏览:145
铁路app怎么买火车票 浏览:311
移魅族除的app怎么添加 浏览:240
兔笼子大号加密 浏览:171
单片机程序烧录操作成功 浏览:878
指标高抛低吸点位源码 浏览:205
25匹压缩机铜管 浏览:570
单片机单灯左移05 浏览:150
买服务器练手什么配置 浏览:783