note 60518 added to ref.array

From: Date: Tue, 10 Jan 2006 01:26:25 +0000
Subject: note 60518 added to ref.array
Groups: php.notes 
Request: Send a blank email to php-notes+get-101473@lists.php.net to get a copy of this message
Here is a function that recursively flattens an multidimensional array while maintaining keys. Hopefully it is useful to someone.. Example Input: Array ( [name] => John Doe [email] => johndoe@earthlink.net [addresses] => Array ( [1] => Array ( [address] => 555 Somewhere [city] => Podunk [state] => CA [zip] => 90120 ) [2] => Array ( [address] => 333 Someother Place [city] => Podunk [state] => CA [zip] => 91103 ) ) ) Example output: Array ( [name] => John Doe [email] => johndoe@earthlink.net [address1] => 555 Somewhere [city1] => Podunk [state1] => CA [zip1] => 90120 [address2] => 333 Someother Place [city2] => Podunk [state2] => CA [zip2] => 91103 ) <? function flattenArray($array,$keyname='') { $tmp = array(); foreach($array as $key => $value) { if(is_array($value)) $tmp = array_merge($tmp,flattenArray($value,$key)); else $tmp[$key.$keyname] = $value; } return $tmp; } ?> ---- Manual Page -- http://www.php.net/manual/en/ref.array.php Edit -- http://master.php.net/manage/user-notes.php?action=edit+60518 Delete: added to the manual -- http://master.php.net/manage/user-notes.php?action=delete+60518&report=yes&reason=added+to+the+manual Delete: bad code -- http://master.php.net/manage/user-notes.php?action=delete+60518&report=yes&reason=bad+code Delete: spam -- http://master.php.net/manage/user-notes.php?action=delete+60518&report=yes&reason=spam Delete: useless -- http://master.php.net/manage/user-notes.php?action=delete+60518&report=yes&reason=useless Delete: non-english -- http://master.php.net/manage/user-notes.php?action=delete+60518&report=yes&reason=non-english Delete: already in docs -- http://master.php.net/manage/user-notes.php?action=delete+60518&report=yes&reason=already+in+docs Delete: other reasons -- http://master.php.net/manage/user-notes.php?action=delete+60518&report=yes Reject -- http://master.php.net/manage/user-notes.php?action=reject+60518&report=yes Search -- http://master.php.net/manage/user-notes.php

« previous php.notes (#101473) next »