Jov*_*vic 12

这很简单.您链接的类forAll以下列方式实现该方法:

foreach ($this->_elements as $key => $element) {
     if ( ! $p($key, $element)) {
         return false;
     }
}
Run Code Online (Sandbox Code Playgroud)

所以,基于你应该调用forAll类似的东西:

$collection = ... #some data

$collection->forAll(function($key, $item){
    // Your logic here, based on $key and $item
});
Run Code Online (Sandbox Code Playgroud)

希望这有帮助....

编辑(示例):

  • 你有一个实体的对象Student,它有一个OneToMany学生的标记.
  • 您想检查学生是否已通过他/她选择的所有科目

    $student = ....
    $allPassed = $student->getMarks()->forAll(function($key, $mark){
        return $mark->getValue() != 'F';
    });
    
    Run Code Online (Sandbox Code Playgroud)

如果所有标记都是"A","B","C"或"D" ,$allPassed则将保留TRUE.即使他们中的一个人F会是FALSE.