Jquery 像php print\r这样的多维数组结构

Jquery 像php print\r这样的多维数组结构,jquery,ajax,multidimensional-array,Jquery,Ajax,Multidimensional Array,我已经形成了这样的形式: 我只想通过jQuery ajax将这些输入以如下结构发布到php: Array( [0] => Array( date => 2012-12-10 income => 1000 tax => 100 social_insurance => 50 health_insurance => 50 ) [1] Array(

我已经形成了这样的形式:


我只想通过jQuery ajax将这些输入以如下结构发布到php:

Array(
    [0] => Array(
        date => 2012-12-10
        income => 1000
        tax => 100
        social_insurance => 50
        health_insurance => 50
    )
    [1] Array(
        date => 2012-12-15
        income => 2000
        tax => 150
        social_insurance => 20
        health_insurance => 50
    )
)

有什么简单的方法可以做到这一点吗?我听说过serialize()函数,但这不是我想要的

我一直都是自己做的,但我是在PHP端通过数组循环做的:

$newarray = array();
foreach($_POST["date"] AS $i => $date) {
    $newarray[$i]["date"] = $date;
}
等等


因此,您可以继续通过ajax发送数据,并在服务器端执行所有操作,在处理和输出结果之前,您可以对数组进行排序和执行任何需要的操作。

使用jQuery
serialize()发送表单数据。
是发送数据的最简单方法。您需要在php中循环各个字段数组以创建所需的数组结构

$('#incomes').submit(function(){

    $.post(url, $(this).seralize(), function(response){
       /*run any  ajax complete code here*/
    }) ;
   /* prevent browser default form submit*/
   return false;

});
$\发布内容将类似于:

  array(
      date=> array(),
       income=>array()/* etc*/
  }
PHP新的数组循环可能类似于:

$newArray=array();

foreach($_POST as $key=>$value){
    if( !empty( $value) && is_array($value)){
         for( $i=0;$i<count($value);$i++){
              $newArray[$i][$key]=$value[$i];

        }
    }
}
$newArray=array();
foreach($\发布为$key=>$value){
if(!empty($value)&&is_数组($value)){

对于($i=0;$iYeah,这是对的,但我们误解了。我不想让$_帖子看起来像是你发给我的。每个字段(例如日期、收入、税收)都应该与索引(如我在第一篇帖子中发送的结构)连接起来。编辑:对不起,伙计……刚刚恢复了我的感觉……你是对的。这应该可以解决问题(关于foreach循环).看最后一个循环…你必须在某个地方重新构造数据..在php中最容易做到,但可以在javascriptI中做到这一点:(“#选择器).map(function(){return$(this.val();}).get();这将返回charlietfl所说的结构,而不使用serialize()。在php中,我会处理它。该映射不会创建键/值…必须创建一个包含数组和代码的javascript对象,使用我给你的php循环同样容易完成。我使用映射函数完成了它,它确实创建了键和值,我的意思是它看起来像:[date]=>Array([0]=>2012-12-04[1]=>2012-12-06)[income=>阵列([0]=>5000[1]=>2500)