Skip to content

Repository files navigation

Array Diff Multidimensional

Build StatusStyleCITotal DownloadsLatest Stable VersionLicense

Works like the PHP array_diff() function, but with multidimensional arrays.

Install

Via composer:

composer require rogervila/array-diff-multidimensional

Usage

useRogervila\ArrayDiffMultidimensional;
$new = [
'a' => 'b',
'c' => [
'd' => 'e',
'f' => 'Hello',
],
];
$old = [
'a' => 'b',
'c' => [
'd' => 'e',
'f' => 'Goodbye',
],
];
// Compare the arrays by calling the 'compare' class method$result = ArrayDiffMultidimensional::compare($new, $old)
// Or by calling the global helper function$result = array_diff_multidimensional($new, $old)
var_dump($result);

The result of comparing $new with $old will return a new array with the changes:

[
'c' => [
'f' => 'Hello'
],
]

Strict vs. Loose comparisons

Comparisons are strict by default, but you can specify that you want to make a loose comparison passing a boolean as the third parameter for compare method or calling the looseComparison

// Passing 'false' as a third parameter will deactivate the strict comparison mode
ArrayDiffMultidimensional::compare($new, $old, false);
array_diff_multidimensional($new, $old, false);
// This method call is equivalent
ArrayDiffMultidimensional::looseComparison($new, $old);

Also, a strictComparison method is available for more clarity

// Comparisons are strict by default
ArrayDiffMultidimensional::compare($new, $old);
array_diff_multidimensional($new, $old);
// This method call is equivalent
ArrayDiffMultidimensional::strictComparison($new, $old);

License

Array Diff Multidimensional is an open-sourced package licensed under the MIT license.

About

Recursively compare the difference between two multidimensional arrays in PHP

Topics

Resources

Stars

113 stars

Watchers

4 watching

Forks

Releases

Packages

Used by

Contributors

Languages