Pinq\ITraversable::groupJoin PHP Méthode

groupJoin() public méthode

Matches the values with the supplied values according to the supplied filter, groups the the joined values for every original and then maps into as according to the supplied function.
public groupJoin ( array | Traversable $values ) : Pinq\Interfaces\IJoiningOnTraversable
$values array | Traversable
Résultat Pinq\Interfaces\IJoiningOnTraversable
    public function groupJoin($values);

Usage Example

Exemple #1
0
 /**
  * @dataProvider assocMixedValues
  */
 public function testCalledWithCorrectValueAndKeyParameters(\Pinq\ITraversable $traversable, array $data)
 {
     $traversable->groupJoin([0 => 0])->on(function ($outer, $inner, $outerKey, $innerKey) use($data) {
         $this->assertSame($data[$outerKey], $outer);
         $this->assertSame($inner, 0);
         $this->assertSame($innerKey, 0);
         return true;
     })->to(function ($outer, \Pinq\ITraversable $group, $outerKey, $groupKey) use($data) {
         $this->assertSame($data[$outerKey], $outer);
         $this->assertSame($group->asArray(), [0 => 0]);
         $this->assertSame($groupKey, 0);
     })->asArray();
     $traversable->groupJoin([0 => 0])->onEquality(function ($outer, $outerKey) use($data) {
         $this->assertSame($data[$outerKey], $outer);
         return 'group Key';
     }, function ($inner, $innerKey) {
         $this->assertSame($inner, 0);
         $this->assertSame($innerKey, 0);
         return 'group Key';
     })->to(function ($outer, \Pinq\ITraversable $group, $outerKey, $groupKey) use($data) {
         $this->assertSame($data[$outerKey], $outer);
         $this->assertSame($group->asArray(), [0 => 0]);
         $this->assertSame($groupKey, 'group Key');
     })->asArray();
 }
All Usage Examples Of Pinq\ITraversable::groupJoin