note 74061 added to function.parse-str

From: Date: Thu, 22 Mar 2007 11:07:32 +0000
Subject: note 74061 added to function.parse-str
Groups: php.notes 
Request: Send a blank email to php-notes+get-124706@lists.php.net to get a copy of this message
<?php // Here a new function which doing the same as parse_str for multilevel array // very funny // cabrales@web.de function parseStr($data, &$ret = array()){ if (!is_array($data)){ return false; }; foreach($data as $v){ if (eregi("(\[|\])", $v)) { preg_match("#([^\[]+)(\[[^]]+\].*)#", $v, $treffer); /* treffer[1] has the key 'children' */ $key = $treffer[1]; /* treffer[2] has the rest '[boby][age]=12' */ preg_match("#\[([^\[]+)\](.*)#", $treffer[2], $treffer); $rest = $treffer[1].$treffer[2]; parseStr(array($key => $rest), $ret[$key]); } else { $v = explode('=', $v); $ret[$v[0]] = $v[1]; }; }; }; /* Es wird in einem Array umgewandelt */ $queryUrl = trim(urldecode($_SERVER['QUERY_STRING'])); $queryUrl = preg_replace_callback( "#\&\#(\d+)\;#i", create_function('$treffer','return chr($treffer[1]);'), $queryUrl ); $queryUrl = explode('&', $queryUrl); parseStr($queryUrl, $result); print_r($result); //Saludos from Germany ?> ---- Server IP: 217.160.72.57 Probable Submitter: 212.144.221.154 ---- Manual Page -- http://www.php.net/manual/en/function.parse-str.php Edit -- https://master.php.net/note/edit/74061 Del: integrated -- https://master.php.net/note/delete/74061/integrated Del: useless -- https://master.php.net/note/delete/74061/useless Del: bad code -- https://master.php.net/note/delete/74061/bad+code Del: spam -- https://master.php.net/note/delete/74061/spam Del: non-english -- https://master.php.net/note/delete/74061/non-english Del: in docs -- https://master.php.net/note/delete/74061/in+docs Del: other reasons-- https://master.php.net/note/delete/74061 Reject -- https://master.php.net/note/reject/74061 Search -- https://master.php.net/manage/user-notes.php

« previous php.notes (#124706) next »