I want to add a list to a json file if the list does not exist.
but when I try to use array()
I’m getting 0 => 1=> 2=>
instead of a list of objects
$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;
result
{"Version":"1.0","0":{"Users":{"Username":"test","Level":"10"}}}
but my result should be
{"Version":"1.0","Users":[{"Username":"test","Level":"10"}]}
I’m new at php. regarding.
Advertisement
Answer
You can add the new key users
if it doesn’t exist and then add elements to it, like this:
$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 );
The output:
{"Version":"1.0","users":[{"Username":"test","Level":"10"}]}