我想在json文件中添加一个列表,如果该列表不存在。
但是当我尝试使用array()
时,我得到了0=>; 1=>; 2=>
而不是对象列表
$list = array(
"Version" => "1.0"
);
$users = array(
"Users" => array(
"Username"=> "test",
"Level"=> "10"
)
);
if(!isset($list['Users'])) {
array_push($list, $users);
echo json_encode($list);
}
exit;
结果
{"Version":"1.0","0":{"Users":{"Username":"test","Level":"10"}}}
但我的结果应该是
{“version”:“1.0”,“users”:[{“username”:“test”,“level”:“10”}]}
我是PHP的新手。 关于。
如果新键users
不存在,则可以添加该键,然后向其添加元素,如下所示:
$list = array(
"Version" => "1.0"
);
$users = array(
"Users" => array(
"Username"=> "test",
"Level"=> "10"
)
);
if(!isset($list['Users'])) $list['users']=[];
foreach( $users as $a ){
$list['users'][]=$a;
}
echo json_encode( $list );
输出:
{"Version":"1.0","users":[{"Username":"test","Level":"10"}]}
试试这个,
您不需要array_push()。 只需在$list
中添加数组$users['users']
即可。 注意:我已将array()
表示法更改为[]
表示法。
$list =[
"Version" => "1.0"
];
$users = [
'Users' => [
'Username' => 'test',
'Level' => '10'
]
];
if(!isset($list['Users'])) {
$list['Users'][] = $users['Users'];
echo json_encode($list);
}
exit;
输出:
{"Version":"1.0","Users":[{"Username":"test","Level":"10"}]}