Меня интересует пересечение многомерных массивов.Я попробовал код ниже, но я получил плохой результат.Мне нужен новый массив ( NewDochazka ) с данными пересечения дат 2018-09- (22/25/28).Вероятно, это будет простая проблема, которую я не вижу.Спасибо
Мой код:
// Multidimensional Arrays
$dochazka = array(
"dochazka-0001" => array('2018-09-22', '06:30:05'),
"dochazka-0002" => array('2018-09-22', '09:09:41'),
"dochazka-0003" => array('2018-09-24', '04:30:05'),
"dochazka-0004" => array('2018-09-25', '07:09:21'),
"dochazka-0005" => array('2018-09-26', '21:09:09'),
"dochazka-0006" => array('2018-09-26', '21:09:52'),
"dochazka-0007" => array('2018-09-28', '10:09:31'),
"dochazka-0008" => array('2018-09-28', '10:33:12'),
"dochazka-0009" => array('2018-09-28', '10:35:29'),
);
$cinnosti = array(
"cinnost-0001" => array('Project 2', '2018-09-22', '07:23:56'),
"cinnost-0002" => array('Project 1', '2018-09-22', '07:26:56'),
"cinnost-0003" => array('Project 1', '2018-09-25', '13:09:53'),
"cinnost-0004" => array('Project 1', '2018-09-28', '10:35:29'),
);
// Intersect of dates
$NewDochazka = array_uintersect($dochazka, $cinnosti, 'prunikHodnot');
function prunikHodnot($a, $b){
return strcmp($a[0], $b[1]);
}
Результат
$NewDochazka = array(
"dochazka-0008" => array('2018-09-28', '10:33:12'),
);
Ожидается
$NewDochazka = array(
"dochazka-0001" => array('2018-09-22', '06:30:05'),
"dochazka-0002" => array('2018-09-22', '09:09:41'),
"dochazka-0004" => array('2018-09-25', '07:09:21'),
"dochazka-0007" => array('2018-09-28', '10:09:31'),
"dochazka-0008" => array('2018-09-28', '10:33:12'),
"dochazka-0009" => array('2018-09-28', '10:35:29'),
);