Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php header( "Content-type: text/plain" );
- $arr1 = array(
- 'access' => array(
- 'axs_import' => 'administrator',
- 'axs_import_users' => 'test',
- 'axs_goaway' => '',
- ),
- 'database' => array(
- 'host' => '12.34.56.78',
- 'user' => '',
- 'name' => '',
- ),
- 'import' => array(
- 'key' => '',
- 'search' => '',
- ),
- );
- $arr2 = array(
- 'access' => array(
- 'axs_import' => 'administrator',
- 'axs_import_users' => '',
- 'axs_settings' => 'administrator',
- 'axs_setings_users' => '',
- ),
- 'database' => array(
- 'host' => '12.43.21',
- 'user' => 'test',
- 'pass' => 'new',
- 'name' => '',
- ),
- 'import' => array(
- 'key' => '',
- 'search' => '',
- ),
- 'misc' => array(
- 'gallery_content' => 500,
- ),
- );
- $old = _options( $arr1, _options( $arr1, $arr2 ), 'diff' );
- $new = _options( $arr2, $arr1 );
- $options = array_merge_recursive( $old, $new );
- print_r( $options );
- function _options( $new, $old, $case = 'compare' )
- {
- $diff = array();
- foreach ( $new as $k => $v)
- {
- if ( array_key_exists( $k, $old ) )
- {
- if ( is_array($v) )
- {
- $rdiff = _options( $v, $old[$k] );
- if ( $case = 'compare' )
- if ( count($rdiff) ) $diff[$k] = $rdiff;
- else
- $diff[$k] = array_intersect( $rdiff, $v );
- unset($rdiff);
- }
- }
- else
- {
- $diff[$k] = $v;
- }
- }
- return $diff;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement