PHP结合了2个数组
我有两个php数组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]]; 有人能帮我吗?试试下面的
$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]]