Minwork Array
  • Minwork Array
  • Common methods
    • has
    • get → getNestedElement
    • set → setNestedElement
    • remove
    • clone
    • getKeysArray
  • Object oriented methods
    • General information
  • Traversing array
    • Finding
    • Iterating
  • Manipulating array
    • Mapping
    • Filtering
    • Grouping
    • Sorting
    • Computations
    • Flattening
  • Validating array
    • check
    • isEmpty
    • isNested
    • isArrayOfArrays
    • isAssoc
    • isUnique
    • isNumeric
    • hasKeys
  • Utility methods
    • pack
    • unpack
    • createMulti
    • forceArray
    • getDepth
    • random
    • shuffle
    • nth
    • getFirstKey
    • getLastKey
    • getFirstValue
    • getLastValue
Powered by GitBook
On this page
  • sum
  • diffObjects
  • intersectObjects

Was this helpful?

  1. Manipulating array

Computations

sum

Definition

Arr::sum(array ...$arrays): array

Description

Sum associative arrays by their keys into one array

Examples

$arrays = [
    [
        'a' => 1,
        'b' => -3.5,
        'c' => 0,
        3
    ],
    [
        2,
        'a' => 0,
        'c' => -5,
        'd' => PHP_INT_MAX,
    ],
    [
        -5,
        'b' => 3.5,
        'a' => -1,
        'c' => 5,
    ],
    [
        'd' => PHP_INT_MAX,
    ],
    [
        'd' => 2 * -PHP_INT_MAX,
    ]
];

Arr::sum(...$arrays) ->
[
    0,
    'a' => 0,
    'b' => 0,
    'c' => 0,
    'd' => 0,
]

Arr::sum([null, '', false], ['1', true, 'test']) -> [1, 1, 0]

diffObjects

Declaration

Arr::diffObjects(array $array1, array $array2, array ...$arrays): array

Description

Compute difference between two or more arrays of objects

Examples

$object1 = new \stdClass();
$object2 = new \stdClass();
$object3 = new \stdClass();

Arr::diffObjects(
    [$object3, $object1, $object2], 
    [$object3], [$object2]
) -> [1 => $object1]

Arr::diffObjects(
    [$object3, $object1, $object2], 
    [$object3], 
    [$object1, $object2]
) -> []

Arr::diffObjects(
    [$object1], 
    [$object3], 
    [$object2], 
    []
) -> [$object1]

intersectObjects

Definition

Arr::intersectObjects(array $array1, array $array2, array ...$arrays): array

Description

Compute intersection between two or more arrays of objects

Examples

$object1 = new \stdClass();
$object2 = new \stdClass();
$object3 = new \stdClass();

Arr::intersectObjects(
    [$object3, $object1, $object2], 
    [$object3, $object2], 
    [$object2]
) -> [2 => $object2]

Arr::intersectObjects(
    [$object3, $object1, $object2], 
    [$object3], 
    [$object1, $object2]
) -> []

Arr::intersectObjects(
    [$object1, $object2, $object3, $object1], 
    [$object1, $object2]
) -> [$object1, $object2, 3 => $object1]
PreviousSortingNextFlattening

Last updated 5 years ago

Was this helpful?