Router::queryString PHP Method

queryString() public static method

Generates a well-formed querystring from $q
public static queryString ( string | array $q, array $extra = [], boolean $escape = false ) : array
$q string | array Query string Either a string of already compiled query string arguments or an array of arguments to convert into a query string.
$extra array Extra querystring parameters.
$escape boolean Whether or not to use escaped &
return array
    public static function queryString($q, $extra = array(), $escape = false)
    {
        if (empty($q) && empty($extra)) {
            return null;
        }
        $join = '&';
        if ($escape === true) {
            $join = '&';
        }
        $out = '';
        if (is_array($q)) {
            $q = array_merge($q, $extra);
        } else {
            $out = $q;
            $q = $extra;
        }
        $addition = http_build_query($q, null, $join);
        if ($out && $addition && substr($out, strlen($join) * -1, strlen($join)) !== $join) {
            $out .= $join;
        }
        $out .= $addition;
        if (isset($out[0]) && $out[0] !== '?') {
            $out = '?' . $out;
        }
        return $out;
    }

Usage Example

 protected function _buildQuery($query, $escape = false)
 {
     if (is_array($query)) {
         $query = substr(Router::queryString($query, array(), $escape), '1');
     }
     return $query;
 }
All Usage Examples Of Router::queryString