diff options
Diffstat (limited to 'vendor/guzzle/guzzle/src/Guzzle/Http/QueryAggregator/PhpAggregator.php')
-rw-r--r-- | vendor/guzzle/guzzle/src/Guzzle/Http/QueryAggregator/PhpAggregator.php | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/vendor/guzzle/guzzle/src/Guzzle/Http/QueryAggregator/PhpAggregator.php b/vendor/guzzle/guzzle/src/Guzzle/Http/QueryAggregator/PhpAggregator.php new file mode 100644 index 0000000..133ea2b --- /dev/null +++ b/vendor/guzzle/guzzle/src/Guzzle/Http/QueryAggregator/PhpAggregator.php @@ -0,0 +1,27 @@ +<?php + +namespace Guzzle\Http\QueryAggregator; + +use Guzzle\Http\QueryString; + +/** + * Aggregates nested query string variables using PHP style [] + */ +class PhpAggregator implements QueryAggregatorInterface +{ + public function aggregate($key, $value, QueryString $query) + { + $ret = array(); + + foreach ($value as $k => $v) { + $k = "{$key}[{$k}]"; + if (is_array($v)) { + $ret = array_merge($ret, self::aggregate($k, $v, $query)); + } else { + $ret[$query->encodeValue($k)] = $query->encodeValue($v); + } + } + + return $ret; + } +} |