PHP结合了2个数组

PHP结合了2个数组,php,arrays,json,Php,Arrays,Json,我有两个php数组 $array1[] = a,b,c,d,e; $array2[] = 1,2,3,4,5; $data = array('letter'=>$array1,'num'=>$array2); return json_encode($data); 这将返回: [[a,b,c,d,e],[1,2,3,4,5]] 我想用json_编码返回它,如下所示: $data = [[1a,1],[b,2],[c,3],[d,4],[e,5]]; 有人能帮我吗?试试下面的

我有两个php数组

$array1[] = a,b,c,d,e;
$array2[] = 1,2,3,4,5;

$data = array('letter'=>$array1,'num'=>$array2);

return json_encode($data);
这将返回:

[[a,b,c,d,e],[1,2,3,4,5]]
我想用json_编码返回它,如下所示:

 $data = [[1a,1],[b,2],[c,3],[d,4],[e,5]];

有人能帮我吗?

试试下面的代码,它很灵活,不必关心数组的长度

<?php
$letters = array('a','b','c','d','e');
$numbers = array('1','2','3','4','5');

$counter = (sizeof($letters) > sizeof($numbers)) ? sizeof($letters) : sizeof($numbers);

$arr = array();
for($i=0; $i<$counter; $i++)
{
    if(array_key_exists($i, $letters))
        $arr[$i][] = $letters[$i];

    if(array_key_exists($i, $numbers))
        $arr[$i][] = $numbers[$i];
}

$json = json_encode($arr);
echo $json;

演示:

这是最简单的解决方案

$result = array();
foreach ($array1 as $k1 => $v1) {
    $result[] = array($v1, $array2[$k1]);
}
echo json_encode($result)

但是数组必须具有相同的长度和相同的键

您需要的是函数

以下是一个例子:

$array1 = array("a","b","c","d","e");
$array2 = array(1,2,3,4,5);

$data = array_combine($array1, $array2);

$new_data = array();
foreach($data AS $key => $value) {
    $new_data[] = array($key, $value);
}

print_r(json_encode($new_data));
它应该返回如下内容:

[["a",1],["b",2],["c",3],["d",4],["e",5]]

更新更改了代码以给出所需的结果…

如何在@kmlnvm?蛮力,但它回答了问题。
[["a",1],["b",2],["c",3],["d",4],["e",5]]