導航:首頁 > 編程語言 > 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比較兩個二維數組相關的資料

熱點內容
pdf如何列印彩色列印 瀏覽:451
伺服器程序tfftp什麼意思 瀏覽:593
工作解壓的最佳方法 瀏覽:710
linux創建php文件 瀏覽:661
單片機入門知乎 瀏覽:557
漂泊生活女程序員找房子 瀏覽:271
公務員和程序員的待遇 瀏覽:167
windows靜態連接庫怎麼編譯 瀏覽:797
oppo怎麼把文件夾變大 瀏覽:108
希臘pdf下載 瀏覽:734
蘋果手機和安卓耳機藍牙怎麼連接 瀏覽:18
怎麼樣伺服器開啟啊 瀏覽:453
fft命令 瀏覽:305
js代碼核心編譯 瀏覽:677
平滑曲線命令 瀏覽:633
條件編譯函數名為什麼要有下劃線 瀏覽:805
linux下運行python腳本 瀏覽:138
蘋果電腦c語言怎麼編譯 瀏覽:481
聽一下伺服器是什麼意思 瀏覽:205
erp加密哪家強 瀏覽:209