@@ -54,8 +54,10 @@ discard block |
||
| 54 | 54 | private function getSingleComparer() |
| 55 | 55 | { |
| 56 | 56 | $comparer = $this->comparer; |
| 57 | - if ($this->isReversed) |
|
| 58 | - $comparer = function($a, $b) use ($comparer) { return -$comparer($a, $b); }; |
|
| 57 | + if ($this->isReversed) { |
|
| 58 | + $comparer = function($a, $b) use ($comparer) { return -$comparer($a, $b); |
|
| 59 | + } |
|
| 60 | + }; |
|
| 59 | 61 | return $comparer; |
| 60 | 62 | } |
| 61 | 63 | |
@@ -116,8 +118,9 @@ discard block |
||
| 116 | 118 | $array = $this->source->tryGetArrayCopy(); |
| 117 | 119 | |
| 118 | 120 | $it = $this->trySortBySingleField($array, $canMultisort); |
| 119 | - if ($it !== null) |
|
| 120 | - return $it; |
|
| 121 | + if ($it !== null) { |
|
| 122 | + return $it; |
|
| 123 | + } |
|
| 121 | 124 | |
| 122 | 125 | return $this->sortByMultipleFields($array, $canMultisort); |
| 123 | 126 | } |
@@ -126,24 +129,23 @@ discard block |
||
| 126 | 129 | { |
| 127 | 130 | if ($this->parent !== null || $array === null) { |
| 128 | 131 | return null; |
| 129 | - } |
|
| 130 | - elseif ($this->keySelector === Functions::$value) { |
|
| 131 | - if (!$canMultisort) |
|
| 132 | - uasort($array, $this->getSingleComparer()); |
|
| 133 | - elseif ($this->sortOrder == SORT_ASC) |
|
| 134 | - asort($array, $this->sortFlags); |
|
| 135 | - else |
|
| 136 | - arsort($array, $this->sortFlags); |
|
| 137 | - } |
|
| 138 | - elseif ($this->keySelector === Functions::$key) { |
|
| 139 | - if ($canMultisort) |
|
| 140 | - uksort($array, $this->getSingleComparer()); |
|
| 141 | - elseif ($this->sortOrder == SORT_ASC) |
|
| 142 | - ksort($array, $this->sortFlags); |
|
| 143 | - else |
|
| 144 | - krsort($array, $this->sortFlags); |
|
| 145 | - } |
|
| 146 | - else { |
|
| 132 | + } elseif ($this->keySelector === Functions::$value) { |
|
| 133 | + if (!$canMultisort) { |
|
| 134 | + uasort($array, $this->getSingleComparer()); |
|
| 135 | + } elseif ($this->sortOrder == SORT_ASC) { |
|
| 136 | + asort($array, $this->sortFlags); |
|
| 137 | + } else { |
|
| 138 | + arsort($array, $this->sortFlags); |
|
| 139 | + } |
|
| 140 | + } elseif ($this->keySelector === Functions::$key) { |
|
| 141 | + if ($canMultisort) { |
|
| 142 | + uksort($array, $this->getSingleComparer()); |
|
| 143 | + } elseif ($this->sortOrder == SORT_ASC) { |
|
| 144 | + ksort($array, $this->sortFlags); |
|
| 145 | + } else { |
|
| 146 | + krsort($array, $this->sortFlags); |
|
| 147 | + } |
|
| 148 | + } else { |
|
| 147 | 149 | return null; |
| 148 | 150 | } |
| 149 | 151 | return new \ArrayIterator($array); |
@@ -154,14 +156,16 @@ discard block |
||
| 154 | 156 | $orders = []; |
| 155 | 157 | for ($order = $this; $order !== null; $order = $order->parent) { |
| 156 | 158 | $orders[] = $order; |
| 157 | - if ($order->sortFlags === null) |
|
| 158 | - $canMultisort = false; |
|
| 159 | + if ($order->sortFlags === null) { |
|
| 160 | + $canMultisort = false; |
|
| 161 | + } |
|
| 159 | 162 | } |
| 160 | 163 | $orders = array_reverse($orders); |
| 161 | 164 | |
| 162 | 165 | $it = $this->trySortArrayWithMultisort($array, $orders, $canMultisort); |
| 163 | - if ($it !== null) |
|
| 164 | - return $it; |
|
| 166 | + if ($it !== null) { |
|
| 167 | + return $it; |
|
| 168 | + } |
|
| 165 | 169 | |
| 166 | 170 | return $this->sortIterator($orders, $canMultisort); |
| 167 | 171 | } |
@@ -169,20 +173,23 @@ discard block |
||
| 169 | 173 | private function sortIterator(array $orders, bool $canMultisort) |
| 170 | 174 | { |
| 171 | 175 | $enum = []; |
| 172 | - if ($canMultisort) |
|
| 173 | - $this->sortIteratorWithMultisort($enum, $orders); |
|
| 174 | - else |
|
| 175 | - $this->sortIteratorWithUsort($enum, $orders); |
|
| 176 | + if ($canMultisort) { |
|
| 177 | + $this->sortIteratorWithMultisort($enum, $orders); |
|
| 178 | + } else { |
|
| 179 | + $this->sortIteratorWithUsort($enum, $orders); |
|
| 180 | + } |
|
| 176 | 181 | |
| 177 | - foreach ($enum as $pair) |
|
| 178 | - yield $pair[0] => $pair[1]; |
|
| 182 | + foreach ($enum as $pair) { |
|
| 183 | + yield $pair[0] => $pair[1]; |
|
| 184 | + } |
|
| 179 | 185 | } |
| 180 | 186 | |
| 181 | 187 | private function trySortArrayWithMultisort($array, array $orders, bool $canMultisort) |
| 182 | 188 | { |
| 183 | 189 | /** @var $order OrderedEnumerable */ |
| 184 | - if ($array === null || !$canMultisort) |
|
| 185 | - return null; |
|
| 190 | + if ($array === null || !$canMultisort) { |
|
| 191 | + return null; |
|
| 192 | + } |
|
| 186 | 193 | |
| 187 | 194 | $args = []; |
| 188 | 195 | foreach ($orders as $order) { |
@@ -205,8 +212,9 @@ discard block |
||
| 205 | 212 | private function sortIteratorWithMultisort(&$enum, array $orders) |
| 206 | 213 | { |
| 207 | 214 | /** @var $order OrderedEnumerable */ |
| 208 | - foreach ($this->source as $k => $v) |
|
| 209 | - $enum[] = [ $k, $v ]; |
|
| 215 | + foreach ($this->source as $k => $v) { |
|
| 216 | + $enum[] = [ $k, $v ]; |
|
| 217 | + } |
|
| 210 | 218 | |
| 211 | 219 | $args = []; |
| 212 | 220 | foreach ($orders as $order) { |
@@ -243,8 +251,9 @@ discard block |
||
| 243 | 251 | $order = $orders[$i]; |
| 244 | 252 | $comparer = $order->comparer; |
| 245 | 253 | $diff = $comparer($a[$i + 2], $b[$i + 2]); |
| 246 | - if ($diff != 0) |
|
| 247 | - return $order->isReversed ? -$diff : $diff; |
|
| 254 | + if ($diff != 0) { |
|
| 255 | + return $order->isReversed ? -$diff : $diff; |
|
| 256 | + } |
|
| 248 | 257 | } |
| 249 | 258 | return 0; |
| 250 | 259 | }); |
@@ -56,16 +56,20 @@ discard block |
||
| 56 | 56 | public static function createLambda($closure, string $closureArgs, $default = null) |
| 57 | 57 | { |
| 58 | 58 | if ($closure === null) { |
| 59 | - if ($default === null) |
|
| 60 | - throw new \InvalidArgumentException(self::ERROR_CLOSURE_NULL); |
|
| 59 | + if ($default === null) { |
|
| 60 | + throw new \InvalidArgumentException(self::ERROR_CLOSURE_NULL); |
|
| 61 | + } |
|
| 61 | 62 | return $default; |
| 62 | 63 | } |
| 63 | - if ($closure instanceof \Closure) |
|
| 64 | - return $closure; |
|
| 65 | - if (is_string($closure) && ($function = self::createLambdaFromString($closure, $closureArgs))) |
|
| 66 | - return $function; |
|
| 67 | - if (is_callable($closure)) |
|
| 68 | - return $closure; |
|
| 64 | + if ($closure instanceof \Closure) { |
|
| 65 | + return $closure; |
|
| 66 | + } |
|
| 67 | + if (is_string($closure) && ($function = self::createLambdaFromString($closure, $closureArgs))) { |
|
| 68 | + return $function; |
|
| 69 | + } |
|
| 70 | + if (is_callable($closure)) { |
|
| 71 | + return $closure; |
|
| 72 | + } |
|
| 69 | 73 | throw new \InvalidArgumentException(self::ERROR_CLOSURE_NOT_CALLABLE); |
| 70 | 74 | } |
| 71 | 75 | |
@@ -83,8 +87,7 @@ discard block |
||
| 83 | 87 | if ($closure === null) { |
| 84 | 88 | $isReversed = false; |
| 85 | 89 | return $sortOrder === SORT_DESC ? Functions::$compareStrictReversed : Functions::$compareStrict; |
| 86 | - } |
|
| 87 | - elseif (is_int($closure)) { |
|
| 90 | + } elseif (is_int($closure)) { |
|
| 88 | 91 | switch ($closure) { |
| 89 | 92 | case SORT_REGULAR: |
| 90 | 93 | return Functions::$compareStrict; |
@@ -116,14 +119,16 @@ discard block |
||
| 116 | 119 | */ |
| 117 | 120 | public static function lambdaToSortFlagsAndOrder($closure, &$sortOrder) |
| 118 | 121 | { |
| 119 | - if ($sortOrder !== SORT_ASC && $sortOrder !== SORT_DESC) |
|
| 120 | - $sortOrder = $sortOrder ? SORT_DESC : SORT_ASC; |
|
| 121 | - if (is_int($closure)) |
|
| 122 | - return $closure; |
|
| 123 | - elseif (($closure === null || is_string($closure)) && isset(self::$compareFunctionToSortFlags[$closure])) |
|
| 124 | - return self::$compareFunctionToSortFlags[$closure]; |
|
| 125 | - else |
|
| 126 | - return null; |
|
| 122 | + if ($sortOrder !== SORT_ASC && $sortOrder !== SORT_DESC) { |
|
| 123 | + $sortOrder = $sortOrder ? SORT_DESC : SORT_ASC; |
|
| 124 | + } |
|
| 125 | + if (is_int($closure)) { |
|
| 126 | + return $closure; |
|
| 127 | + } elseif (($closure === null || is_string($closure)) && isset(self::$compareFunctionToSortFlags[$closure])) { |
|
| 128 | + return self::$compareFunctionToSortFlags[$closure]; |
|
| 129 | + } else { |
|
| 130 | + return null; |
|
| 131 | + } |
|
| 127 | 132 | } |
| 128 | 133 | |
| 129 | 134 | /** |
@@ -137,24 +142,26 @@ discard block |
||
| 137 | 142 | { |
| 138 | 143 | $posDollar = strpos($closure, '$'); |
| 139 | 144 | if ($posDollar !== false) { |
| 140 | - if (isset(self::$lambdaCache[$closure][$closureArgs])) |
|
| 141 | - return self::$lambdaCache[$closure][$closureArgs]; |
|
| 145 | + if (isset(self::$lambdaCache[$closure][$closureArgs])) { |
|
| 146 | + return self::$lambdaCache[$closure][$closureArgs]; |
|
| 147 | + } |
|
| 142 | 148 | $posArrow = strpos($closure, '==>', $posDollar); |
| 143 | 149 | if ($posArrow !== false) { |
| 144 | 150 | $args = trim(substr($closure, 0, $posArrow), "() \r\n\t"); |
| 145 | 151 | $code = substr($closure, $posArrow + 3); |
| 146 | - } |
|
| 147 | - else { |
|
| 152 | + } else { |
|
| 148 | 153 | $args = '$' . str_replace(',', '=null,$', $closureArgs) . '=null'; |
| 149 | 154 | $code = $closure; |
| 150 | 155 | } |
| 151 | 156 | $code = trim($code, " \r\n\t"); |
| 152 | - if (strlen($code) > 0 && $code[0] != '{') |
|
| 153 | - $code = "return {$code};"; |
|
| 157 | + if (strlen($code) > 0 && $code[0] != '{') { |
|
| 158 | + $code = "return {$code};"; |
|
| 159 | + } |
|
| 154 | 160 | $fun = @create_function($args, $code); |
| 155 | 161 | // @codeCoverageIgnoreStart |
| 156 | - if (!$fun) |
|
| 157 | - throw new \InvalidArgumentException(self::ERROR_CANNOT_PARSE_LAMBDA); |
|
| 162 | + if (!$fun) { |
|
| 163 | + throw new \InvalidArgumentException(self::ERROR_CANNOT_PARSE_LAMBDA); |
|
| 164 | + } |
|
| 158 | 165 | // @codeCoverageIgnoreEnd |
| 159 | 166 | self::$lambdaCache[$closure][$closureArgs] = $fun; |
| 160 | 167 | return $fun; |
@@ -36,8 +36,9 @@ discard block |
||
| 36 | 36 | yield $v; |
| 37 | 37 | $isEmpty = false; |
| 38 | 38 | } |
| 39 | - if ($isEmpty) |
|
| 40 | - throw new \UnexpectedValueException(Errors::NO_ELEMENTS); |
|
| 39 | + if ($isEmpty) { |
|
| 40 | + throw new \UnexpectedValueException(Errors::NO_ELEMENTS); |
|
| 41 | + } |
|
| 41 | 42 | } |
| 42 | 43 | }); |
| 43 | 44 | } |
@@ -72,14 +73,15 @@ discard block |
||
| 72 | 73 | public static function from($source) |
| 73 | 74 | { |
| 74 | 75 | $it = null; |
| 75 | - if ($source instanceof Enumerable) |
|
| 76 | - return $source; |
|
| 77 | - elseif (is_array($source)) |
|
| 78 | - $it = new \ArrayIterator($source); |
|
| 79 | - elseif ($source instanceof \IteratorAggregate) |
|
| 80 | - $it = $source->getIterator(); |
|
| 81 | - elseif ($source instanceof \Traversable) |
|
| 82 | - $it = $source; |
|
| 76 | + if ($source instanceof Enumerable) { |
|
| 77 | + return $source; |
|
| 78 | + } elseif (is_array($source)) { |
|
| 79 | + $it = new \ArrayIterator($source); |
|
| 80 | + } elseif ($source instanceof \IteratorAggregate) { |
|
| 81 | + $it = $source->getIterator(); |
|
| 82 | + } elseif ($source instanceof \Traversable) { |
|
| 83 | + $it = $source; |
|
| 84 | + } |
|
| 83 | 85 | if ($it !== null) { |
| 84 | 86 | return new self($it, false); |
| 85 | 87 | } |
@@ -128,8 +130,9 @@ discard block |
||
| 128 | 130 | { |
| 129 | 131 | return new self(function() use ($start, $step) { |
| 130 | 132 | $value = $start - $step; |
| 131 | - while (true) |
|
| 132 | - yield $value += $step; |
|
| 133 | + while (true) { |
|
| 134 | + yield $value += $step; |
|
| 135 | + } |
|
| 133 | 136 | }); |
| 134 | 137 | } |
| 135 | 138 | |
@@ -189,12 +192,14 @@ discard block |
||
| 189 | 192 | */ |
| 190 | 193 | public static function range(int $start, int $count, int $step = 1) |
| 191 | 194 | { |
| 192 | - if ($count <= 0) |
|
| 193 | - return self::emptyEnum(); |
|
| 195 | + if ($count <= 0) { |
|
| 196 | + return self::emptyEnum(); |
|
| 197 | + } |
|
| 194 | 198 | return new self(function() use ($start, $count, $step) { |
| 195 | 199 | $value = $start - $step; |
| 196 | - while ($count-- > 0) |
|
| 197 | - yield $value += $step; |
|
| 200 | + while ($count-- > 0) { |
|
| 201 | + yield $value += $step; |
|
| 202 | + } |
|
| 198 | 203 | }); |
| 199 | 204 | } |
| 200 | 205 | |
@@ -228,16 +233,18 @@ discard block |
||
| 228 | 233 | */ |
| 229 | 234 | public static function rangeTo(int $start, int $end, $step = 1) |
| 230 | 235 | { |
| 231 | - if ($step <= 0) |
|
| 232 | - throw new \InvalidArgumentException(Errors::STEP_NEGATIVE); |
|
| 236 | + if ($step <= 0) { |
|
| 237 | + throw new \InvalidArgumentException(Errors::STEP_NEGATIVE); |
|
| 238 | + } |
|
| 233 | 239 | return new self(function() use ($start, $end, $step) { |
| 234 | 240 | if ($start <= $end) { |
| 235 | - for ($i = $start; $i < $end; $i += $step) |
|
| 236 | - yield $i; |
|
| 237 | - } |
|
| 238 | - else { |
|
| 239 | - for ($i = $start; $i > $end; $i -= $step) |
|
| 240 | - yield $i; |
|
| 241 | + for ($i = $start; $i < $end; $i += $step) { |
|
| 242 | + yield $i; |
|
| 243 | + } |
|
| 244 | + } else { |
|
| 245 | + for ($i = $start; $i > $end; $i -= $step) { |
|
| 246 | + yield $i; |
|
| 247 | + } |
|
| 241 | 248 | } |
| 242 | 249 | }); |
| 243 | 250 | } |
@@ -257,11 +264,13 @@ discard block |
||
| 257 | 264 | */ |
| 258 | 265 | public static function repeat($element, $count = null) |
| 259 | 266 | { |
| 260 | - if ($count < 0) |
|
| 261 | - throw new \InvalidArgumentException(Errors::COUNT_LESS_THAN_ZERO); |
|
| 267 | + if ($count < 0) { |
|
| 268 | + throw new \InvalidArgumentException(Errors::COUNT_LESS_THAN_ZERO); |
|
| 269 | + } |
|
| 262 | 270 | return new self(function() use ($element, $count) { |
| 263 | - for ($i = 0; $i < $count || $count === null; $i++) |
|
| 264 | - yield $element; |
|
| 271 | + for ($i = 0; $i < $count || $count === null; $i++) { |
|
| 272 | + yield $element; |
|
| 273 | + } |
|
| 265 | 274 | }); |
| 266 | 275 | } |
| 267 | 276 | |
@@ -32,14 +32,16 @@ discard block |
||
| 32 | 32 | $it = $this->getIterator(); |
| 33 | 33 | |
| 34 | 34 | if ($it instanceof \ArrayAccess) { |
| 35 | - if (!$it->offsetExists($key)) |
|
| 36 | - throw new \UnexpectedValueException(Errors::NO_KEY); |
|
| 35 | + if (!$it->offsetExists($key)) { |
|
| 36 | + throw new \UnexpectedValueException(Errors::NO_KEY); |
|
| 37 | + } |
|
| 37 | 38 | return $it->offsetGet($key); |
| 38 | 39 | } |
| 39 | 40 | |
| 40 | 41 | foreach ($it as $k => $v) { |
| 41 | - if ($k === $key) |
|
| 42 | - return $v; |
|
| 42 | + if ($k === $key) { |
|
| 43 | + return $v; |
|
| 44 | + } |
|
| 43 | 45 | } |
| 44 | 46 | throw new \UnexpectedValueException(Errors::NO_KEY); |
| 45 | 47 | } |
@@ -58,12 +60,14 @@ discard block |
||
| 58 | 60 | /** @var $it \Iterator|\ArrayAccess */ |
| 59 | 61 | $it = $this->getIterator(); |
| 60 | 62 | |
| 61 | - if ($it instanceof \ArrayAccess) |
|
| 62 | - return $it->offsetExists($key) ? $it->offsetGet($key) : $default; |
|
| 63 | + if ($it instanceof \ArrayAccess) { |
|
| 64 | + return $it->offsetExists($key) ? $it->offsetGet($key) : $default; |
|
| 65 | + } |
|
| 63 | 66 | |
| 64 | 67 | foreach ($it as $k => $v) { |
| 65 | - if ($k === $key) |
|
| 66 | - return $v; |
|
| 68 | + if ($k === $key) { |
|
| 69 | + return $v; |
|
| 70 | + } |
|
| 67 | 71 | } |
| 68 | 72 | return $default; |
| 69 | 73 | } |
@@ -86,8 +90,9 @@ discard block |
||
| 86 | 90 | $predicate = Utils::createLambda($predicate, 'v,k', Functions::$true); |
| 87 | 91 | |
| 88 | 92 | foreach ($this as $k => $v) { |
| 89 | - if ($predicate($v, $k)) |
|
| 90 | - return $v; |
|
| 93 | + if ($predicate($v, $k)) { |
|
| 94 | + return $v; |
|
| 95 | + } |
|
| 91 | 96 | } |
| 92 | 97 | throw new \UnexpectedValueException(Errors::NO_MATCHES); |
| 93 | 98 | } |
@@ -109,8 +114,9 @@ discard block |
||
| 109 | 114 | $predicate = Utils::createLambda($predicate, 'v,k', Functions::$true); |
| 110 | 115 | |
| 111 | 116 | foreach ($this as $k => $v) { |
| 112 | - if ($predicate($v, $k)) |
|
| 113 | - return $v; |
|
| 117 | + if ($predicate($v, $k)) { |
|
| 118 | + return $v; |
|
| 119 | + } |
|
| 114 | 120 | } |
| 115 | 121 | return $default; |
| 116 | 122 | } |
@@ -132,8 +138,9 @@ discard block |
||
| 132 | 138 | $predicate = Utils::createLambda($predicate, 'v,k', Functions::$true); |
| 133 | 139 | |
| 134 | 140 | foreach ($this as $k => $v) { |
| 135 | - if ($predicate($v, $k)) |
|
| 136 | - return $v; |
|
| 141 | + if ($predicate($v, $k)) { |
|
| 142 | + return $v; |
|
| 143 | + } |
|
| 137 | 144 | } |
| 138 | 145 | return $fallback(); |
| 139 | 146 | } |
@@ -163,8 +170,9 @@ discard block |
||
| 163 | 170 | $value = $v; |
| 164 | 171 | } |
| 165 | 172 | } |
| 166 | - if (!$found) |
|
| 167 | - throw new \UnexpectedValueException(Errors::NO_MATCHES); |
|
| 173 | + if (!$found) { |
|
| 174 | + throw new \UnexpectedValueException(Errors::NO_MATCHES); |
|
| 175 | + } |
|
| 168 | 176 | return $value; |
| 169 | 177 | } |
| 170 | 178 | |
@@ -243,14 +251,16 @@ discard block |
||
| 243 | 251 | $value = null; |
| 244 | 252 | foreach ($this as $k => $v) { |
| 245 | 253 | if ($predicate($v, $k)) { |
| 246 | - if ($found) |
|
| 247 | - throw new \UnexpectedValueException(Errors::MANY_MATCHES); |
|
| 254 | + if ($found) { |
|
| 255 | + throw new \UnexpectedValueException(Errors::MANY_MATCHES); |
|
| 256 | + } |
|
| 248 | 257 | $found = true; |
| 249 | 258 | $value = $v; |
| 250 | 259 | } |
| 251 | 260 | } |
| 252 | - if (!$found) |
|
| 253 | - throw new \UnexpectedValueException(Errors::NO_MATCHES); |
|
| 261 | + if (!$found) { |
|
| 262 | + throw new \UnexpectedValueException(Errors::NO_MATCHES); |
|
| 263 | + } |
|
| 254 | 264 | return $value; |
| 255 | 265 | } |
| 256 | 266 | |
@@ -275,8 +285,9 @@ discard block |
||
| 275 | 285 | $value = null; |
| 276 | 286 | foreach ($this as $k => $v) { |
| 277 | 287 | if ($predicate($v, $k)) { |
| 278 | - if ($found) |
|
| 279 | - throw new \UnexpectedValueException(Errors::MANY_MATCHES); |
|
| 288 | + if ($found) { |
|
| 289 | + throw new \UnexpectedValueException(Errors::MANY_MATCHES); |
|
| 290 | + } |
|
| 280 | 291 | $found = true; |
| 281 | 292 | $value = $v; |
| 282 | 293 | } |
@@ -305,8 +316,9 @@ discard block |
||
| 305 | 316 | $value = null; |
| 306 | 317 | foreach ($this as $k => $v) { |
| 307 | 318 | if ($predicate($v, $k)) { |
| 308 | - if ($found) |
|
| 309 | - throw new \UnexpectedValueException(Errors::MANY_MATCHES); |
|
| 319 | + if ($found) { |
|
| 320 | + throw new \UnexpectedValueException(Errors::MANY_MATCHES); |
|
| 321 | + } |
|
| 310 | 322 | $found = true; |
| 311 | 323 | $value = $v; |
| 312 | 324 | } |
@@ -325,8 +337,9 @@ discard block |
||
| 325 | 337 | public function indexOf($value) |
| 326 | 338 | { |
| 327 | 339 | foreach ($this as $k => $v) { |
| 328 | - if ($v === $value) |
|
| 329 | - return $k; |
|
| 340 | + if ($v === $value) { |
|
| 341 | + return $k; |
|
| 342 | + } |
|
| 330 | 343 | } |
| 331 | 344 | return null; // not -1 |
| 332 | 345 | } |
@@ -343,8 +356,9 @@ discard block |
||
| 343 | 356 | { |
| 344 | 357 | $key = null; |
| 345 | 358 | foreach ($this as $k => $v) { |
| 346 | - if ($v === $value) |
|
| 347 | - $key = $k; |
|
| 359 | + if ($v === $value) { |
|
| 360 | + $key = $k; |
|
| 361 | + } |
|
| 348 | 362 | } |
| 349 | 363 | return $key; // not -1 |
| 350 | 364 | } |
@@ -362,8 +376,9 @@ discard block |
||
| 362 | 376 | $predicate = Utils::createLambda($predicate, 'v,k'); |
| 363 | 377 | |
| 364 | 378 | foreach ($this as $k => $v) { |
| 365 | - if ($predicate($v, $k)) |
|
| 366 | - return $k; |
|
| 379 | + if ($predicate($v, $k)) { |
|
| 380 | + return $k; |
|
| 381 | + } |
|
| 367 | 382 | } |
| 368 | 383 | return null; // not -1 |
| 369 | 384 | } |
@@ -382,8 +397,9 @@ discard block |
||
| 382 | 397 | |
| 383 | 398 | $key = null; |
| 384 | 399 | foreach ($this as $k => $v) { |
| 385 | - if ($predicate($v, $k)) |
|
| 386 | - $key = $k; |
|
| 400 | + if ($predicate($v, $k)) { |
|
| 401 | + $key = $k; |
|
| 402 | + } |
|
| 387 | 403 | } |
| 388 | 404 | return $key; // not -1 |
| 389 | 405 | } |
@@ -402,8 +418,9 @@ discard block |
||
| 402 | 418 | return new self(function() use ($count) { |
| 403 | 419 | $it = $this->getIterator(); |
| 404 | 420 | $it->rewind(); |
| 405 | - for ($i = 0; $i < $count && $it->valid(); ++$i) |
|
| 406 | - $it->next(); |
|
| 421 | + for ($i = 0; $i < $count && $it->valid(); ++$i) { |
|
| 422 | + $it->next(); |
|
| 423 | + } |
|
| 407 | 424 | while ($it->valid()) { |
| 408 | 425 | yield $it->key() => $it->current(); |
| 409 | 426 | $it->next(); |
@@ -427,10 +444,12 @@ discard block |
||
| 427 | 444 | return new self(function() use ($predicate) { |
| 428 | 445 | $yielding = false; |
| 429 | 446 | foreach ($this as $k => $v) { |
| 430 | - if (!$yielding && !$predicate($v, $k)) |
|
| 431 | - $yielding = true; |
|
| 432 | - if ($yielding) |
|
| 433 | - yield $k => $v; |
|
| 447 | + if (!$yielding && !$predicate($v, $k)) { |
|
| 448 | + $yielding = true; |
|
| 449 | + } |
|
| 450 | + if ($yielding) { |
|
| 451 | + yield $k => $v; |
|
| 452 | + } |
|
| 434 | 453 | } |
| 435 | 454 | }); |
| 436 | 455 | } |
@@ -446,14 +465,16 @@ discard block |
||
| 446 | 465 | */ |
| 447 | 466 | public function take(int $count) |
| 448 | 467 | { |
| 449 | - if ($count <= 0) |
|
| 450 | - return new self(new \EmptyIterator, false); |
|
| 468 | + if ($count <= 0) { |
|
| 469 | + return new self(new \EmptyIterator, false); |
|
| 470 | + } |
|
| 451 | 471 | |
| 452 | 472 | return new self(function() use ($count) { |
| 453 | 473 | foreach ($this as $k => $v) { |
| 454 | 474 | yield $k => $v; |
| 455 | - if (--$count == 0) |
|
| 456 | - break; |
|
| 475 | + if (--$count == 0) { |
|
| 476 | + break; |
|
| 477 | + } |
|
| 457 | 478 | } |
| 458 | 479 | }); |
| 459 | 480 | } |
@@ -473,8 +494,9 @@ discard block |
||
| 473 | 494 | |
| 474 | 495 | return new self(function() use ($predicate) { |
| 475 | 496 | foreach ($this as $k => $v) { |
| 476 | - if (!$predicate($v, $k)) |
|
| 477 | - break; |
|
| 497 | + if (!$predicate($v, $k)) { |
|
| 498 | + break; |
|
| 499 | + } |
|
| 478 | 500 | yield $k => $v; |
| 479 | 501 | } |
| 480 | 502 | }); |