замыкания — Php array_walk с анонимной функцией для фильтрации результатов

У меня есть большой набор временных записей для проекта, и я хочу отфильтровать все, кроме тех, которые опубликованы одним сотрудником.

array_walk($timeRecords, function($timeRecord, $index) use ($employee) {
if ($timeRecord->employeeId != $employee->id) {
unset($timeRecords[$index]);
}
});

Вы можете видеть, что я пытаюсь сделать. Как вы поступаете с анон-функциями и замыканиями? Очевидно, $ timeRecords не определен внутри анонимной функции. Благодарю.

0

Решение

Calimero указал, что это не тот инструмент для работы. Желаемый эффект может быть достигнут с помощью array_filter. Array_walk, похоже, предназначен для изменения отдельных элементов массива по ссылке.

Это как добиться того, чего я хотел.

$timeRecords = array_filter($timeRecords, function($timeRecord) use ($employee) {
if ($timeRecord->EmployeeId == $employee->EmployeeId) {
return $timeRecord;
}
});
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]