这是您预期的结果?
"OUR COMPANY";"100";"100";07/25/2017 5:02:57 PM;"Check Out";"1";"";0;"Fingerpint";""
"OUR COMPANY";"102";"102";07/25/2017 7:45:53 AM;"Check In";"1";"";0;"Fingerpint";""
"OUR COMPANY";"102";"102";07/25/2017 6:01:34 PM;"Check Out";"1";"";0;"Fingerpint";""
"OUR COMPANY";"104";"104";07/25/2017 8:00:06 AM;"Check Out";"1";"";0;"Fingerpint";""
"OUR COMPANY";"104";"104";07/25/2017 5:35:19 PM;"Check In";"1";"";0;"Fingerpint";""
"OUR COMPANY";"105";"105";07/25/2017 8:47:37 AM;"Check In";"1";"";0;"Fingerpint";""
"OUR COMPANY";"108";"108";07/25/2017 8:45:42 AM;"Check In";"1";"";0;"Fingerpint";""
"OUR COMPANY";"108";"108";07/25/2017 6:04:00 PM;"Check Out";"1";"";0;"Fingerpint";""
"OUR COMPANY";"11";"11";07/25/2017 8:57:34 AM;"Check In";"1";"";0;"Fingerpint";""
"OUR COMPANY";"11";"11";07/25/2017 5:12:06 PM;"Check Out";"1";"";0;"Fingerpint";""
"OUR COMPANY";"112";"112";07/25/2017 8:43:56 AM;"Check In";"1";"";0;"Password";""
"OUR COMPANY";"112";"112";07/25/2017 5:39:26 PM;"Check Out";"1";"";0;"Password";""
您应该尝试array_intersect。
如果约束只是ID and 'Check In/Out'
不考虑Datetime
或每天独特Check In/Out
,然后检查了这一点:
<?php
$myArray = array();
$myArray[] = array("OUR COMPANY","100","100","07/25/2017 5:02:57 PM","Check Out","1","",0,"Fingerpint","");
$myArray[] = array("OUR COMPANY","102","102","07/25/2017 7:45:53 AM","Check In","1","",0,"Fingerpint","");
$myArray[] = array("OUR COMPANY","102","102","07/25/2017 7:45:54 AM","Check In","1","",0,"Fingerpint","");
$myArray[] = array("OUR COMPANY","102","102","07/25/2017 6:01:34 PM","Check Out","1","",0,"Fingerpint","");
$myArray[] = array("OUR COMPANY","102","102","07/25/2017 6:01:35 PM","Check Out","1","",0,"Fingerpint","");
$myArray[] = array("OUR COMPANY","104","104","07/25/2017 8:00:06 AM","Check Out","1","",0,"Fingerpint","");
$myArray[] = array("OUR COMPANY","104","104","07/25/2017 5:35:19 PM","Check In","1","",0,"Fingerpint","");
$myArray[] = array("OUR COMPANY","105","105","07/25/2017 8:47:37 AM","Check In","1","",0,"Fingerpint","");
$myArray[] = array("OUR COMPANY","108","108","07/25/2017 8:45:42 AM","Check In","1","",0,"Fingerpint","");
$myArray[] = array("OUR COMPANY","108","108","07/25/2017 6:04:00 PM","Check Out","1","",0,"Fingerpint","");
$myArray[] = array("OUR COMPANY","11","11","07/25/2017 8:57:34 AM","Check In","1","",0,"Fingerpint","");
$myArray[] = array("OUR COMPANY","11","11","07/25/2017 5:12:06 PM","Check Out","1","",0,"Fingerpint","");
$myArray[] = array("OUR COMPANY","112","112","07/25/2017 8:43:56 AM","Check In","1","",0,"Password","");
$myArray[] = array("OUR COMPANY","112","112","07/25/2017 5:39:26 PM","Check Out","1","",0,"Password","");
$myArray[] = array("OUR COMPANY","112","112","07/25/2017 5:41:17 PM","Check Out","1","",0,"Password","");
/**
* Compare two arrays and return true if intersected counts are the same.
*/
function in_array_intersect ($target, $haystack) {
foreach ($haystack as $item) {
if ((count(array_intersect(array($item[1], $item[4]), $target)) == count($target))) {
return true;
}
}
return false;
}
// Define a new array to hold the matched records
$resultArray = array();
foreach ($myArray as $subArray) {
// Create a new array with only two columns, ID and CheckIn/Out
$target = array($subArray[1], $subArray[4]);
if (!in_array_intersect($target, $resultArray)){
// Add $subArray to $resultArray if no array is found in $resultArray by matching the columns constraint
array_push($resultArray, $subArray);
}
}
echo '<pre>';
print_r($resultArray);
echo '</pre>';
?>
结果:
Array
(
[0] => Array
(
[0] => OUR COMPANY
[1] => 100
[2] => 100
[3] => 07/25/2017 5:02:57 PM
[4] => Check Out
[5] => 1
[6] =>
[7] => 0
[8] => Fingerpint
[9] =>
)
[1] => Array
(
[0] => OUR COMPANY
[1] => 102
[2] => 102
[3] => 07/25/2017 7:45:53 AM
[4] => Check In
[5] => 1
[6] =>
[7] => 0
[8] => Fingerpint
[9] =>
)
[2] => Array
(
[0] => OUR COMPANY
[1] => 102
[2] => 102
[3] => 07/25/2017 6:01:34 PM
[4] => Check Out
[5] => 1
[6] =>
[7] => 0
[8] => Fingerpint
[9] =>
)
[3] => Array
(
[0] => OUR COMPANY
[1] => 104
[2] => 104
[3] => 07/25/2017 8:00:06 AM
[4] => Check Out
[5] => 1
[6] =>
[7] => 0
[8] => Fingerpint
[9] =>
)
[4] => Array
(
[0] => OUR COMPANY
[1] => 104
[2] => 104
[3] => 07/25/2017 5:35:19 PM
[4] => Check In
[5] => 1
[6] =>
[7] => 0
[8] => Fingerpint
[9] =>
)
[5] => Array
(
[0] => OUR COMPANY
[1] => 105
[2] => 105
[3] => 07/25/2017 8:47:37 AM
[4] => Check In
[5] => 1
[6] =>
[7] => 0
[8] => Fingerpint
[9] =>
)
[6] => Array
(
[0] => OUR COMPANY
[1] => 108
[2] => 108
[3] => 07/25/2017 8:45:42 AM
[4] => Check In
[5] => 1
[6] =>
[7] => 0
[8] => Fingerpint
[9] =>
)
[7] => Array
(
[0] => OUR COMPANY
[1] => 108
[2] => 108
[3] => 07/25/2017 6:04:00 PM
[4] => Check Out
[5] => 1
[6] =>
[7] => 0
[8] => Fingerpint
[9] =>
)
[8] => Array
(
[0] => OUR COMPANY
[1] => 11
[2] => 11
[3] => 07/25/2017 8:57:34 AM
[4] => Check In
[5] => 1
[6] =>
[7] => 0
[8] => Fingerpint
[9] =>
)
[9] => Array
(
[0] => OUR COMPANY
[1] => 11
[2] => 11
[3] => 07/25/2017 5:12:06 PM
[4] => Check Out
[5] => 1
[6] =>
[7] => 0
[8] => Fingerpint
[9] =>
)
[10] => Array
(
[0] => OUR COMPANY
[1] => 112
[2] => 112
[3] => 07/25/2017 8:43:56 AM
[4] => Check In
[5] => 1
[6] =>
[7] => 0
[8] => Password
[9] =>
)
[11] => Array
(
[0] => OUR COMPANY
[1] => 112
[2] => 112
[3] => 07/25/2017 5:39:26 PM
[4] => Check Out
[5] => 1
[6] =>
[7] => 0
[8] => Password
[9] =>
)
)
请格式化你的阵列 – JYoThI
同时发布你的尝试,让我们看看你已经尝试过。 – Rasclatt
我认为它应该是* Check in的第一个记录和Check Out的#last#记录。*不是吗? – JYoThI