@@ -80,7 +80,9 @@ Here, you can quickly get started by becoming familiar with each and every metho
80
80
* [ shuffle] ( #shufflearray-array-array )
81
81
* [ nth] ( #ntharray-array-int-a--1-int-b--0-array )
82
82
83
- ## ` getKeysArray(mixed $keys): array `
83
+ # Common
84
+
85
+ ### ` getKeysArray(mixed $keys): array `
84
86
Transform variable into standarised array of keys
85
87
86
88
** All ` $keys ` parameters are normalized using this method**
@@ -97,7 +99,7 @@ Arr::getKeysArray('key1.0.key2.1') -> ['key1', '0', 'key2', '1']
97
99
Arr::getKeysArray([null, 'key1', '', 'key2', 3.1415, 0]) -> ['key1', 'key2', 0]
98
100
```
99
101
100
- ## ` hasKeys(array $array, mixed $keys, bool $strict = false): bool `
102
+ ### ` hasKeys(array $array, mixed $keys, bool $strict = false): bool `
101
103
Check if array has specified keys ( all required, when ` $strict ` is ` true ` )
102
104
103
105
``` php
@@ -114,7 +116,7 @@ Arr::hasKeys($array, ['test', 'key1'], true) -> false
114
116
Arr::hasKeys($array, 'test') -> false
115
117
```
116
118
117
- ## ` getNestedElement(array|ArrayAccess $array, mixed $keys, mixed $default = null): mixed `
119
+ ### ` getNestedElement(array|ArrayAccess $array, mixed $keys, mixed $default = null): mixed `
118
120
Get nested array element using specified keys or return ` $default ` value if it does not exists
119
121
120
122
``` php
@@ -129,7 +131,7 @@ Arr::getNestedElement($array, ['nonexistent', 'key'], 'default') -> 'default'
129
131
Arr::getNestedElement($array, 'nonexistent.key.without.default') -> null
130
132
```
131
133
132
- ## ` setNestedElement(array $array, mixed $keys, mixed $value): array `
134
+ ### ` setNestedElement(array $array, mixed $keys, mixed $value): array `
133
135
Set array element specified by keys to the desired value (create missing keys if necessary)
134
136
135
137
``` php
@@ -153,7 +155,7 @@ Arr::setNestedElement($array, 'foo.[].foo', 'bar') ->
153
155
Arr::setNestedElement([], '[].[].[]', 'test') -> [ [ [ 'test' ] ] ]
154
156
```
155
157
156
- ## ` unpack(array $array, array $keys = []): array `
158
+ ### ` unpack(array $array, array $keys = []): array `
157
159
Converts multidimensional array to map of keys concatenated by dot and corresponding values
158
160
159
161
``` php
@@ -181,7 +183,9 @@ Arr::unpack($array) ->
181
183
]
182
184
```
183
185
184
- ## ` check(array $array, mixed|callable $condition, bool $strict = false): bool `
186
+ # Validation
187
+
188
+ ### ` check(array $array, mixed|callable $condition, bool $strict = false): bool `
185
189
Check if every element of an array meets specified condition
186
190
187
191
``` php
@@ -203,7 +207,7 @@ Arr::check($array, function ($value) { return $value; }, true) -> false
203
207
Arr::check($array, function ($value) { return $value === 1; }, true) -> true
204
208
```
205
209
206
- ## ` isEmpty(mixed $array): bool `
210
+ ### ` isEmpty(mixed $array): bool `
207
211
Recursively check if all of array values match empty condition
208
212
209
213
``` php
@@ -215,7 +219,7 @@ Arr::isEmpty([0 => [0], [], null, [false]) -> true
215
219
Arr::isEmpty([0 => [0 => 'a'], [], null, [false]]) -> false
216
220
```
217
221
218
- ## ` isAssoc(array $array, bool $strict = false): bool `
222
+ ### ` isAssoc(array $array, bool $strict = false): bool `
219
223
Check if array is associative
220
224
221
225
``` php
@@ -240,7 +244,7 @@ Arr::isAssoc([1, 2, 3], true) -> false
240
244
Arr::isAssoc([0 => 1, 1 => 2, 2 => 3], true) -> false
241
245
```
242
246
243
- ## ` isNumeric(array $array): bool `
247
+ ### ` isNumeric(array $array): bool `
244
248
Check if array contain only numeric values
245
249
246
250
``` php
@@ -249,7 +253,7 @@ Arr::isNumeric([1, '2', '3e10', 5.0002]) -> true
249
253
Arr::isNumeric([1, '2', '3e10', 5.0002, 'a']) -> false
250
254
```
251
255
252
- ## ` isUnique(array $array, bool $strict = false): bool `
256
+ ### ` isUnique(array $array, bool $strict = false): bool `
253
257
Check if array values are unique
254
258
255
259
``` php
@@ -259,7 +263,7 @@ Arr::isUnique([1, '1', true]) -> false
259
263
Arr::isUnique([1, '1', true], true) -> true
260
264
```
261
265
262
- ## ` isArrayOfArrays(array $array): bool `
266
+ ### ` isArrayOfArrays(array $array): bool `
263
267
Check if every array element is array
264
268
265
269
``` php
@@ -270,7 +274,11 @@ Arr::isArrayOfArrays([[], []]) -> true
270
274
Arr::isArrayOfArrays([1, 2 => []]) -> false
271
275
```
272
276
273
- ## ` map(array $array, callable $callback, int $mode = Arr::MAP_ARRAY_KEY_VALUE): array `
277
+ # Manipulation
278
+
279
+ ## Map
280
+
281
+ ### ` map(array $array, callable $callback, int $mode = Arr::MAP_ARRAY_KEY_VALUE): array `
274
282
Applies a callback to the elements of given array. Arguments supplied to callback differs depending on selected ` $mode `
275
283
276
284
* For backward compatibility using map(callable, array) is still possible but is deprecated and will issue appropriate warning*
@@ -328,7 +336,7 @@ Arr::map($array2, $mapValueKeysList, Arr::MAP_ARRAY_VALUE_KEYS_LIST) ->
328
336
]
329
337
```
330
338
331
- ## ` mapObjects(array $objects, string $method, ...$args): array `
339
+ ### ` mapObjects(array $objects, string $method, ...$args): array `
332
340
Map array of object to values returned from objects method
333
341
334
342
``` php
@@ -343,7 +351,9 @@ Arr::mapObjects($array, 'test') -> [1, 1, 1]
343
351
Arr::mapObjects($array, 'test', 2) -> [3, 3, 3]
344
352
```
345
353
346
- ## ` filterByKeys(array $array, mixed $keys, bool $exclude = false): array `
354
+ ## Filter
355
+
356
+ ### ` filterByKeys(array $array, mixed $keys, bool $exclude = false): array `
347
357
Filter array values by preserving only those which keys are present in array obtained from $keys variable
348
358
349
359
``` php
@@ -361,7 +371,7 @@ Arr::filterByKeys($array, [null, 0, '']) -> []
361
371
Arr::filterByKeys($array, [null, 0, ''], true) -> $array
362
372
```
363
373
364
- ## ` filterObjects(array $objects, string $method, ...$args): array `
374
+ ### ` filterObjects(array $objects, string $method, ...$args): array `
365
375
Filter objects array using return value of specified method
366
376
367
377
This method also filter values other than objects by standard boolean comparison
@@ -379,7 +389,9 @@ Arr::filterObjects($array, 'test') -> [$object, 'foo', $object]
379
389
Arr::filterObjects($array, 'test', false) -> ['foo']
380
390
```
381
391
382
- ## ` group(array $array, string|int $key): array `
392
+ ## Group
393
+
394
+ ### ` group(array $array, string|int $key): array `
383
395
Group array of arrays by value of element with specified key
384
396
385
397
``` php
@@ -426,7 +438,7 @@ Arr::group($array, 'key3') ->
426
438
Arr::group($array, 'key4') -> []
427
439
```
428
440
429
- ## ` groupObjects(array $objects, string $method, ...$args): array `
441
+ ### ` groupObjects(array $objects, string $method, ...$args): array `
430
442
Group array of objects by value returned from specified method
431
443
432
444
``` php
@@ -455,7 +467,9 @@ Arr::flattenSingle(Arr::groupObjects([$object1, $object2], 'test')) ->
455
467
]
456
468
```
457
469
458
- ## ` orderByKeys(array $array, mixed $keys, bool $appendUnmatched = true): array `
470
+ ## Order
471
+
472
+ ### ` orderByKeys(array $array, mixed $keys, bool $appendUnmatched = true): array `
459
473
Order associative array according to supplied keys order
460
474
461
475
``` php
@@ -494,7 +508,7 @@ Arr::orderByKeys($array, 'a.0.c', false) ->
494
508
]
495
509
```
496
510
497
- ## ` sortByKeys(array $array, mixed $keys = null, bool $assoc = true): array `
511
+ ### ` sortByKeys(array $array, mixed $keys = null, bool $assoc = true): array `
498
512
Sort array of arrays using value specified by key(s)
499
513
500
514
``` php
@@ -522,7 +536,9 @@ Arr::sortByKeys(['a' => 3, 'b' => 1, 'c' => 6]) -> ['b' => 1, 'a' => 3, 'c' => 6
522
536
Arr::sortByKeys(['a' => 3, 'b' => 1, 'c' => 6], null, false) -> [1, 3, 6]
523
537
```
524
538
525
- ## ` sum(array ...$arrays): array `
539
+ ## Computations
540
+
541
+ ### ` sum(array ...$arrays): array `
526
542
Sum associative arrays by their keys into one array
527
543
528
544
``` php
@@ -565,7 +581,7 @@ Arr::sum(...$arrays) ->
565
581
Arr::sum([null, '', false], ['1', true, 'test']) -> [1, 1, 0]
566
582
```
567
583
568
- ## ` diffObjects(array $array1, array $array2, array ...$arrays): array `
584
+ ### ` diffObjects(array $array1, array $array2, array ...$arrays): array `
569
585
Differentiate two or more arrays of objects
570
586
571
587
``` php
@@ -580,7 +596,9 @@ Arr::diffObjects([$object3, $object1, $object2], [$object3], [$object1, $object2
580
596
Arr::diffObjects([$object1], [$object3], [$object2], []) -> [$object1]
581
597
```
582
598
583
- ## ` flatten(array $array, ?int $depth = null, bool $assoc = false): array `
599
+ ## Flattening
600
+
601
+ ### ` flatten(array $array, ?int $depth = null, bool $assoc = false): array `
584
602
Flatten array of arrays to a n-depth array
585
603
586
604
``` php
@@ -650,7 +668,7 @@ Arr::flatten($array, null, true) ->
650
668
]
651
669
```
652
670
653
- ## ` flattenSingle(array $array): array `
671
+ ### ` flattenSingle(array $array): array `
654
672
Flatten single element arrays (also nested single element arrays)
655
673
656
674
``` php
@@ -685,7 +703,9 @@ Arr::flattenSingle([['a']]) -> ['a']
685
703
Arr::flattenSingle([]) -> []
686
704
```
687
705
688
- ## ` createMulti(array $keys, ?array $values = null): array `
706
+ # Utilities
707
+
708
+ ### ` createMulti(array $keys, ?array $values = null): array `
689
709
Create multidimensional array using either first param as config of keys and values or separate keys and values arrays
690
710
691
711
``` php
@@ -736,7 +756,7 @@ Arr::createMulti([
736
756
Arr::createMulti([]) -> []
737
757
```
738
758
739
- ## ` forceArray(mixed $var, int $flag = self::FORCE_ARRAY_ALL): mixed `
759
+ ### ` forceArray(mixed $var, int $flag = self::FORCE_ARRAY_ALL): mixed `
740
760
Make variable an array (according to flag settings)
741
761
742
762
``` php
@@ -761,7 +781,7 @@ Arr::forceArray($object) -> [$object]
761
781
Arr::forceArray($object, Arr::FORCE_ARRAY_PRESERVE_ARRAY_OBJECTS) -> $object
762
782
```
763
783
764
- ## ` clone(array $array): array `
784
+ ### ` clone(array $array): array `
765
785
Copy array and clone every object inside it
766
786
767
787
``` php
@@ -791,7 +811,7 @@ $cloned[2]->counter -> 2
791
811
$cloned['nested']['object']->counter -> 2
792
812
```
793
813
794
- ## ` random(array $array, int $count = 1): mixed `
814
+ ### ` random(array $array, int $count = 1): mixed `
795
815
Get random array value(s)
796
816
797
817
``` php
@@ -813,7 +833,7 @@ Arr::random($array, 2) -> ['b' => 2, 'e' => 5]
813
833
Arr::random($array, 2) -> ['c' => 3, 'b' => 2]
814
834
```
815
835
816
- ## ` shuffle(array $array): array `
836
+ ### ` shuffle(array $array): array `
817
837
Shuffle array preserving keys and returning new shuffled array
818
838
819
839
``` php
@@ -844,7 +864,7 @@ Arr::shuffle($array) ->
844
864
]
845
865
```
846
866
847
- ## ` nth(array $array, int $A = 1, int $B = 0): array `
867
+ ### ` nth(array $array, int $A = 1, int $B = 0): array `
848
868
Gets array elements with index matching condition $An + $B (preserving original keys)
849
869
850
870
``` php
0 commit comments