note 51512 added to function.implode
| From: | php-general at lists dot php dot net | 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