/** * Generate a query string. * * @param array $params * @param int $encoding * @return string */ function build_query_string($params = [], $encoding = PHP_QUERY_RFC3986) { if (empty($params)) { return ''; } $query = ''; foreach ($params as $key => $value) { if (is_array($value)) { $query .= build_batch_query_string($key, $value, $encoding); } elseif (!empty($value)) { $query .= '&' . url_encode($key, $encoding) . '=' . url_encode($value, $encoding); } } return $query ?: ''; }
/** @test */ public function buildBatch() { $ids = [10, 11, 12, 13, 14, 15]; $queryString = build_batch_query_string('id', $ids); $this->assertEquals('&id=10&id=11&id=12&id=13&id=14&id=15', $queryString); }