У меня есть большой набор временных записей для проекта, и я хочу отфильтровать все, кроме тех, которые опубликованы одним сотрудником.
array_walk($timeRecords, function($timeRecord, $index) use ($employee) {
if ($timeRecord->employeeId != $employee->id) {
unset($timeRecords[$index]);
}
});
Вы можете видеть, что я пытаюсь сделать. Как вы поступаете с анон-функциями и замыканиями? Очевидно, $ timeRecords не определен внутри анонимной функции. Благодарю.
Calimero указал, что это не тот инструмент для работы. Желаемый эффект может быть достигнут с помощью array_filter. Array_walk, похоже, предназначен для изменения отдельных элементов массива по ссылке.
Это как добиться того, чего я хотел.
$timeRecords = array_filter($timeRecords, function($timeRecord) use ($employee) {
if ($timeRecord->EmployeeId == $employee->EmployeeId) {
return $timeRecord;
}
});
Других решений пока нет …