The following is a json recursive parsing class. I hope this example will help you, I don't need to talk about other issues. I will directly go to the code below to provide you with a json recursive parsing class. I hope this example will help you.
Script ec (2); script
| The Code is as follows: |
|
/*
* @ 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;
}
}
?> |