PHP数组到Json对象

我需要将一个 PHP数组转换为json,但是我没有得到我的期望.
我想要它是一个对象,我可以轻松导航与数字索引.
以下是一个示例代码
$json = array();
$ip = "192.168.0.1";
$port = "2016";
array_push($json,["ip" => $ip,"port" => $port]);
$json = json_encode($json,JSON_PRETTY_PRINT);
// ----- json_decode($json)["ip"] should be "192.168.0.1" ----
echo $json;

This is what I get

[  
   [  
      "ip" => "192.168.0.1","port" => "2016"
   ]
]

But I want to get an object instead of array:

{  
   "0": {  
      "ip": "192.168.0.1","port": "2016"
   }
}

谢谢 :)

你想要json_encode($json,JSON_FORCE_OBJECT).

顾名思义,JSON_FORCE_OBJECT标志强制将json输出作为一个对象,即使否则通常也可以表示为一个数组.

您还可以消除对一些稍微清洁的代码使用array_push:

$json[] = ['ip' => $ip,'port' => $port];

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...