????JFIF??x?x????'
Server IP : 104.21.96.1 / Your IP : 216.73.216.145 Web Server : LiteSpeed System : Linux premium151.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64 User : tempvsty ( 647) PHP Version : 8.0.30 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/tempvsty/dchsreunion.com/wp-content/plugins/meta-box/src/Support/ |
Upload File : |
<?php namespace MetaBox\Support; class Arr { /** * New array map function that accepts more params than just values. * Params: array|item, callback, other params. */ public static function map() { $args = func_get_args(); $items = array_shift( $args ); $callback = array_shift( $args ); if ( ! is_array( $items ) ) { array_unshift( $args, $items ); return call_user_func_array( $callback, $args ); } return array_map( function( $item ) use ( $callback, $args ) { array_unshift( $args, $item ); return call_user_func_array( $callback, $args ); }, $items ); } /** * Convert a comma separated string to array. * * @param array|string $csv Comma separated string. */ public static function from_csv( $csv ) : array { return is_array( $csv ) ? $csv : array_filter( array_map( 'trim', explode( ',', $csv . ',' ) ) ); } /** * Change array key. * * @param array $array Input array. * @param string $from From key. * @param string $to To key. */ public static function change_key( &$array, $from, $to ) { if ( isset( $array[ $from ] ) ) { $array[ $to ] = $array[ $from ]; } unset( $array[ $from ] ); } /** * Ensure a variable is an array. */ public static function ensure( $input ) : array { return (array) $input; } /** * Flatten an array. * @link https://stackoverflow.com/a/1320156/371240 */ public static function flatten( array $array ) : array { $return = []; array_walk_recursive( $array, function( $a ) use ( &$return ) { $return[] = $a; } ); return $return; } /** * Convert flatten collection (with dot notation) to multiple dimensional array * * @param collection $collection Collection to be flatten. * @return array */ public static function unflatten( $collection ) { $collection = (array) $collection; $output = []; foreach ( $collection as $key => $value ) { self::set( $output, $key, $value ); if ( is_array( $value ) && ! strpos( $key, '.' ) ) { $nested = self::unflatten( $value ); $output[ $key ] = $nested; } } return $output; } /** * Set array element value with dot notation. */ public static function set( &$array, $key, $value ) { if ( is_null( $key ) ) { $array = $value; return $array; } // Do not parse email value. if ( is_email( $key ) ) { $array[ $key ] = $value; return; } $keys = explode( '.', $key ); while ( count( $keys ) > 1 ) { $key = array_shift( $keys ); // If the key doesn't exist at this depth, we will just create an empty array // to hold the next value, allowing us to create the arrays to hold final // values at the correct depth. Then we'll keep digging into the array. if ( ! isset( $array[ $key ] ) || ! is_array( $array[ $key ] ) ) { $array[ $key ] = []; } $array =& $array[ $key ]; } $array[ array_shift( $keys ) ] = $value; } /** * Get array element value with dot notation. */ public static function get( $array, $key, $default = null ) { if ( is_null( $key ) ) { return $array; } $keys = explode( '.', $key ); foreach ( $keys as $key ) { if ( isset( $array[ $key ] ) ) { $array = $array[ $key ]; } else { return $default; } } return $array; } }