note 51512 added to function.implode

From: Date: Sat, 02 Apr 2005 02:07:46 +0000
Subject: note 51512 added to function.implode
Groups: php.notes 
Request: Send a blank email to php-notes+get-87334@lists.php.net to get a copy of this message
Here is another varriation on the below code. This is useful if you are trying to store data as a string to be returned to an array later. It allows unlimited nested arrays to be both stored and extracted, but does not print out as pretty. function implode_assoc_r2($inner_glue = "=", $outer_glue = "\n", $recusion_level = 0, $array = null) { $output = array(); foreach( $array as $key => $item ) if ( is_array ($item) ) { // This is value is an array, go and do it again! $level = $recusion_level + 1; $output[] = $key . $inner_glue . $recusion_level . $inner_glue . implode_assoc_r ($inner_glue, $outer_glue, $level, $item, $keepOuterKey); } else $output[] = $key . $inner_glue . $recusion_level . $inner_glue . $item; return implode($outer_glue . $recusion_level . $outer_glue, $output); } function explode_assoc_r2($inner_glue = "=", $outer_glue = "\n", $recusion_level = 0, $string = null) { $output=array(); $array=explode($outer_glue.$recusion_level.$outer_glue, $string); foreach ($array as $value) { $row=explode($inner_glue.$recusion_level.$inner_glue,$value); $output[$row[0]]=$row[1]; $level = $recusion_level + 1; if(strpos($output[$row[0]],$inner_glue.$level.$inner_glue)) $output[$row[0]] = explode_with_keys_a($inner_glue,$outer_glue,$level,$output[$row[0]]); } return $output; } ---- Manual Page -- http://www.php.net/manual/en/function.implode.php Edit -- http://master.php.net/manage/user-notes.php?action=edit+51512 Delete: added to the manual -- http://master.php.net/manage/user-notes.php?action=delete+51512&report=yes&reason=added+to+the+manual Delete: bad code -- http://master.php.net/manage/user-notes.php?action=delete+51512&report=yes&reason=bad+code Delete: spam -- http://master.php.net/manage/user-notes.php?action=delete+51512&report=yes&reason=spam Delete: useless -- http://master.php.net/manage/user-notes.php?action=delete+51512&report=yes&reason=useless Delete: other reasons -- http://master.php.net/manage/user-notes.php?action=delete+51512&report=yes Reject -- http://master.php.net/manage/user-notes.php?action=reject+51512&report=yes Search -- http://master.php.net/manage/user-notes.php

« previous php.notes (#87334) next »