我需要一些帮助来比较一些数组与 php,基本上我有两个数组(任务和员工):
阵列任务:
Array(
[0] => Array (
[days] => Monday
[hours] => 1,0,0,0,0,0
)
[1] => Array
(
[days] => Tuesday
[hours] => 1,1,0,0,0,1
)
)
阵列员工:
Array(
[0] => Array (
[days] => Monday
[hours] => 1,0,0,0,0,0
)
[1] => Array
(
[days] => Tuesday
[hours] => 1,1,0,0,0,1
)
)
[1] => Array
(
[days] => Wednesday
[hours] => 1,1,0,0,0,1
)
)
目的是比较员工是否有空执行任务,这意味着员工是否有空(上述案例)星期一和星期二,并包含工作时间(1和0代表时间,每一项的位置非常重要)。
首先,如果任务天数大于员工天数,则员工不可用:
foreach ($mission as $m) {
# code...
$m_days[] = $m['days'];
foreach ($employee as $e) {
$e_days[] = $e['days'];
}
$i++;
}
/// First condition if m_days > e_days so valid
$valid = (sizeof($m_days) > sizeof($e_days)) ? true : false;
此后,我不知道比较员工是否至少可以完成任务时间,例如,如果任务是星期一,工作时间:1,1,0,0,0,1,而员工星期一有空,工作时间:1 ,1,1,0,0,1 他可以接受任务,但如果他周一有空,时间为:1,0,0,0,0,1,他就不能接受任务。
使用 array_diff 时,它无法按照此处所示的方式工作
你能帮我一下吗? 谢谢。
尝试使用array_diff
示例 array_diff()
<?php
$array1 = array("a" => "car", "bike", "skateboard", "bike");
$array2 = array("b" => "car", "boat", "bike");
$result = array_diff($array1, $array2);
print_r($result);
?>
$array1 中多次出现的情况都以相同的方式处理。这将输出:
Array
(
[1] => skateboard
)