Exemplo n.º 1
0
 function testToFlatArray()
 {
     $arr = array(1, 'apple' => 2, 'basket' => array('chips' => 3, 'nachoes' => 4));
     lmbArrayHelper::toFlatArray($arr, $result1);
     $this->assertEqual($result1, array(1, 'apple' => 2, 'basket[chips]' => 3, 'basket[nachoes]' => 4));
     lmbArrayHelper::toFlatArray($arr, $result2, '_');
     $this->assertEqual($result2, array('_[0]' => 1, '_[apple]' => 2, '_[basket][chips]' => 3, '_[basket][nachoes]' => 4));
 }
 protected function _serializeHttpAttributes()
 {
     $uri = $this->http_request->getUri();
     if (!($query = $uri->getQueryItems())) {
         return '';
     }
     $flat = array();
     lmbArrayHelper::toFlatArray($query, $flat);
     ksort($flat);
     return serialize($flat);
 }
 function toString()
 {
     $flat = array();
     $query = '';
     lmbArrayHelper::toFlatArray($this->__request, $flat);
     foreach ($flat as $key => $value) {
         if (is_object($value)) {
             continue;
         }
         $query .= $key . '=' . urlencode($value) . '&';
     }
     //TODO: this is quite ugly but it works...
     $uri = clone $this->__uri;
     $uri->removeQueryItems();
     return rtrim($uri->toString() . '?' . rtrim($query, '&'), '?');
 }
Exemplo n.º 4
0
 static function toFlatArray($array, &$result, $prefix = '')
 {
     foreach ($array as $key => $value) {
         $string_key = $prefix ? '[' . $key . ']' : $key;
         if (is_array($value)) {
             lmbArrayHelper::toFlatArray($value, $result, $prefix . $string_key);
         } else {
             $result[$prefix . $string_key] = $value;
         }
     }
 }
Exemplo n.º 5
0
 /**
  * Returns flat query_string
  *
  */
 function getQueryString()
 {
     $query_string = '';
     $query_items = array();
     $flat_array = array();
     lmbArrayHelper::toFlatArray($this->query_items, $flat_array);
     ksort($flat_array);
     foreach ($flat_array as $key => $value) {
         if ($value != '' || is_null($value)) {
             $query_items[] = $key . '=' . urlencode($value);
         } else {
             $query_items[] = $key;
         }
     }
     if ($query_items) {
         $query_string = implode('&', $query_items);
     }
     return $query_string;
 }