$value) { if ($skip_empty === true && empty($value)) { continue; } array_push($stack, $key); if (is_array($value)) { if (count($value)) { $str .= ($str != '' ? '&' : '') . w3_url_query($value, $skip_empty, $key); } } else { $name = ''; foreach ($stack as $key) { $name .= ($name != '' ? '[' . $key . ']' : $key); } $str .= ($str != '' ? $separator : '') . $name . '=' . rawurlencode($value); } array_pop($stack); } return $str; }