note 51512 deleted from function.implode by hholzgra
| From: | hholzgra@php.net | 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;
}