note 102091 added to function.json-encode
| From: | bohwaz at osu1 dot php dot net | Date: | Wed, 26 Jan 2011 22:00:06 +0000 |
| Subject: | note 102091 added to function.json-encode | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-176359@lists.php.net to get a copy of this message | ||
This is intended to be a simple readable json encode function for PHP 5.3+ (and licensed under
GNU/AGPLv3 or GPLv3 like you prefer):
<?php
function json_readable_encode($in, $indent = 0, $from_array = false)
{
$_myself = __FUNCTION__;
$_escape = function ($str)
{
return preg_replace("!([\b\t\n\r\f\"\\'])!", "\\\\\\1", $str);
};
$out = '';
foreach ($in as $key=>$value)
{
$out .= str_repeat("\t", $indent + 1);
$out .= "\"".$_escape((string)$key)."\": ";
if (is_object($value) || is_array($value))
{
$out .= "\n";
$out .= $_myself($value, $indent + 1);
}
elseif (is_bool($value))
{
$out .= $value ? 'true' : 'false';
}
elseif (is_null($value))
{
$out .= 'null';
}
elseif (is_string($value))
{
$out .= "\"" . $_escape($value) ."\"";
}
else
{
$out .= $value;
}
$out .= ",\n";
}
if (!empty($out))
{
$out = substr($out, 0, -2);
}
$out = str_repeat("\t", $indent) . "{\n" . $out;
$out .= "\n" . str_repeat("\t", $indent) . "}";
return $out;
}
?>
----
Server IP: 195.221.21.36
Probable Submitter: 88.166.136.24
----
Manual Page -- http://www.php.net/manual/en/function.json-encode.php
Edit -- https://master.php.net/note/edit/102091
Del: integrated -- https://master.php.net/note/delete/102091/integrated
Del: useless -- https://master.php.net/note/delete/102091/useless
Del: bad code -- https://master.php.net/note/delete/102091/bad+code
Del: spam -- https://master.php.net/note/delete/102091/spam
Del: non-english -- https://master.php.net/note/delete/102091/non-english
Del: in docs -- https://master.php.net/note/delete/102091/in+docs
Del: other reasons-- https://master.php.net/note/delete/102091
Reject -- https://master.php.net/note/reject/102091
Search -- https://master.php.net/manage/user-notes.php