src/ArrayIntersections.php
protected function createIntersections() {
    $totalNumberOfCombinations = min(pow(2, $this->arraysSize), $this->maxNumberOfCombinations);
    $maskGenerator = new BitMaskGenerator($this->arraysSize, 2);
    $i = 0;
    $noresult = 0;
    while ($i < $totalNumberOfCombinations && $noresult < $totalNumberOfCombinations && $mask = $maskGenerator->getNextMask()) {
      if (!$this->isNoResultMask($mask)) {
        $i++;
        $this->generateIntersection($mask);
        continue;
      }
      $noresult++;
    }

    if (!is_null($this->intersections)) {
      uasort($this->intersections, function ($a, $b) {
        return count($b) - count($a);
      });
    }
  }
protected function createIntersections() {
    $totalNumberOfCombinations = min(pow(2, $this->arraysSize), $this->maxNumberOfCombinations);
    $maskGenerator = new BitMaskGenerator($this->arraysSize, 2);
    $i = 0;
    $noresult = 0;
    while ($i < $totalNumberOfCombinations && $noresult < $totalNumberOfCombinations && $mask = $maskGenerator->getNextMask()) {
      if (!$this->isNoResultMask($mask)) {
        $i++;
        $this->generateIntersection($mask);
        continue;
      }
      $noresult++;
    }

    if (!is_null($this->intersections)) {
      uasort($this->intersections, function ($a, $b) {
        return count($b) - count($a);
      });
    }
  }
protected function createIntersections ( ) { $ totalNumberOfCombinations = min ( pow ( 2 , $ this -> arraysSize ) , $ this -> maxNumberOfCombinations ) ; $ maskGenerator = new BitMaskGenerator ( $ this -> arraysSize , 2 ) ; $ i = 0 ; $ noresult = 0 ; while ( $ i < $ totalNumberOfCombinations && $ noresult < $ totalNumberOfCombinations && $ mask = $ maskGenerator -> getNextMask ( ) ) { if ( ! $ this -> isNoResultMask ( $ mask ) ) { $ i ++ ; $ this -> generateIntersection ( $ mask ) ; continue ; } $ noresult ++ ; } if ( ! is_null ( $ this -> intersections ) ) { uasort ( $ this -> intersections , function ( $ a , $ b ) { return count ( $ b ) - count ( $ a ) ; } ) ; } }
Create all intersections given the constructor parameters.
Create all intersections given the constructor parameters .