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

Convert multiple arrays to arrays inside one array

本文关键字:数组 一个 转换      更新时间:2023-09-26

我需要收集来自 ajax 请求的多个数组,它们是使用 js 像这样收集的:

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

只要节点列表的长度相等,您就可以在 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")
 );

它并不优雅,但你可以做这样的事情:

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