- implode: documentation ( source)
- http_build_query: documentation ( source)
- array_walk: documentation ( source)
<?php
$walk = function( $item, $key, $parent_key = '' ) use ( &$output, &$walk ) {
is_array( $item )
? array_walk( $item, $walk, $key )
: $output[] = http_build_query( array( $parent_key ?: $key => $item ) );
};
$array = array(
'order_source' => array('google','facebook'),
'order_medium' => 'google-text'
);
array_walk( $array, $walk );
echo implode( '&', $output ); // order_source=google&order_source=facebook&order_medium=google-text