I have two arrays called $array1
and $array2
and var_dump
gives
array (size=1)
0 =>
array (size=5)
'userid' => string '8' (length=1)
'useremail' => string 'venkat@gmail' (length=12)
'username' => string 'venkatesh' (length=9)
'password' => string '1111' (length=4)
'Name' => string 'venkatesh' (length=9)
array (size=1)
'modenames' =>
array (size=3)
0 => string 'group 4' (length=7)
1 => string 'group 4' (length=7)
2 => string 'group 4' (length=7)
now i need to make a json something like this
{
"userid":"8",
"useremail":"venkat@gmail",
"username":"venkatesh",
"password":"1111",
"Name":"venkatesh",
"modenames":{"group 4","group 4","group 4"}
}
i have used array_merge() and $array1+$array2 both gives a json not in above format.. help me out.
In this case you need to,
$t = [
0 => [
'userid' => '8',
'useremail' => 'venkat@gmail',
'username' => 'venkatesh',
'password' => '1111',
'Name' => 'venkatesh'
]
];
$s = [
'modenames' => [
0 => 'group 4',
1 => 'group 4',
2 => 'group 4',
]
];
$t = $t[0] + $s;
// or
array_merge($t[0], $s);
Try this
$array3 = $array1[0];
$array3['modenames'] = $array2['modenames'];
json_encode($array3);
JSON String =
{"userid":8,
"useremail":"venkat@gmail",
"username":"venkatesh",
"password":"1111",
"Name":"venkatesh",
"modenames":["group 4","group 4","group 4"]
}
As an print_r()
stdClass Object
(
[userid] => 8
[useremail] => venkat@gmail
[username] => venkatesh
[password] => 1111
[Name] => venkatesh
[modenames] => Array
(
[0] => group 4
[1] => group 4
[2] => group 4
)
)
Of course your requirement for
"modenames":{"group 4","group 4","group 4"}
cannot work as you will either need an array occurance as per my example or if you made it an object there would have to be a unique property name one for each of the 3 data items as well as the data.
Sum them like this and encode with JSON_FORCE_OBJECT
flag:
$j = json_encode($array1[0]+$array2,JSON_FORCE_OBJECT);
Result:
{"userid":8,"useremail":"venkat@gmail","username":"venkatesh","password":"1111","Name":"venkatesh","modenames":{"0":"group4","1":"group4","2":"group4"}}
try with the merge function php. if that is good for you
$array3= array_merge($array1, $array2);