rogervila / array-diff-multidimensional
Compare the difference between two multidimensional arrays
Installs: 2 552 252
Dependents: 6
Suggesters: 0
Security: 0
Stars: 103
Watchers: 6
Forks: 14
Open Issues: 1
Requires (Dev)
- phpunit/phpunit: ^4.8 || ^5.0 || ^6.0 || ^7.0 || ^8.0 || ^9.0
This package is auto-updated.
Last update: 2024-11-22 08:24:35 UTC
README
Works like the PHP array_diff() function, but with multidimensional arrays.
Install
Via composer:
composer require rogervila/array-diff-multidimensional
Usage
use Rogervila\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.