note 46788 added to function.serialize
| From: | areddan at silverarm dot ie | Date: | Sat, 23 Oct 2004 08:56:32 +0000 |
| Subject: | note 46788 added to function.serialize | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-78988@lists.php.net to get a copy of this message | ||
<?php
/*
This is an array_walk style serialize that works with multi dimensional arrays, it also base64
encodes and decodes to allow ';' to exist in the array.
-- Alan Reddan
*/
$data[qwerty] = "blah";
$data[1][a] = "1aa";
$data[2][b] = "2bb";
$data[3][c] = ";;;;;;";
//To Serialise Call :
array_walk($data,'base64_encoder_multi');
$serialized_string = serialize($data);
//print $serialized_string . '\n'; //uncomment to see serialized array
//To Unserialize Call
$array = unserialize($serialized_string);
array_walk($array,'base64_cleaner_multi');
print_r($array);
//start functions
function base64_encoder_multi(&$val,$key) {
if (is_array($val)) array_walk($val,'base64_encoder_multi',$new);
else {
$val = base64_encode($val);
}
}
function base64_cleaner_multi(&$val,$key) {
if (is_array($val)) array_walk($val,'base64_cleaner_multi',$new);
else {
$val = base64_decode($val);
}
}
//ends
?>
----
Manual Page -- http://www.php.net/manual/en/function.serialize.php
Edit -- http://master.php.net/manage/user-notes.php?action=edit+46788
Delete -- http://master.php.net/manage/user-notes.php?action=delete+46788&report=yes
Reason: bad code -- http://master.php.net/manage/user-notes.php?action=delete+46788&report=yes&reason=bad+code
Reason: spam -- http://master.php.net/manage/user-notes.php?action=delete+46788&report=yes&reason=spam
Reason: useless example -- http://master.php.net/manage/user-notes.php?action=delete+46788&report=yes&reason=useless+example
Reason: contains commercial links -- http://master.php.net/manage/user-notes.php?action=delete+46788&report=yes&reason=contains+commercial+links
Reason: useless note -- http://master.php.net/manage/user-notes.php?action=delete+46788&report=yes&reason=useless+note
Reject -- http://master.php.net/manage/user-notes.php?action=reject+46788&report=yes
Search -- http://master.php.net/manage/user-notes.php