用php比较两个数组

时间:2017-01-20 16:31:19

标签: php arrays multidimensional-array

我需要一些帮助来比较一些数组与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时,它无法正常显示here

你能帮帮我吗? 谢谢。

1 个答案:

答案 0 :(得分:0)

尝试使用 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
)