将多个数组转换为一个数组内的数组

时间:2015-01-19 18:22:08

标签: javascript php arrays

我需要使用js收集来自ajax请求的多个数组,如下所示:

var date=[];
$("#avc [name='date']").each(function(i){
date.push($(this).val());
});

var pi=[];
$("#avc [name='pi']").each(function(i){
pi.push($(this).val());
});

var name=[];
$("#avc [name='name']").each(function(i){
name.push($(this).val());
});

所以这里我在客户端收集了数组日期,pi和名称,当这些数组传递到服务器端时我得到了这个:

   $date=array("27/01/2014", "12/01/2015", "12/04/2018");
   $pi=array(22, 55, 03);
   $name=array("lambda", "alpha", "beta");

我需要将其转换为:

$x= array
  (
  array("27/01/2014", 22, "lambda"),
  array("12/01/2015", 55, "alpha")
  array("12/04/2018", 03, "beta")
  );

2 个答案:

答案 0 :(得分:0)

它并不优雅,但你可以做类似的事情:

$x=array();
foreach($date as $k => $v){
  $x[$k]=array($v,$pi[$k],$name[$k])
}

答案 1 :(得分:0)

只要节点列表的长度相等,您就可以在JavaScript中执行此操作

var data=[];
$("#avc [name='date']").each(function(i){
    data.push([$(this).val(), $("#avc [name='pi']")[i].value, $("#avc [name='name']")[i].value]);
});

当从JSON转换为PHP数组时,上面的数组将在下面创建数组。

$x= array
 (
    array("27/01/2014", 22, "lambda"),
    array("12/01/2015", 55, "alpha")
    array("12/04/2018", 03, "beta")
 );