【问题标题】:Convert multiple arrays to arrays inside one array将多个数组转换为一个数组内的数组
【发布时间】:2015-01-19 18:22:08
【问题描述】:

我需要收集来自 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")
  );

【问题讨论】:

  • 为什么不首先在 JS 中做呢?
  • 是的可能会更好,但我不知道如何

标签: javascript php arrays


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-04-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-27
      • 1970-01-01
      • 2016-11-28
      • 2011-10-10
      相关资源
      最近更新 更多