0

プロジェクトのタイム レコードが大量にあり、1 人の従業員によって投稿されたもの以外を除外したいと考えています。

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

私がやろうとしていることを見ることができます。アノン関数とクロージャーでこれを行うにはどうすればよいですか? 明らかに、 $timeRecords は無名関数内で定義されていません。ありがとう。

4

1 に答える 1

0

Calimero は、それはこの仕事には不適切なツールであると指摘しました。目的の効果は、array_filter を使用して実現できます。Array_walk は、参照によって個々の配列項目を変更するように設計されているようです。

これが私が望んでいたことを達成する方法です。

$timeRecords = array_filter($timeRecords, function($timeRecord) use ($employee) {
    if ($timeRecord->EmployeeId == $employee->EmployeeId) {
        return $timeRecord;
    }
});
于 2015-11-24T19:53:49.053 に答える