@@ -31,8 +31,9 @@ discard block |
||
31 | 31 | { |
32 | 32 | Arrays::mustBeCountable($data); |
33 | 33 | |
34 | - if ($data instanceof self) |
|
35 | - return $data; |
|
34 | + if ($data instanceof self) { |
|
35 | + return $data; |
|
36 | + } |
|
36 | 37 | |
37 | 38 | return new static($data, $isConstant); |
38 | 39 | } |
@@ -101,8 +102,7 @@ discard block |
||
101 | 102 | { |
102 | 103 | if ($this->isConstant) { |
103 | 104 | return new static($out); |
104 | - } |
|
105 | - else { |
|
105 | + } else { |
|
106 | 106 | $this->data = $out; |
107 | 107 | return $this; |
108 | 108 | } |
@@ -26,8 +26,9 @@ discard block |
||
26 | 26 | $out = []; |
27 | 27 | foreach ($this->data as $key => &$row) { |
28 | 28 | |
29 | - if ($index_key) |
|
30 | - $key = $row[$index_key]; |
|
29 | + if ($index_key) { |
|
30 | + $key = $row[$index_key]; |
|
31 | + } |
|
31 | 32 | |
32 | 33 | if (is_array($column_names)) { |
33 | 34 | $out[$key] = []; |
@@ -42,20 +43,16 @@ discard block |
||
42 | 43 | |
43 | 44 | $out[$key][$column_name] = $row[$column_name]; |
44 | 45 | } |
45 | - } |
|
46 | - else { |
|
46 | + } else { |
|
47 | 47 | // This avoids issues with isset, array_key_exists and |
48 | 48 | // null entries on objects and arrays. |
49 | 49 | if ($row instanceof static) { |
50 | 50 | $keys = $row->copy()->keys(); |
51 | - } |
|
52 | - elseif (is_array($row)) { |
|
51 | + } elseif (is_array($row)) { |
|
53 | 52 | $keys = array_keys($row); |
54 | - } |
|
55 | - elseif (is_scalar($row)) { |
|
53 | + } elseif (is_scalar($row)) { |
|
56 | 54 | $keys = []; |
57 | - } |
|
58 | - else { |
|
55 | + } else { |
|
59 | 56 | // todo : handle other classes supporting ArrayAccess? |
60 | 57 | $keys = []; |
61 | 58 | } |
@@ -101,16 +98,17 @@ discard block |
||
101 | 98 | */ |
102 | 99 | public function min($default_value=null) |
103 | 100 | { |
104 | - if ($this->isEmpty() && $default_value !== null) |
|
105 | - return $default_value; |
|
101 | + if ($this->isEmpty() && $default_value !== null) { |
|
102 | + return $default_value; |
|
103 | + } |
|
106 | 104 | |
107 | 105 | try { |
108 | 106 | return min($this->data); |
109 | - } |
|
110 | - catch (\Exception $e) { |
|
107 | + } catch (\Exception $e) { |
|
111 | 108 | $message = $e->getMessage(); |
112 | - if ($e->getMessage() == 'min(): Array must contain at least one element') |
|
113 | - $message .= ' or you can set a default value as parameter'; |
|
109 | + if ($e->getMessage() == 'min(): Array must contain at least one element') { |
|
110 | + $message .= ' or you can set a default value as parameter'; |
|
111 | + } |
|
114 | 112 | |
115 | 113 | $this->throwUsageException($message); |
116 | 114 | } |
@@ -124,16 +122,17 @@ discard block |
||
124 | 122 | */ |
125 | 123 | public function max($default_value=null) |
126 | 124 | { |
127 | - if ($this->isEmpty() && $default_value !== null) |
|
128 | - return $default_value; |
|
125 | + if ($this->isEmpty() && $default_value !== null) { |
|
126 | + return $default_value; |
|
127 | + } |
|
129 | 128 | |
130 | 129 | try { |
131 | 130 | return max($this->data); |
132 | - } |
|
133 | - catch (\Exception $e) { |
|
131 | + } catch (\Exception $e) { |
|
134 | 132 | $message = $e->getMessage(); |
135 | - if ($e->getMessage() == 'max(): Array must contain at least one element') |
|
136 | - $message .= ' or you can set a default value as parameter'; |
|
133 | + if ($e->getMessage() == 'max(): Array must contain at least one element') { |
|
134 | + $message .= ' or you can set a default value as parameter'; |
|
135 | + } |
|
137 | 136 | |
138 | 137 | $this->throwUsageException($message); |
139 | 138 | } |
@@ -200,16 +199,15 @@ discard block |
||
200 | 199 | if (PHP_VERSION_ID >= 50600) { |
201 | 200 | $out = array_filter($this->data, $callback, |
202 | 201 | ARRAY_FILTER_USE_BOTH); |
203 | - } |
|
204 | - else { |
|
202 | + } else { |
|
205 | 203 | $out = $this->data; |
206 | 204 | foreach ($out as $key => $value) { |
207 | - if (!$callback($value, $key)) |
|
208 | - unset( $out[$key] ); |
|
205 | + if (!$callback($value, $key)) { |
|
206 | + unset( $out[$key] ); |
|
207 | + } |
|
209 | 208 | } |
210 | 209 | } |
211 | - } |
|
212 | - else { |
|
210 | + } else { |
|
213 | 211 | $out = array_filter($this->data); |
214 | 212 | } |
215 | 213 | |
@@ -242,8 +240,9 @@ discard block |
||
242 | 240 | $out = []; |
243 | 241 | foreach ($this->data as $i => $data_item) { |
244 | 242 | |
245 | - if ($data_item == $item_to_remove) |
|
246 | - continue; |
|
243 | + if ($data_item == $item_to_remove) { |
|
244 | + continue; |
|
245 | + } |
|
247 | 246 | |
248 | 247 | $out[$i] = $data_item; |
249 | 248 | } |
@@ -258,11 +257,13 @@ discard block |
||
258 | 257 | */ |
259 | 258 | public function intersectKey($intersect_with) |
260 | 259 | { |
261 | - if (!$this->argumentIsArrayOrArrayObject($intersect_with)) |
|
262 | - self::throwUsageException("First argument must be an array or a ".static::class."."); |
|
260 | + if (!$this->argumentIsArrayOrArrayObject($intersect_with)) { |
|
261 | + self::throwUsageException("First argument must be an array or a ".static::class."."); |
|
262 | + } |
|
263 | 263 | |
264 | - if ($intersect_with instanceof static) |
|
265 | - $intersect_with = $intersect_with->getArray(); |
|
264 | + if ($intersect_with instanceof static) { |
|
265 | + $intersect_with = $intersect_with->getArray(); |
|
266 | + } |
|
266 | 267 | |
267 | 268 | $out = array_intersect_key($this->data, $intersect_with); |
268 | 269 | |
@@ -351,8 +352,9 @@ discard block |
||
351 | 352 | */ |
352 | 353 | public function diff($compare_with, $check_keys=false, $strict_comparison=false) |
353 | 354 | { |
354 | - if (!$this->argumentIsArrayOrArrayObject($compare_with)) |
|
355 | - self::throwUsageException("First argument must be an iterable"); |
|
355 | + if (!$this->argumentIsArrayOrArrayObject($compare_with)) { |
|
356 | + self::throwUsageException("First argument must be an iterable"); |
|
357 | + } |
|
356 | 358 | |
357 | 359 | $kept_values = $this->data; |
358 | 360 | |
@@ -368,21 +370,18 @@ discard block |
||
368 | 370 | && $kept_value === $compared_value ) { |
369 | 371 | $is_equal = true; |
370 | 372 | } |
371 | - } |
|
372 | - else { |
|
373 | + } else { |
|
373 | 374 | if ( $kept_key == $compared_key |
374 | 375 | && $kept_value == $compared_value ) { |
375 | 376 | $is_equal = true; |
376 | 377 | } |
377 | 378 | } |
378 | - } |
|
379 | - else { |
|
379 | + } else { |
|
380 | 380 | if ($strict_comparison) { |
381 | 381 | if ($kept_value === $compared_value) { |
382 | 382 | $is_equal = true; |
383 | 383 | } |
384 | - } |
|
385 | - else { |
|
384 | + } else { |
|
386 | 385 | if ($kept_value == $compared_value) { |
387 | 386 | $is_equal = true; |
388 | 387 | } |
@@ -421,11 +420,13 @@ discard block |
||
421 | 420 | */ |
422 | 421 | public function fillKeys($keys, $value) |
423 | 422 | { |
424 | - if (!$this->argumentIsArrayOrArrayObject($keys)) |
|
425 | - self::throwUsageException("First argument must be an array or a ".static::class."."); |
|
423 | + if (!$this->argumentIsArrayOrArrayObject($keys)) { |
|
424 | + self::throwUsageException("First argument must be an array or a ".static::class."."); |
|
425 | + } |
|
426 | 426 | |
427 | - if ($keys instanceof static) |
|
428 | - $keys = $keys->getArray(); |
|
427 | + if ($keys instanceof static) { |
|
428 | + $keys = $keys->getArray(); |
|
429 | + } |
|
429 | 430 | |
430 | 431 | $out = array_fill_keys($keys, $value); |
431 | 432 | return $this->returnConstant($out); |
@@ -470,8 +471,9 @@ discard block |
||
470 | 471 | callable $step_generator, |
471 | 472 | $max_interations_count=1000 |
472 | 473 | ){ |
473 | - if ($max_interations_count < 0) |
|
474 | - throw new \InvalidArgumentException("$maximum_interations_count must be positive"); |
|
474 | + if ($max_interations_count < 0) { |
|
475 | + throw new \InvalidArgumentException("$maximum_interations_count must be positive"); |
|
476 | + } |
|
475 | 477 | |
476 | 478 | $out = []; |
477 | 479 | $previous_step_value = null; |
@@ -488,16 +490,14 @@ discard block |
||
488 | 490 | |
489 | 491 | if ($current_step_key === null) { |
490 | 492 | $out[] = $current_step_value; |
491 | - } |
|
492 | - elseif (!is_int($current_step_key)) { |
|
493 | + } elseif (!is_int($current_step_key)) { |
|
493 | 494 | // Set the local as en_US tu have floats formatted with |
494 | 495 | // "." as separator |
495 | 496 | // TODO : could it be useful for dates to? |
496 | 497 | $current_locale = setlocale(LC_NUMERIC, 'en_US'); |
497 | 498 | $out[(string) $current_step_key] = $current_step_value; |
498 | 499 | setlocale(LC_NUMERIC, $current_locale); |
499 | - } |
|
500 | - else { |
|
500 | + } else { |
|
501 | 501 | $out[$current_step_key] = $current_step_value; |
502 | 502 | } |
503 | 503 | |
@@ -508,8 +508,7 @@ discard block |
||
508 | 508 | if ((string) $current_step_key == (string) $end_key) { |
509 | 509 | break; |
510 | 510 | } |
511 | - } |
|
512 | - elseif ($current_step_key == $end_key) { |
|
511 | + } elseif ($current_step_key == $end_key) { |
|
513 | 512 | break; |
514 | 513 | } |
515 | 514 | |
@@ -529,10 +528,11 @@ discard block |
||
529 | 528 | */ |
530 | 529 | public function keys($search_value=null, $strict=false) |
531 | 530 | { |
532 | - if ($search_value) |
|
533 | - return array_keys($this->data, $search_value, $strict); |
|
534 | - else |
|
535 | - return array_keys($this->data); |
|
531 | + if ($search_value) { |
|
532 | + return array_keys($this->data, $search_value, $strict); |
|
533 | + } else { |
|
534 | + return array_keys($this->data); |
|
535 | + } |
|
536 | 536 | } |
537 | 537 | |
538 | 538 | /** |
@@ -640,8 +640,9 @@ discard block |
||
640 | 640 | |
641 | 641 | if ($callback === null) { |
642 | 642 | $callback = function($a, $b) { |
643 | - if ($a == $b) |
|
644 | - return 0; |
|
643 | + if ($a == $b) { |
|
644 | + return 0; |
|
645 | + } |
|
645 | 646 | |
646 | 647 | return $a > $b ? -1 : 1; |
647 | 648 | }; |
@@ -649,8 +650,9 @@ discard block |
||
649 | 650 | |
650 | 651 | $arguments = Arrays::merge( [&$data], [$callback] ); |
651 | 652 | |
652 | - if ( ! call_user_func_array('uasort', $arguments) ) |
|
653 | - throw new \ErrorException('Unable to apply usort'); |
|
653 | + if ( ! call_user_func_array('uasort', $arguments) ) { |
|
654 | + throw new \ErrorException('Unable to apply usort'); |
|
655 | + } |
|
654 | 656 | |
655 | 657 | return $this->returnConstant($data); |
656 | 658 | } |
@@ -672,8 +674,9 @@ discard block |
||
672 | 674 | |
673 | 675 | $arguments = Arrays::merge( [&$data], [$callback] ); |
674 | 676 | |
675 | - if ( ! call_user_func_array('uksort', $arguments) ) |
|
676 | - throw new \ErrorException('Unable to apply uksort'); |
|
677 | + if ( ! call_user_func_array('uksort', $arguments) ) { |
|
678 | + throw new \ErrorException('Unable to apply uksort'); |
|
679 | + } |
|
677 | 680 | |
678 | 681 | return $this->returnConstant($data); |
679 | 682 | } |
@@ -18,8 +18,7 @@ discard block |
||
18 | 18 | { |
19 | 19 | if (is_null($offset)) { |
20 | 20 | $this->data[] = $value; |
21 | - } |
|
22 | - else { |
|
21 | + } else { |
|
23 | 22 | $this->data[$offset] = $value; |
24 | 23 | } |
25 | 24 | } |
@@ -31,8 +30,7 @@ discard block |
||
31 | 30 | { |
32 | 31 | try { |
33 | 32 | return isset($this->data[$offset]); |
34 | - } |
|
35 | - catch (\Exception $e) { |
|
33 | + } catch (\Exception $e) { |
|
36 | 34 | if (property_exists($this, 'defaultRowGenerator')) { |
37 | 35 | return true; |
38 | 36 | } |
@@ -77,8 +75,7 @@ discard block |
||
77 | 75 | // support but wouldn't throw exception if it doesn't exist |
78 | 76 | $returnValue = &$this->data[$offset]; |
79 | 77 | return $returnValue; |
80 | - } |
|
81 | - catch (\Exception $e) { |
|
78 | + } catch (\Exception $e) { |
|
82 | 79 | // here we simply move the Exception location at the one |
83 | 80 | // of the caller as the isset() method is called at its |
84 | 81 | // location. |
@@ -158,10 +155,11 @@ discard block |
||
158 | 155 | */ |
159 | 156 | protected function generateDefaultRow($offset) |
160 | 157 | { |
161 | - if (property_exists($this, 'defaultRow')) |
|
162 | - return $this->defaultRow; |
|
163 | - elseif (property_exists($this, 'defaultRowGenerator')) |
|
164 | - return call_user_func($this->defaultRowGenerator, $offset); |
|
158 | + if (property_exists($this, 'defaultRow')) { |
|
159 | + return $this->defaultRow; |
|
160 | + } elseif (property_exists($this, 'defaultRowGenerator')) { |
|
161 | + return call_user_func($this->defaultRowGenerator, $offset); |
|
162 | + } |
|
165 | 163 | } |
166 | 164 | |
167 | 165 | /**/ |
@@ -91,8 +91,9 @@ discard block |
||
91 | 91 | { |
92 | 92 | $column_name = $key_column_names->shift(); |
93 | 93 | |
94 | - if (!$column_name) |
|
95 | - return $rows; |
|
94 | + if (!$column_name) { |
|
95 | + return $rows; |
|
96 | + } |
|
96 | 97 | |
97 | 98 | // $out = new static; |
98 | 99 | $out = []; |
@@ -107,10 +108,10 @@ discard block |
||
107 | 108 | |
108 | 109 | foreach ($sub_rows as $row) { |
109 | 110 | try { |
110 | - if (is_array($row)) |
|
111 | - $row[$column_name] = $key; |
|
112 | - } |
|
113 | - catch (\Exception $e) { |
|
111 | + if (is_array($row)) { |
|
112 | + $row[$column_name] = $key; |
|
113 | + } |
|
114 | + } catch (\Exception $e) { |
|
114 | 115 | echo json_encode($column_name); |
115 | 116 | echo json_encode($key); |
116 | 117 | echo json_encode($e); |
@@ -118,13 +119,12 @@ discard block |
||
118 | 119 | } |
119 | 120 | $out[] = $row; |
120 | 121 | } |
121 | - } |
|
122 | - else { |
|
122 | + } else { |
|
123 | 123 | try { |
124 | - if (is_array($sub_rows)) |
|
125 | - $sub_rows[$column_name] = $key; |
|
126 | - } |
|
127 | - catch (\Exception $e) { |
|
124 | + if (is_array($sub_rows)) { |
|
125 | + $sub_rows[$column_name] = $key; |
|
126 | + } |
|
127 | + } catch (\Exception $e) { |
|
128 | 128 | echo json_encode($sub_rows); |
129 | 129 | echo json_encode($column_name); |
130 | 130 | echo json_encode($key); |
@@ -299,8 +299,9 @@ discard block |
||
299 | 299 | ), |
300 | 300 | ); |
301 | 301 | |
302 | - if ($expected != $tableized->getArray()) |
|
303 | - throw new \Exception("test failed"); |
|
302 | + if ($expected != $tableized->getArray()) { |
|
303 | + throw new \Exception("test failed"); |
|
304 | + } |
|
304 | 305 | |
305 | 306 | echo 'Helper_Tabe->tableize tested successfully'; |
306 | 307 | } |
@@ -327,13 +328,15 @@ discard block |
||
327 | 328 | */ |
328 | 329 | private function piramidize_aux($key_column_names, $rows) |
329 | 330 | { |
330 | - if (!is_array($rows)) |
|
331 | - return $rows; |
|
331 | + if (!is_array($rows)) { |
|
332 | + return $rows; |
|
333 | + } |
|
332 | 334 | |
333 | 335 | $column_name = $key_column_names->shift(); |
334 | 336 | |
335 | - if (!$column_name) |
|
336 | - return $rows; |
|
337 | + if (!$column_name) { |
|
338 | + return $rows; |
|
339 | + } |
|
337 | 340 | |
338 | 341 | // $out = new static; |
339 | 342 | $out = []; |
@@ -348,12 +351,12 @@ discard block |
||
348 | 351 | unset($row[$column_name]); |
349 | 352 | |
350 | 353 | if ($key_column_names->count()) { |
351 | - if (!isset($out[$key])) |
|
352 | - $out[$key] = []; |
|
354 | + if (!isset($out[$key])) { |
|
355 | + $out[$key] = []; |
|
356 | + } |
|
353 | 357 | |
354 | 358 | $out[$key][] = $row; |
355 | - } |
|
356 | - else { |
|
359 | + } else { |
|
357 | 360 | $out[$key] = $row; |
358 | 361 | } |
359 | 362 | } |
@@ -529,8 +532,9 @@ discard block |
||
529 | 532 | // echo var_export($values->getArray()); |
530 | 533 | // $values->dumpJson(true); |
531 | 534 | |
532 | - if ($expected != $values->getArray()) |
|
533 | - throw new \Exception("test failed"); |
|
535 | + if ($expected != $values->getArray()) { |
|
536 | + throw new \Exception("test failed"); |
|
537 | + } |
|
534 | 538 | |
535 | 539 | echo 'Helper_Tabe->piramidize tested successfully'; |
536 | 540 | } |
@@ -54,11 +54,13 @@ |
||
54 | 54 | // var_export($caller); |
55 | 55 | |
56 | 56 | // TODO How to handle perfectly the missing fields of the backtrace? |
57 | - if (isset($caller['file'])) |
|
58 | - $this->file = $caller['file']; |
|
57 | + if (isset($caller['file'])) { |
|
58 | + $this->file = $caller['file']; |
|
59 | + } |
|
59 | 60 | |
60 | - if (isset($caller['line'])) |
|
61 | - $this->line = $caller['line']; |
|
61 | + if (isset($caller['line'])) { |
|
62 | + $this->line = $caller['line']; |
|
63 | + } |
|
62 | 64 | |
63 | 65 | // var_export($this->stack); |
64 | 66 | } |
@@ -11,8 +11,9 @@ |
||
11 | 11 | */ |
12 | 12 | public function reduceIfUnique() |
13 | 13 | { |
14 | - if ($this->unique()->count() == 1) |
|
15 | - return reset( $this->data ); |
|
14 | + if ($this->unique()->count() == 1) { |
|
15 | + return reset( $this->data ); |
|
16 | + } |
|
16 | 17 | } |
17 | 18 | /**/ |
18 | 19 | } |
@@ -32,14 +32,12 @@ discard block |
||
32 | 32 | foreach ($existing_row as $existing_column => $existing_value) { |
33 | 33 | if ($existing_value instanceof MergeBucket) { |
34 | 34 | $merged_row[ $existing_column ] = $existing_value; |
35 | - } |
|
36 | - else { |
|
35 | + } else { |
|
37 | 36 | if (isset($existing_key)) { |
38 | 37 | $merged_row[ $existing_column ] = MergeBucket::from([ |
39 | 38 | $existing_key => $existing_value |
40 | 39 | ]); |
41 | - } |
|
42 | - else { |
|
40 | + } else { |
|
43 | 41 | $merged_row[ $existing_column ] = MergeBucket::from([ |
44 | 42 | $existing_value |
45 | 43 | ]); |
@@ -56,17 +54,14 @@ discard block |
||
56 | 54 | foreach ($conflict_value as $conflict_bucket_value) { |
57 | 55 | if (isset($conflict_key)) { |
58 | 56 | $merged_row[ $conflict_column ][$conflict_key] = $conflict_bucket_value; |
59 | - } |
|
60 | - else { |
|
57 | + } else { |
|
61 | 58 | $merged_row[ $conflict_column ][] = $conflict_bucket_value; |
62 | 59 | } |
63 | 60 | } |
64 | - } |
|
65 | - else { |
|
61 | + } else { |
|
66 | 62 | if (isset($conflict_key)) { |
67 | 63 | $merged_row[ $conflict_column ][$conflict_key] = $conflict_value; |
68 | - } |
|
69 | - else { |
|
64 | + } else { |
|
70 | 65 | $merged_row[ $conflict_column ][] = $conflict_value; |
71 | 66 | } |
72 | 67 | } |
@@ -139,15 +134,18 @@ discard block |
||
139 | 134 | ; |
140 | 135 | |
141 | 136 | foreach ($row as $column => &$values) { |
142 | - if ( ! $values instanceof MergeBucket) |
|
143 | - continue; |
|
137 | + if ( ! $values instanceof MergeBucket) { |
|
138 | + continue; |
|
139 | + } |
|
144 | 140 | |
145 | - if (in_array($column, $excluded_columns)) |
|
146 | - continue; |
|
141 | + if (in_array($column, $excluded_columns)) { |
|
142 | + continue; |
|
143 | + } |
|
147 | 144 | |
148 | 145 | $values = Arrays::unique($values); |
149 | - if (count($values) == 1) |
|
150 | - $values = $values[0]; |
|
146 | + if (count($values) == 1) { |
|
147 | + $values = $values[0]; |
|
148 | + } |
|
151 | 149 | } |
152 | 150 | |
153 | 151 | return $row; |
@@ -207,8 +205,7 @@ discard block |
||
207 | 205 | $column, |
208 | 206 | ] |
209 | 207 | ); |
210 | - } |
|
211 | - else { |
|
208 | + } else { |
|
212 | 209 | // same resolution as array_merge_recursive |
213 | 210 | if (!is_array($existing_value)) { |
214 | 211 | $existing_row[$column] = [$existing_value]; |
@@ -256,14 +253,12 @@ discard block |
||
256 | 253 | ) |
257 | 254 | { |
258 | 255 | $array1[$key] = self::merge($array1[$key], $value); |
259 | - } |
|
260 | - else |
|
256 | + } else |
|
261 | 257 | { |
262 | 258 | $array1[$key] = $value; |
263 | 259 | } |
264 | 260 | } |
265 | - } |
|
266 | - else |
|
261 | + } else |
|
267 | 262 | { |
268 | 263 | foreach ($array2 as $value) |
269 | 264 | { |
@@ -288,14 +283,12 @@ discard block |
||
288 | 283 | ) |
289 | 284 | { |
290 | 285 | $array1[$key] = self::merge($array1[$key], $value); |
291 | - } |
|
292 | - else |
|
286 | + } else |
|
293 | 287 | { |
294 | 288 | $array1[$key] = $value; |
295 | 289 | } |
296 | 290 | } |
297 | - } |
|
298 | - else |
|
291 | + } else |
|
299 | 292 | { |
300 | 293 | foreach ($array2 as $value) |
301 | 294 | { |
@@ -327,21 +320,18 @@ discard block |
||
327 | 320 | foreach ($array as $key => $value) { |
328 | 321 | if (! $value instanceof MergeBucket) { |
329 | 322 | $result[ $key ] = $value; |
330 | - } |
|
331 | - else { |
|
323 | + } else { |
|
332 | 324 | foreach ($value as $sub_key => $sub_value) { |
333 | 325 | if (is_int($sub_key)) { |
334 | 326 | $result[] = $sub_value; |
335 | - } |
|
336 | - elseif (isset($result[ $sub_key ])) { |
|
327 | + } elseif (isset($result[ $sub_key ])) { |
|
337 | 328 | throw new \LogicException( |
338 | 329 | "Conflict during flatten merge for key $sub_key between: \n" |
339 | 330 | ."Existing: " . var_export($result[ $sub_key ], true) |
340 | 331 | ."\n and \n" |
341 | 332 | ."Conflict: " . var_export($sub_value, true) |
342 | 333 | ); |
343 | - } |
|
344 | - else { |
|
334 | + } else { |
|
345 | 335 | $result[ $sub_key ] = $sub_value; |
346 | 336 | } |
347 | 337 | } |
@@ -26,18 +26,19 @@ discard block |
||
26 | 26 | $out = []; |
27 | 27 | foreach ($this->data as $key => $row) { |
28 | 28 | |
29 | - if (!$row) |
|
30 | - continue; |
|
29 | + if (!$row) { |
|
30 | + continue; |
|
31 | + } |
|
31 | 32 | |
32 | 33 | $newIndexes = call_user_func($indexGenerator, $key, $row); |
33 | - if (!is_array($newIndexes)) |
|
34 | - $newIndexes = [$newIndexes]; |
|
34 | + if (!is_array($newIndexes)) { |
|
35 | + $newIndexes = [$newIndexes]; |
|
36 | + } |
|
35 | 37 | |
36 | 38 | foreach ($newIndexes as $newIndex) { |
37 | 39 | if (!isset($out[$newIndex])) { |
38 | 40 | $out[$newIndex] = $row; |
39 | - } |
|
40 | - else { |
|
41 | + } else { |
|
41 | 42 | if ($conflictResolver === null) { |
42 | 43 | self::throwUsageException( |
43 | 44 | "A 'group by' provoking a conflict" |
@@ -74,20 +75,21 @@ discard block |
||
74 | 75 | $out = []; |
75 | 76 | foreach ($this->data as $key => $row) { |
76 | 77 | |
77 | - if (!$row) |
|
78 | - continue; |
|
78 | + if (!$row) { |
|
79 | + continue; |
|
80 | + } |
|
79 | 81 | |
80 | 82 | $new_keys = call_user_func($indexGenerator, $row, $key); |
81 | - if (!is_array($new_keys)) |
|
82 | - $new_keys = [$new_keys]; |
|
83 | + if (!is_array($new_keys)) { |
|
84 | + $new_keys = [$new_keys]; |
|
85 | + } |
|
83 | 86 | |
84 | 87 | foreach ($new_keys as $new_key) { |
85 | 88 | if (!isset($out[ $new_key ])) { |
86 | 89 | $out[ $new_key ] = [ |
87 | 90 | $key => $row |
88 | 91 | ]; |
89 | - } |
|
90 | - else { |
|
92 | + } else { |
|
91 | 93 | $out[ $new_key ][ $key ] = $row; |
92 | 94 | } |
93 | 95 | } |
@@ -125,8 +127,9 @@ discard block |
||
125 | 127 | $out = []; |
126 | 128 | foreach ($this->data as $key => $row) { |
127 | 129 | |
128 | - if (!$row) |
|
129 | - continue; |
|
130 | + if (!$row) { |
|
131 | + continue; |
|
132 | + } |
|
130 | 133 | |
131 | 134 | $newIndex = call_user_func($indexGenerator, $key, $row); |
132 | 135 | |
@@ -136,8 +139,7 @@ discard block |
||
136 | 139 | |
137 | 140 | if (!isset($out[$newIndex])) { |
138 | 141 | $out[$newIndex] = $transformedRow; |
139 | - } |
|
140 | - else { |
|
142 | + } else { |
|
141 | 143 | $out[$newIndex] = call_user_func( |
142 | 144 | $conflictResolver, |
143 | 145 | $newIndex, |
@@ -161,8 +163,9 @@ discard block |
||
161 | 163 | */ |
162 | 164 | public function mergeWith( $otherTable, callable $conflictResolver=null ) |
163 | 165 | { |
164 | - if (is_array($otherTable)) |
|
165 | - $otherTable = new static($otherTable); |
|
166 | + if (is_array($otherTable)) { |
|
167 | + $otherTable = new static($otherTable); |
|
168 | + } |
|
166 | 169 | |
167 | 170 | if (!$otherTable instanceof static) { |
168 | 171 | self::throwUsageException( |
@@ -176,8 +179,7 @@ discard block |
||
176 | 179 | |
177 | 180 | if (!isset($out[$key])) { |
178 | 181 | $out[$key] = $row; |
179 | - } |
|
180 | - else { |
|
182 | + } else { |
|
181 | 183 | if ($conflictResolver === null) { |
182 | 184 | self::throwUsageException( |
183 | 185 | "No conflict resolver for a merge provoking one: $key \n\n" |
@@ -270,8 +272,7 @@ discard block |
||
270 | 272 | $row[$new_name] = $row[$old_name]; |
271 | 273 | unset($row[$old_name]); |
272 | 274 | } |
273 | - } |
|
274 | - catch (\Exception $e) { |
|
275 | + } catch (\Exception $e) { |
|
275 | 276 | self::throwUsageException( $e->getMessage() ); |
276 | 277 | } |
277 | 278 | |
@@ -292,17 +293,19 @@ discard block |
||
292 | 293 | public function limit() |
293 | 294 | { |
294 | 295 | $arguments = func_get_args(); |
295 | - if (count($arguments) == 1 && is_numeric($arguments[0])) |
|
296 | - $max = $arguments[0]; |
|
297 | - else |
|
298 | - self::throwUsageException("Bad arguments type and count for limit()"); |
|
296 | + if (count($arguments) == 1 && is_numeric($arguments[0])) { |
|
297 | + $max = $arguments[0]; |
|
298 | + } else { |
|
299 | + self::throwUsageException("Bad arguments type and count for limit()"); |
|
300 | + } |
|
299 | 301 | |
300 | 302 | $out = []; |
301 | 303 | $count = 0; |
302 | 304 | foreach ($this->data as $key => $row) { |
303 | 305 | |
304 | - if ($max <= $count) |
|
305 | - break; |
|
306 | + if ($max <= $count) { |
|
307 | + break; |
|
308 | + } |
|
306 | 309 | |
307 | 310 | $out[$key] = $row; |
308 | 311 | |
@@ -326,8 +329,9 @@ discard block |
||
326 | 329 | */ |
327 | 330 | public function append($new_rows, callable $conflict_resolver=null) |
328 | 331 | { |
329 | - if ($new_rows instanceof static) |
|
330 | - $new_rows = $new_rows->getArray(); |
|
332 | + if ($new_rows instanceof static) { |
|
333 | + $new_rows = $new_rows->getArray(); |
|
334 | + } |
|
331 | 335 | |
332 | 336 | if (!is_array($new_rows)) { |
333 | 337 | $this->throwUsageException( |
@@ -352,8 +356,7 @@ discard block |
||
352 | 356 | ]; |
353 | 357 | |
354 | 358 | call_user_func_array($conflict_resolver, $arguments); |
355 | - } |
|
356 | - else { |
|
359 | + } else { |
|
357 | 360 | $this->data[$key] = $new_row; |
358 | 361 | } |
359 | 362 | } |
@@ -463,8 +466,7 @@ discard block |
||
463 | 466 | foreach ($rows as $row_id => $joined_row) { |
464 | 467 | $out[$row_id] = $joined_row; |
465 | 468 | } |
466 | - } |
|
467 | - else { |
|
469 | + } else { |
|
468 | 470 | |
469 | 471 | if (!isset($rows)) { |
470 | 472 | echo json_encode([ |
@@ -474,8 +476,9 @@ discard block |
||
474 | 476 | exit; |
475 | 477 | } |
476 | 478 | |
477 | - foreach ($rowIdParts as $rowIdPartName => $rowIdPartValue) |
|
478 | - $row[$rowIdPartName] = $rowIdPartValue; |
|
479 | + foreach ($rowIdParts as $rowIdPartName => $rowIdPartValue) { |
|
480 | + $row[$rowIdPartName] = $rowIdPartValue; |
|
481 | + } |
|
479 | 482 | |
480 | 483 | $indexParts = []; |
481 | 484 | foreach ($rowIdParts as $name => $value) { |
@@ -497,12 +500,12 @@ discard block |
||
497 | 500 | public function first($strict=false) |
498 | 501 | { |
499 | 502 | if (!$this->count()) { |
500 | - if ($strict) |
|
501 | - throw new \ErrorException("No first element found in this array"); |
|
502 | - else |
|
503 | - $first = null; |
|
504 | - } |
|
505 | - else { |
|
503 | + if ($strict) { |
|
504 | + throw new \ErrorException("No first element found in this array"); |
|
505 | + } else { |
|
506 | + $first = null; |
|
507 | + } |
|
508 | + } else { |
|
506 | 509 | $key = key($this->data); |
507 | 510 | $first = reset($this->data); |
508 | 511 | $this->move($key); |
@@ -519,12 +522,12 @@ discard block |
||
519 | 522 | public function last($strict=false) |
520 | 523 | { |
521 | 524 | if (!$this->count()) { |
522 | - if ($strict) |
|
523 | - throw new \ErrorException("No last element found in this array"); |
|
524 | - else |
|
525 | - $last = null; |
|
526 | - } |
|
527 | - else { |
|
525 | + if ($strict) { |
|
526 | + throw new \ErrorException("No last element found in this array"); |
|
527 | + } else { |
|
528 | + $last = null; |
|
529 | + } |
|
530 | + } else { |
|
528 | 531 | $key = key($this->data); |
529 | 532 | $last = end($this->data); |
530 | 533 | $this->move($key); |
@@ -539,12 +542,12 @@ discard block |
||
539 | 542 | public function firstKey($strict=false) |
540 | 543 | { |
541 | 544 | if (!$this->count()) { |
542 | - if ($strict) |
|
543 | - throw new \ErrorException("No last element found in this array"); |
|
544 | - else |
|
545 | - $firstKey = null; |
|
546 | - } |
|
547 | - else { |
|
545 | + if ($strict) { |
|
546 | + throw new \ErrorException("No last element found in this array"); |
|
547 | + } else { |
|
548 | + $firstKey = null; |
|
549 | + } |
|
550 | + } else { |
|
548 | 551 | $key = key($this->data); |
549 | 552 | reset($this->data); |
550 | 553 | $firstKey = key($this->data); |
@@ -560,12 +563,12 @@ discard block |
||
560 | 563 | public function lastKey($strict=false) |
561 | 564 | { |
562 | 565 | if (!$this->count()) { |
563 | - if ($strict) |
|
564 | - throw new \ErrorException("No last element found in this array"); |
|
565 | - else |
|
566 | - $lastKey = null; |
|
567 | - } |
|
568 | - else { |
|
566 | + if ($strict) { |
|
567 | + throw new \ErrorException("No last element found in this array"); |
|
568 | + } else { |
|
569 | + $lastKey = null; |
|
570 | + } |
|
571 | + } else { |
|
569 | 572 | $key = key($this->data); |
570 | 573 | end($this->data); |
571 | 574 | $lastKey = key($this->data); |
@@ -587,8 +590,7 @@ discard block |
||
587 | 590 | break; |
588 | 591 | } |
589 | 592 | } |
590 | - } |
|
591 | - elseif ($strict) { |
|
593 | + } elseif ($strict) { |
|
592 | 594 | throw new \ErrorException("Unable to move the internal pointer to a key that doesn't exist."); |
593 | 595 | } |
594 | 596 | |
@@ -655,8 +657,9 @@ discard block |
||
655 | 657 | 'data' => $this->data, |
656 | 658 | ]); |
657 | 659 | |
658 | - if ($exit) |
|
659 | - exit; |
|
660 | + if ($exit) { |
|
661 | + exit; |
|
662 | + } |
|
660 | 663 | |
661 | 664 | return $this; |
662 | 665 | } |
@@ -729,21 +732,18 @@ discard block |
||
729 | 732 | foreach ($this->data as $key => $value) { |
730 | 733 | if ( ! Arrays::isTraversable($value)) { |
731 | 734 | $result[ $key ] = $value; |
732 | - } |
|
733 | - else { |
|
735 | + } else { |
|
734 | 736 | foreach ($value as $sub_key => $sub_value) { |
735 | 737 | if (is_int($sub_key)) { |
736 | 738 | $result[] = $sub_value; |
737 | - } |
|
738 | - elseif (isset($result[ $sub_key ])) { |
|
739 | + } elseif (isset($result[ $sub_key ])) { |
|
739 | 740 | throw new \LogicException( |
740 | 741 | "Conflict during flatten merge for key $sub_key between: \n" |
741 | 742 | ."Existing: " . var_export($result[ $sub_key ], true) |
742 | 743 | ."\n and \n" |
743 | 744 | ."Conflict: " . var_export($sub_value, true) |
744 | 745 | ); |
745 | - } |
|
746 | - else { |
|
746 | + } else { |
|
747 | 747 | $result[ $sub_key ] = $sub_value; |
748 | 748 | } |
749 | 749 | } |
@@ -50,8 +50,7 @@ discard block |
||
50 | 50 | foreach ($array as $key => $value) { |
51 | 51 | if (is_scalar($value)) { |
52 | 52 | $id = $value; |
53 | - } |
|
54 | - else { |
|
53 | + } else { |
|
55 | 54 | $id = serialize($value); |
56 | 55 | } |
57 | 56 | |
@@ -75,11 +74,9 @@ discard block |
||
75 | 74 | |
76 | 75 | if (is_array($array)) { |
77 | 76 | return array_key_exists($key, $array); |
78 | - } |
|
79 | - elseif ($array instanceof ChainableArray || method_exists($array, 'keyExists')) { |
|
77 | + } elseif ($array instanceof ChainableArray || method_exists($array, 'keyExists')) { |
|
80 | 78 | return $array->keyExists($key); |
81 | - } |
|
82 | - else { |
|
79 | + } else { |
|
83 | 80 | throw new \InvalidArgumentException( |
84 | 81 | "keyExists() method missing on :\n". var_export($array, true) |
85 | 82 | ); |
@@ -105,16 +102,13 @@ discard block |
||
105 | 102 | foreach ($array as $key => &$value) { // &for optimization |
106 | 103 | if (is_scalar($value)) { |
107 | 104 | $sum += $value; |
108 | - } |
|
109 | - elseif (is_null($value)) { |
|
105 | + } elseif (is_null($value)) { |
|
110 | 106 | continue; |
111 | - } |
|
112 | - elseif (is_array($value)) { |
|
107 | + } elseif (is_array($value)) { |
|
113 | 108 | throw new \InvalidArgumentException( |
114 | 109 | "Trying to sum an array with '$sum': ".var_export($value, true) |
115 | 110 | ); |
116 | - } |
|
117 | - elseif (is_object($value)) { |
|
111 | + } elseif (is_object($value)) { |
|
118 | 112 | if ( ! method_exists($value, 'toNumber')) { |
119 | 113 | throw new \InvalidArgumentEXception( |
120 | 114 | "Trying to sum a ".get_class($value)." object which cannot be casted as a number. " |
@@ -141,17 +135,21 @@ discard block |
||
141 | 135 | */ |
142 | 136 | public static function weightedMean($values, $weights) |
143 | 137 | { |
144 | - if ($values instanceof ChainableArray) |
|
145 | - $values = $values->toArray(); |
|
138 | + if ($values instanceof ChainableArray) { |
|
139 | + $values = $values->toArray(); |
|
140 | + } |
|
146 | 141 | |
147 | - if ($weights instanceof ChainableArray) |
|
148 | - $weights = $weights->toArray(); |
|
142 | + if ($weights instanceof ChainableArray) { |
|
143 | + $weights = $weights->toArray(); |
|
144 | + } |
|
149 | 145 | |
150 | - if ( ! is_array($values)) |
|
151 | - $values = [$values]; |
|
146 | + if ( ! is_array($values)) { |
|
147 | + $values = [$values]; |
|
148 | + } |
|
152 | 149 | |
153 | - if ( ! is_array($weights)) |
|
154 | - $weights = [$weights]; |
|
150 | + if ( ! is_array($weights)) { |
|
151 | + $weights = [$weights]; |
|
152 | + } |
|
155 | 153 | |
156 | 154 | if (count($values) != count($weights)) { |
157 | 155 | throw new \InvalidArgumentException( |
@@ -162,12 +160,14 @@ discard block |
||
162 | 160 | ); |
163 | 161 | } |
164 | 162 | |
165 | - if (!$values) |
|
166 | - return null; |
|
163 | + if (!$values) { |
|
164 | + return null; |
|
165 | + } |
|
167 | 166 | |
168 | 167 | $weights_sum = array_sum($weights); |
169 | - if (!$weights_sum) |
|
170 | - return 0; |
|
168 | + if (!$weights_sum) { |
|
169 | + return 0; |
|
170 | + } |
|
171 | 171 | |
172 | 172 | $weighted_sum = 0; |
173 | 173 | foreach ($values as $i => $value) { |
@@ -206,8 +206,9 @@ discard block |
||
206 | 206 | */ |
207 | 207 | public static function mustBeCountable($value) |
208 | 208 | { |
209 | - if (static::isCountable($value)) |
|
210 | - return true; |
|
209 | + if (static::isCountable($value)) { |
|
210 | + return true; |
|
211 | + } |
|
211 | 212 | |
212 | 213 | $exception = new \InvalidArgumentException( |
213 | 214 | "A value must be Countable instead of: \n" |
@@ -244,8 +245,9 @@ discard block |
||
244 | 245 | */ |
245 | 246 | public static function mustBeTraversable($value) |
246 | 247 | { |
247 | - if (static::isTraversable($value)) |
|
248 | - return true; |
|
248 | + if (static::isTraversable($value)) { |
|
249 | + return true; |
|
250 | + } |
|
249 | 251 | |
250 | 252 | $exception = new \InvalidArgumentException( |
251 | 253 | "A value must be Traversable instead of: \n" |
@@ -329,8 +331,7 @@ discard block |
||
329 | 331 | |
330 | 332 | $part_name .= $group_definition_value; |
331 | 333 | $group_result_value = $row[ $group_definition_value ]; |
332 | - } |
|
333 | - elseif (is_int($group_definition_value)) { |
|
334 | + } elseif (is_int($group_definition_value)) { |
|
334 | 335 | if ( (is_array($row) && ! array_key_exists($group_definition_value, $row)) |
335 | 336 | || ($row instanceof \ArrayAcces && ! $row->offsetExists($group_definition_value)) |
336 | 337 | ) { |
@@ -343,8 +344,7 @@ discard block |
||
343 | 344 | |
344 | 345 | $part_name .= $group_definition_value ? : '0'; |
345 | 346 | $group_result_value = $row[ $group_definition_value ]; |
346 | - } |
|
347 | - elseif (is_callable($group_definition_value)) { |
|
347 | + } elseif (is_callable($group_definition_value)) { |
|
348 | 348 | |
349 | 349 | if (is_string($group_definition_value)) { |
350 | 350 | $part_name .= $group_definition_value; |
@@ -353,16 +353,14 @@ discard block |
||
353 | 353 | elseif (is_object($group_definition_value) && ($group_definition_value instanceof \Closure)) { |
354 | 354 | $part_name .= 'unnamed-closure-' |
355 | 355 | . hash('crc32b', var_export($group_definition_value, true)); |
356 | - } |
|
357 | - elseif (is_array($group_definition_value)) { |
|
356 | + } elseif (is_array($group_definition_value)) { |
|
358 | 357 | $part_name .= implode('::', $group_definition_value); |
359 | 358 | } |
360 | 359 | |
361 | 360 | $group_result_value = call_user_func_array($group_definition_value, [ |
362 | 361 | $row, &$part_name |
363 | 362 | ]); |
364 | - } |
|
365 | - else { |
|
363 | + } else { |
|
366 | 364 | throw new UsageException( |
367 | 365 | 'Bad value provided for group id generation: ' |
368 | 366 | .var_export($group_definition_value, true) |
@@ -370,8 +368,9 @@ discard block |
||
370 | 368 | ); |
371 | 369 | } |
372 | 370 | |
373 | - if (!is_null($part_name)) |
|
374 | - $group_parts[ $part_name ] = $group_result_value; |
|
371 | + if (!is_null($part_name)) { |
|
372 | + $group_parts[ $part_name ] = $group_result_value; |
|
373 | + } |
|
375 | 374 | } |
376 | 375 | |
377 | 376 | // sort the groups by names (without it the same group could have multiple ids) |
@@ -384,8 +383,7 @@ discard block |
||
384 | 383 | $group_value = get_class($group_value) |
385 | 384 | . '_' |
386 | 385 | . hash( 'crc32b', var_export($group_value, true) ); |
387 | - } |
|
388 | - elseif (is_array($group_value)) { |
|
386 | + } elseif (is_array($group_value)) { |
|
389 | 387 | $group_value = 'array_' . hash( 'crc32b', var_export($group_value, true) ); |
390 | 388 | } |
391 | 389 | |
@@ -439,8 +437,7 @@ discard block |
||
439 | 437 | foreach ($location_parts as $location_part) { |
440 | 438 | if (isset($value[$location_part])) { |
441 | 439 | $value = $value[$location_part]; |
442 | - } |
|
443 | - else { |
|
440 | + } else { |
|
444 | 441 | return $default_value; |
445 | 442 | } |
446 | 443 | } |