Skip to content

Instantly share code, notes, and snippets.

@donatj
Created July 22, 2014 22:16
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save donatj/0e22416775243adc7995 to your computer and use it in GitHub Desktop.
Save donatj/0e22416775243adc7995 to your computer and use it in GitHub Desktop.
Similar Array Checker - Regardless of Key Order
<?php
function arrays_are_similar( $aSide, $bSide ) {
$keys = array_unique(array_merge(
array_keys($aSide),
array_keys($bSide)
));
foreach( $keys as $key ) {
if( !array_key_exists($key, $aSide) || !array_key_exists($key, $bSide) ) {
return false;
}
$aSideValue = $aSide[$key];
$bSideValue = $bSide[$key];
if( is_array($aSideValue) && is_array($bSideValue) ) {
if( !$this->arrays_are_similar($aSideValue, $bSideValue) ) {
return false;
}
} elseif( !is_array($aSideValue) && !is_array($bSideValue) ) {
if( $aSideValue !== $bSideValue ) {
return false;
}
} else {
return false;
}
}
return true;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment