$a = array( 'value' => 19211111, 'next' => array( 'value' => 168222222, 'next' => array( 'value' => 1, 'next' => array( 'value' => 1, 'next' => array() ) ) ) ); $b = array( 'value' => 19211111, 'next' => array( 'value' => 168222222, 'next' => array( 'value' => 1, 'next' => array( 'value' => 0, 'next' => array() ) ) ) ); function compare($f,$s) { if(!isset($f['value']) && isset($s['value'])) { return 'small'; } if(isset($f['value']) && !isset($s['value'])) { return 'big'; } if(!isset($f['value']) && !isset($s['value'])) { return 'equal'; } if($f['value'] > $s['value'] ){ return 'big'; } if($f['value'] < $s['value'] ){ return 'small'; } return compare($f['next'],$s['next']); } echo compare($a,$b);