Completed
Push — master ( 21d589...e30a3d )
by Francis
01:26
created

build_url_query()   B

Complexity

Conditions 7
Paths 7

Size

Total Lines 14
Code Lines 9

Duplication

Lines 0
Ratio 0 %

Importance

Changes 2
Bugs 0 Features 0
Metric Value
eloc 9
c 2
b 0
f 0
dl 0
loc 14
rs 8.8333
cc 7
nc 7
nop 2
1
<?php
2
declare(strict_types=1);
3
defined('BASEPATH') OR exit('No direct script access allowed');
4
5
if (!function_exists('build_url_query')) {
6
  /**
7
   * [build_url_query description]
8
   * @param  array   $params    [description]
9
   * @param  boolean $urlEncode [description]
10
   * @return string             [description]
11
   */
12
  function build_url_query(array $params, bool $urlEncode=true):?string {
13
    if ($params == null) return null;
14
    $queryString = '?';
15
    foreach($params as $key => $val) {
16
      if (is_array($val)) {
17
        foreach ($val as $value) {
18
          $queryString .= $key."=".($urlEncode ? rawurlencode($value) : $value)."&";
19
        }
20
        continue;
21
      }
22
23
      $queryString .= $key."=".($urlEncode ? rawurlencode($val) : $val)."&";
24
    }
25
    return substr($queryString, 0, strlen($queryString) - 1);
26
  }
27
}
28