Javascript 如何发布多维数组

Javascript 如何发布多维数组,javascript,php,angularjs,arrays,multidimensional-array,Javascript,Php,Angularjs,Arrays,Multidimensional Array,我在angularjs中有一个数组,示例如下 $scope.order.qty='20'; $scope.order.adress='Bekasi'; $scope.order.city='Bekasi'; 此数组可以使用此代码发布 $http({ method : 'POST', url : '<?php echo base_url(); ?>add_order', data : $scope.order,

我在angularjs中有一个数组,示例如下

$scope.order.qty='20';
$scope.order.adress='Bekasi';
$scope.order.city='Bekasi';
此数组可以使用此代码发布

$http({
          method  : 'POST',
          url     : '<?php echo base_url(); ?>add_order',
         data    : $scope.order,
          headers : {'Content-Type': 'application/x-www-form-urlencoded'} 
         })
但如果数组是多维的,我很困惑:

$scope.items[1].kode_produk='PR_1';
$scope.items[2].kode_produk='PR_2';
$scope.items[3].kode_produk='PR_3';

如何像这样从多维数组中发布和获取变量?

您可以像这样传递数组:

$http({
      method  : 'POST',
      data    : { items: $scope.items }
      ...
     })
获取数据:

$_POST = json_decode(file_get_contents('php://input'), true);
$items = $_POST['items'];
这是一种方式

在JavaScript中,发送数据$scope.items,例如:

$http({
          method  : 'POST',
          url     : '<?php echo base_url(); ?>add_order',
         data    : $scope.items,
          headers : {'Content-Type': 'application/x-www-form-urlencoded'} 
         })

并对数据结构进行了分析

如果发送
$scope.items
,您的json将如下所示:

[
  {
    "kode_produk": "PR_1"
  },
  {
    "kode_produk": "PR_2"
  },
  {
    "kode_produk": "PR_3"
  }
]
$input=json\u decode(…)
之后,该php数组的结果是:

您有一个对象数组,而不是多维数组

您可以迭代以下项目:

foreach($input as $item)
{
    echo $item->kode_produk;
}
[
  {
    "kode_produk": "PR_1"
  },
  {
    "kode_produk": "PR_2"
  },
  {
    "kode_produk": "PR_3"
  }
]
array (size=3)
  0 => 
    object(stdClass)[1]
      public 'kode_produk' => string 'PR_1' (length=4)
  1 => 
    object(stdClass)[2]
      public 'kode_produk' => string 'PR_2' (length=4)
  2 => 
    object(stdClass)[3]
      public 'kode_produk' => string 'PR_3' (length=4)
foreach($input as $item)
{
    echo $item->kode_produk;
}