This article mainly introduces the implementation method of php recursive json class, which can parse index arrays and numeric arrays, and then implement the function of returning json strings from recursive arrays, for more information about how to implement php recursive json classes, see the example in this article. Share it with you for your reference.
The specific implementation code is as follows:
The code is as follows:
<? Php
/*
* @ Anthor: QD
* @ Time: 2013-09-27
*/
Class json {
Private $ Arr = array (); // input an array
// Constructor
Public function json ($ array)
{
If (! Is_array ($ array) return false;
$ This-> Arr = $ array;
}
// Parse the main function
Public function MainArr ()
{
$ Arr = $ this-> Arr;
If ($ this-> TypeArr ($ arr ))
{
$ Json = $ this-> NumArr ($ arr );
}
Else
{
$ Json = $ this-> IndexArr ($ arr );
}
Return $ json;
}
// Parse the index array
Public function IndexArr ($ arr)
{
$ Str = "";
Foreach ($ arr as $ k => $ value)
{
If (is_array ($ value ))
{
If ($ this-> TypeArr ($ value) {$ sun = $ this-> NumArr ($ value );}
Else {$ sun = $ this-> IndexArr ($ value );}
If (strpos ($ sun, "}") | strpos ($ sun, "]")
{
$ Str. = "". $ k. ":". $ sun .",";
}
Else
{
$ Str. = "". $ k. "": "". $ sun ."",";
}
}
Else
{
$ Str. = "". $ k. "": "". $ value ."",";
}
}
$ Str = "{". trim ($ str ,",")."}";
Return $ str;
}
// Parse the number array
Public function NumArr ($ arr)
{
$ Str = "";
Foreach ($ arr as $ value)
{
If (is_array ($ value ))
{
If ($ this-> TypeArr ($ value) {$ sun = $ this-> NumArr ($ value );}
Else {$ sun = $ this-> IndexArr ($ value );}
If (strpos ($ sun, "}") | strpos ($ sun, "]")
{
$ Str. = $ sun .",";
}
Else
{
$ Str. = "". $ sun ."",";
}
}
Else
{
$ Str. = "". $ value ."",";
}
}
$ Str = "[". trim ($ str, ","). "]";
Return $ str;
}
// Check whether an array is strictly indexed.
Public function TypeArr ($ arr)
{
If (array_values ($ arr) ===$ arr) return true;
Return false;
}
}
?>
I hope this article will help you with PHP programming.