首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何删除两个数组之间的重复数组?

如何删除两个数组之间的重复数组?
EN

Stack Overflow用户
提问于 2018-08-29 06:38:33
回答 1查看 67关注 0票数 1

我想移除两个数组之间的相同数组。

代码语言:javascript
复制
1 )  $getAlldate

array:8 [▼
  0 => "2018-08-17"
  1 => "2018-08-20"
  2 => "2018-08-21"
  3 => "2018-08-22"
  4 => "2018-08-23"
  5 => "2018-08-24"
  6 => "2018-08-27"
  7 => "2018-08-28"
]

2) $getHoliday
array:7 [▼
  0 => "2019-1-1"
  1 => "2019-3-6"
  2 => "2019-2-28"
  3 => "2019-5-2"
  4 => "2019-4-25"
  5 => "2018-8-27"
  6 => "2018-8-28"
]

正如您在我的数组中看到的2018-08-27,2018-08-28与$getholiday是重复的,我尝试使用array_diff,但它仍然不起作用。

代码语言:javascript
复制
$a = array_diff($getAllDate, $getHoliday);
$b = array_unique($a);

如何输出像这样的$getalldate删除相同的值$getHoliday

代码语言:javascript
复制
array:8 [▼
  0 => "2018-08-17"
  1 => "2018-08-20"
  2 => "2018-08-21"
  3 => "2018-08-22"
  4 => "2018-08-23"
  5 => "2018-08-24"
]
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-29 06:56:38

这两个日期的格式是不同的。

尝试:

PHP代码:

代码语言:javascript
复制
$getAlldate =  [
   "2018-08-17",
   "2018-08-20",
   "2018-08-21",
   "2018-08-22",
   "2018-08-23",
   "2018-08-24",
   "2018-08-27",
   "2018-08-28"
];


$getHoliday=[
   "2019-1-1",
   "2019-3-6",
   "2019-2-28",
   "2019-5-2",
   "2019-4-25",
   "2018-8-27",
   "2018-8-28"
];

$formattedHoliday = array_map(function ($holiday) {
    $alldateFormat = 'Y-m-d';
    $HolidayFormat = 'Y-n-d';
    $date = DateTime::createFromFormat($HolidayFormat, $holiday);
    return $date->format($alldateFormat);
}, $getHoliday);

var_dump(array_diff($getAlldate, $formattedHoliday));

输出:https://3v4l.org/rCLCk

请参阅:

DateTime::createFromFormathttp://php.net/manual/en/datetime.createfromformat.php

DateTime::formathttp://php.net/manual/en/datetime.format.php

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52070994

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档