json_encode json_force_object问题

<?php
var_dump(json_encode(array("Apple", "Banana", "Pear"))); 
//string(25) "["Apple","Banana","Pear"]"

var_dump(json_encode((object)array("Apple", "Banana", "Pear")));
//string(37) "{"0":"Apple","1":"Banana","2":"Pear"}"

var_dump(json_encode(array("Apple", "Banana", "Pear"),JSON_FORCE_OBJECT));
//string(37) "{"0":"Apple","1":"Banana","2":"Pear"}"

var_dump(json_encode(array(0=>"APPLE",1=>"BABABA")),JSON_FORCE_OBJECT);

//string(18) "["APPLE","BABABA"]"



最后两行:

var_dump(json_encode((object)array(0=>"APPLE",1=>"BABABA",2=>'PEAR')));
// string(37) "{"0":"APPLE","1":"BABABA","2":"PEAR"}"
var_dump(json_encode(array(0=>"APPLE",1=>"BABABA",2=>'PEAR')),JSON_FORCE_OBJECT);
string(25) "["APPLE","BABABA","PEAR"]"
int(16)

int (16) 是个啥??加了json_force_object也不好使呢,如果下标不以0开头,或者key不连续,就是object,否则就是数组,哪位前辈给大概解释下为啥,为啥。

阅读 5.3k
1 个回答

请仔细对比以下两行

var_dump(json_encode(array(0=>"APPLE",1=>"BABABA",2=>'PEAR')),JSON_FORCE_OBJECT);
var_dump(json_encode(array(0=>"APPLE",1=>"BABABA",2=>'PEAR'),JSON_FORCE_OBJECT));
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题