note 51512 deleted from function.implode by hholzgra

From: Date: Thu, 02 Aug 2012 13:15:29 +0000
Subject: note 51512 deleted from function.implode by hholzgra
References: 1  Groups: php.notes 
Request: Send a blank email to php-notes+get-189715@lists.php.net to get a copy of this message
Note Submitter: ---- 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; }

« previous php.notes (#189715) next »