我很擅长格式化,也许我的基础不好。我有一个像这样的json
'first_name'=>'steve', 'msg'=>'something here','profile_id'=>1
我想写一个新项目,我写了
$i = array('first_name'=>'steve', 'msg'=>'something here','profile_id'=>1);
$loginId = array($_GET['login_id']);
array_push($i,$loginId);
echo json_encode($i);
我得到的结果很奇怪:
答案 0 :(得分:0)
$i = array('first_name'=>'steve', 'msg'=>'something here','profile_id'=>1);
$loginId = $_GET['login_id'];
$i['login_id']=$loginId;
echo json_encode($i);
array_push不起作用的原因是因为你将$ i视为对象(数组)的数组(集合),而它只是一个键值列表(map)。
如果数组类似于K1 => V1,K2 => V2,请使用$ arr [K3] = V3添加另一对。
如果数组类似于[(k1,v1),(k2,v2)],那么array_push($ arr,(k3,v3));
答案 1 :(得分:0)
你基本上取值$_GET['login_id']
,将它放在一个数组中并尝试将其推入一个关联数组中,这样你就得到一个新的数字索引0
,它包含一个嵌套数组,转而拥有你的价值。
如果您希望将整个事物统一视为关联数组(或转换为JSON后的对象),那么您应该执行以下操作:
$i = array('first_name'=>'steve', 'msg'=>'something here','profile_id'=>1);
$i['login_id'] = $_GET['login_id'];
echo json_encode($i);