使用 php 比较两个数组

问题描述 投票:0回答:1

我需要一些帮助来比较一些数组与 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 时,它无法按照此处所示的方式工作

你能帮我一下吗? 谢谢。

php arrays multidimensional-array
1个回答
-1
投票

尝试使用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
)
© www.soinside.com 2019 - 2024. All rights reserved.