_http_build_query() – From php.net (modified by Mark Jaquith to behave like the native PHP5 function).

You appear to be a bot. Output may be restricted

Description

From php.net (modified by Mark Jaquith to behave like the native PHP5 function).

Usage

$string = _http_build_query( $data, $prefix, $sep, $key, $urlencode );

Parameters

$data
( array|object ) required – An array or object of data. Converted to array.
$prefix
( string ) optional – Optional. Numeric index. If set, start parameter numbering with it. Default null.
$sep
( string ) optional – Optional. Argument separator; defaults to 'arg_separator.output'. Default null.
$key
( string ) optional – Optional. Used to prefix key name. Default empty.
$urlencode
( bool ) optional default: 1 – Optional. Whether to use urlencode() in the result. Default true.

Returns

string The query string.

Source

File name: wordpress/wp-includes/functions.php
Lines:

1 to 34 of 34
function _http_build_query( $data, $prefix = null, $sep = null, $key = '', $urlencode = true ) {
  $ret = array();

  foreach ( (array) $data as $k => $v ) {
    if ( $urlencode ) {
      $k = urlencode( $k );
    }
    if ( is_int( $k ) && null != $prefix ) {
      $k = $prefix . $k;
    }
    if ( ! empty( $key ) ) {
      $k = $key . '%5B' . $k . '%5D';
    }
    if ( null === $v ) {
      continue;
    } elseif ( false === $v ) {
      $v = '0';
    }

    if ( is_array( $v ) || is_object( $v ) ) {
      array_push( $ret, _http_build_query( $v, '', $sep, $k, $urlencode ) );
    } elseif ( $urlencode ) {
      array_push( $ret, $k . '=' . urlencode( $v ) );
    } else {
      array_push( $ret, $k . '=' . $v );
    }
  }

  if ( null === $sep ) {
    $sep = ini_get( 'arg_separator.output' );
  }

  return implode( $sep, $ret );
}
 

 View on GitHub View on Trac