php - 在 PHP 中比较和删除数组中的元素
问题描述
我需要的是比较两个不同的数组,其中有一个公共键。
我写了一个正在做我需要的函数,但我想知道是否有一种最快和干净的方法来获得相同的结果。
这是我的代码:
数组示例:
第一个数组:
Array
(
[0] => Array
(
[dafid] => daf_60304
[title] => Hansel & Gretel - Cacciatori di streghe
[creation] => 2018-09-01 00:02:25
)
[1] => Array
(
[dafid] => daf_115
[title] => Il grande Lebowski
[creation] => 2018-09-01 00:02:25
)
[2] => Array
(
[dafid] => daf_238636
[title] => Anarchia - La notte del giudizio
[creation] => 2018-09-01 00:02:25
)
这里是第二个数组:
Array
(
[0] => Array
(
[dafid] => daf_316727
[title] => La notte del giudizio - Election Year
[creation] => 2018-09-01 00:02:25
)
[1] => Array
(
[dafid] => daf_115
[title] => Il grande Lebowski
[creation] => 2018-09-01 00:02:25
)
[2] => Array
(
[dafid] => daf_209112
[title] => Batman v Superman: Dawn of Justice
[creation] => 2018-09-01 00:02:25
)
结果:
Array
(
[0] => Array
(
[dafid] => daf_60304
[title] => Hansel & Gretel - Cacciatori di streghe
[creation] => 2018-09-01 00:02:25
)
[1] => Array
(
[dafid] => daf_238636
[title] => Anarchia - La notte del giudizio
[creation] => 2018-09-01 00:02:25
)
结果应该是一个没有具有相同 [dafid] 元素的数组。我得到了制作这个功能的结果,但我正在寻找一个更干净的解决方案。
function removeAlreadyDAF($array1,$array2) {
$dafNextMovies = $array1;
$dafDB = array2;
foreach ($dafDB as $k => $v) {
//$v['dafid']; //id release
foreach ($dafNextMovies as $key => $value) {
//loop release disponibili
if ($value['dafid'] == $v['dafid']) {
unset($dafNextMovies[$key]);
}
}
}
$dafNextMovies = array_values($dafNextMovies);
return $dafNextMovies;
}
解决方案
检查此功能:array_udiff
第三个参数你将如何选择元素。它应该是这样的。评论中有一个例子。检查它(函数 compare_names($a, $b))
private function compareData($a, $b) {
return strcmp($a['name'], $b['name']);
}
推荐阅读
- stripe-payments - 使用 SetupIntent 和 PaymentIntent 时,是否有等效于默认来源的方法?
- c# - 如何在 QnAMakerDialogbase 中获取 qna 响应:QnAMakerDialog
- python - 如何通过 Python 上的 Bitmex Websocket Api 接收实时数据?
- keycloak - Red Hat SSO 7.3.0.GA 的 Keycloak API 调用依赖项
- http - 戈朗。如何自动授权我的应用访问 spotify API?
- java - Intellij 中的 AWSToolkit,环境变量不起作用
- javascript - 使用 Jest 对仅在函数存在时调用函数的 JavaScript 进行单元测试
- python - 无法摆脱使用 asyncio 时出现的一些错误页面
- php - 使用 htaccess 重定向到 https,但不使用 XAMPP 进行开发
- c# - 我可以对 Azure Cosmos 中的 DateTimeOffset 序列化对象使用 DateTimePart 函数吗?