class PrepareRequest { /** * string PrepareRequest::join(array $array) * * Converting of arrays to the strings. Resulting string contains keys and values * correctly for HTTP requests such as key1=value1&key2=value2... * */ function join($array, $options=array()) { static $defOptions = array( 'fieldDelim' => '&', 'valueDelim' => '=', ); $options = array_merge($defOptions, $options); array_walk($array, array('PrepareRequest', '_join'), $options['valueDelim']); return implode($options['fieldDelim'], $array); } private function _join( & $value, $key, $delim2) { $value = $key . $delim2 . $value; } /** * array PrepareRequest::split(string $string) * * Parsing of string to associative array */ function split($string, $options=array()) { static $defOptions = array( 'fieldDelim' => '&', 'valueDelim' => '=', ); $options = array_merge($defOptions, $options); $array = explode($options['fieldDelim'], $string); $result = array(); for ($i = 0; $i < count($array); $i++) { list($key, $value) = explode($options['valueDelim'], $array[$i], 2); $result[$key] = $value; } return $result; } } /** * Example: */ $origin = array('a' => 1, 'b' => 2, 'c' => 3); $joined = PrepareRequest::join($origin); $splitted = PrepareRequest::split($joined); print_r(array( 'origin' => $origin, 'joined' => $joined, 'splitted' => $splitted, ));
Sunday, 5 April 2009
Prepare a request from an assoc.array
I am continuing (with sorry about this) to free from unused codes in my box. Meet next code - it allows to convert an assoc.array to an URL request and backward.
Ярлыки:
feel-sorry-for-throw-out,
php
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment