Убедитесь, что все данные строк из 2D-массива соответствуют строкам другого 2D-массива.Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Убедитесь, что все данные строк из 2D-массива соответствуют строкам другого 2D-массива.

Сообщение Anonymous »

Мне нужно подтвердить, все ли строки миссии подтверждены данными, найденными в массиве сотрудников. Для каждого соответствующего дня в массиве миссии каждое из шести значений часов с разделителями должно быть равно или меньше соответствующего значения часа в массиве сотрудников.

Код: Выделить всё

$mission = [
['days' => 'Monday', 'hours' => '1,0,0,0,0,0'],
['days' => 'Tuesday', 'hours' => '1,1,0,0,0,1'],
];

$employee = [
['days' => 'Monday', 'hours' => '1,0,0,0,0,0'],
['days' => 'Tuesday', 'hours' => '1,1,0,0,0,1'],
['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()< /code>, но он не работает так, как показано здесь.

Подробнее здесь: https://stackoverflow.com/questions/417 ... -another-2
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»