src/util/Arr.php
public static function extract($array, array $paths, $default = null) {
        $found = array();
        foreach ($paths as $path) {
            static::set_path($found, $path, static::path($array, $path, $default));
        }

        return $found;
    }
public static function extract($array, array $paths, $default = null) {
        $found = array();
        foreach ($paths as $path) {
            static::set_path($found, $path, static::path($array, $path, $default));
        }

        return $found;
    }
public static function extract ( $ array , array $ paths , $ default = null ) { $ found = array ( ) ; foreach ( $ paths as $ path ) { static :: set_path ( $ found , $ path , static :: path ( $ array , $ path , $ default ) ) ; } return $ found ; }
Retrieves multiple paths from an array. If the path does not exist in the
array, the default value will be added instead.

// Get the values "username", "password" from $_POST
$auth = Arr::extract($_POST, array('username', 'password'));

// Get the value "level1.level2a" from $data
$data = array('level1' => array('level2a' => 'value 1', 'level2b' => 'value 2'));
Arr::extract($data, array('level1.level2a', 'password'));

@param   array $array array to extract paths from
@param   array $paths list of path
@param   mixed $default default value
@return  array
Retrieves multiple paths from an array . If the path does not exist in the array the default value will be added instead .