如何在php中加入两个数组

时间:2015-06-22 14:24:35

标签: php json

我有两个名为$array1$array2

的数组

var_dump给出了

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)

现在我需要制作像这样的json

  {
    "userid":"8",
    "useremail":"venkat@gmail",
    "username":"venkatesh",
    "password":"1111",
    "Name":"venkatesh",
    "modenames":{"group 4","group 4","group 4"}
    }

我使用过array_merge()和$ array1 + $ array2都给出了一个不是上面格式的json ..帮帮我。

4 个答案:

答案 0 :(得分:1)

在这种情况下,你需要,

$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);

答案 1 :(得分:1)

像这样求和它们并用JSON_FORCE_OBJECT标志编码:

$j = json_encode($array1[0]+$array2,JSON_FORCE_OBJECT);

结果:

{"userid":8,"useremail":"venkat@gmail","username":"venkatesh","password":"1111","Name":"venkatesh","modenames":{"0":"group4","1":"group4","2":"group4"}} 

答案 2 :(得分:0)

试试这个

$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"]
}

作为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
        )

)

当然你需要

"modenames":{"group 4","group 4","group 4"}

无法正常工作,因为根据我的示例,您需要一个数组出现,或者如果您将其作为对象,则必须为3个数据项和数据中的每一个都设置一个唯一的属性名称。

答案 3 :(得分:-1)

尝试使用合并功能php。如果这对你有好处

$array3= array_merge($array1, $array2);