【发布时间】:2019-09-11 13:07:58
【问题描述】:
我有一个多维数组。我需要搜索数组并检索彼此匹配的日期实例。
这是我的数组:
$dateArray = array(8) {
[0]=>
array(15) {
["bookable_id"]=>
string(1) "1"
["event_date"]=>
string(10) "2019-09-11"
}
[1]=>
array(15) {
["bookable_id"]=>
string(1) "1"
["event_date"]=>
string(10) "2019-09-11"
}
[2]=>
array(15) {
["bookable_id"]=>
string(1) "4"
["event_date"]=>
string(10) "2019-10-17"
}
[3]=>
array(15) {
["bookable_id"]=>
string(1) "4"
["event_date"]=>
string(10) "2019-10-17"
}
[4]=>
array(15) {
["bookable_id"]=>
string(1) "3"
["event_date"]=>
string(10) "2020-09-15"
}
[5]=>
array(15) {
["bookable_id"]=>
string(1) "3"
["event_date"]=>
string(10) "2020-09-15"
}
[6]=>
array(15) {
["bookable_id"]=>
string(1) "2"
["event_date"]=>
string(10) "2021-09-09"
}
}
这是我的功能:
function searchMatchingDates($compare, $array)
{
foreach ($array as $val) {
if ($compare["event_date"]== $val["event_date"]){
return $val;
}
}
return null;
这就是我搜索它的方式:
foreach ($dateArray as $compare) {
$match = searchMatchingDates($compare, $array);
}
if($match){
echo "$compare['bookable_id'] + $match['bookable_id']; "
}
这有效并返回日期。然而,它返回重复的日期,因为数组将比较两次。
一旦一个数组被比较过一次,我需要一种方法来删除一个数组。
例如,一旦数组曾经运行过它的迭代,就需要将其删除,以便下一个数组不会对其进行比较。
【问题讨论】:
-
从数组中删除重复值:- stackoverflow.com/questions/307674/…
标签: php arrays multidimensional-array