<?php
function jsonEncode( $var ) {
if (function_exists( ‘json_encode‘ )) {
return json_encode( $var );
} else {
switch ( gettype ( $var )) {
case ‘boolean‘ :
return $var ? ‘true‘ : ‘false‘ ; // Lowercase necessary!
case ‘integer‘ :
case ‘double‘ :
return $var ;
case ‘resource‘ :
case ‘string‘ :
return ‘"‘ . str_replace ( array ("\r ", " \n ", " < ", " > ", " &"),
array ( ‘\r‘ , ‘\n‘ , ‘\x3c‘ , ‘\x3e‘ , ‘\x26‘ ),
addslashes ( $var )) . ‘"‘ ;
case ‘array‘ :
// Arrays in JSON can‘t be associative. If the array is empty or if it
// has sequential whole number keys starting with 0, it‘s not associative
// so we can go ahead and convert it as an array.
if ( empty ( $var ) || array_keys ( $var ) === range(0, sizeof( $var ) - 1)) {
$output = array ();
foreach ( $var as $v ) {
$output [] = jsonEncode( $v );
}
return ‘[ ‘ . implode( ‘, ‘ , $output ) . ‘ ]‘ ;
}
// Otherwise, fall through to convert the array as an object.
case ‘object‘ :
$output = array ();
foreach ( $var as $k => $v ) {
$output [] = jsonEncode( strval ( $k )) . ‘: ‘ . jsonEncode( $v );
}
return ‘{ ‘ . implode( ‘, ‘ , $output ) . ‘ }‘ ;
default :
return ‘null‘ ;
}
}
}
$arr = array ( ‘name‘ => ‘CSDN论坛‘ , ‘degree‘ => ‘numberone‘ );
echo jsonEncode( $arr );
?>
|