陣列 1
Array
(
[0] => Array
(
[id] => 4083
[player_name] => AD373
)
[1] => Array
(
[id] => 4084
[player_name] => SM8
)
[2] => Array
(
[id] => 4085
[player_name] => WW8
)
)
陣列 2
Array
(
[0] => Array
(
[id] => 4046
[player_name] => AD373
)
[1] => Array
(
[id] => 4080
[player_name] => WW8
)
[2] => Array
(
[id] => 4045
[player_name] => 8799
)
[3] => Array
(
[id] => 4060
[player_name] => SM8
)
)
我的代碼
foreach ($array1 as $gkey => $gvalue) {
$notexist = array();
foreach ($array2 as $smkey => $smvalue) {
if ($smvalue['player_name'] !== $gvalue['player_name']) {
$notexist[] = $smvalue;
}
}
}
問題:將有 2 個陣列,我想比較這 2 個陣列并找出僅出現在一個陣列中的值,即 value player_name 8799。但看起來我的代碼會存盤錯誤的結果。有沒有人可以幫助你:(?
uj5u.com熱心網友回復:
嘗試這個:
<?php
$array1 = Array(
0 => Array
(
'id' => 4083,
'player_name' => 'AD373'
),
1 => Array
(
'id' => 4084,
'player_name' => 'SM8'
),
2 => Array
(
'id' => 4085,
'player_name' => 'WW8'
)
);
$array2 = Array(
0 => Array
(
'id' => 4046,
'player_name' => 'AD373'
),
1 => Array
(
'id' => 4080,
'player_name' => 'WW8'
),
2 => Array
(
'id' => 4045,
'player_name' => 8799
),
3 => Array
(
'id' => 4060,
'player_name' => 'SM8'
)
);
foreach($array1 as $value){
$temp1[] = $value['player_name'];
}
foreach($array2 as $value){
$temp2[] = $value['player_name'];
}
$differences = array_merge(array_diff($temp1,$temp2), array_diff($temp2,$temp1));
print_r($differences);
輸出:
Array
(
[0] => 8799
)
uj5u.com熱心網友回復:
看這個例子
<?php
$array1 = array("a" => "green", "red", "blue", "red");
$array2 = array("b" => "green", "yellow", "red");
$result = array_diff($array1, $array2);
print_r($result);
?>
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/429105.html
上一篇:與通過python代碼執行數學相比,numpy`mean`的計算效率更高的情況
下一篇:Blazor的IDbContextFactory:何時使用CreateDbContextAsync異步版本與CreateDbContext
