2016-08-26 5 views
2

Ich habe ein Array in angularjs, Beispiel wie folgt.Wie Array mehrdimensional Winkel js

$scope.order.qty='20'; 
$scope.order.adress='Bekasi'; 
$scope.order.city='Bekasi'; 

Dieses Array mit diesem Code schreiben

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

ich alle Variable mit

$_POST = json_decode(file_get_contents('php://input'), true); 
$_POST['qty']; 
$_POST['address']; 
$_POST['city']; 

Aber ich bin verwirrt, wenn Array mehrdimensional wie diese bekommen:

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

Wie posten und erhalten Vari fähig von Array multidimensional so?

Antwort

0

ist ein Weg,

in JavaScript-Daten $ scope.items senden, zum Beispiel:

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

und auf th e site PHP-Code schreiben:

$_POST = json_decode(file_get_contents('php://input'), true); 
var_dump($_POST); die(); 

und analysieren Sie die Datenstruktur.

1

Sie können Array wie es passieren:

$http({ 
     method : 'POST', 
     data : { items: $scope.items } 
     ... 
    }) 

Abrufen von Daten:

$_POST = json_decode(file_get_contents('php://input'), true); 
$items = $_POST['items']; 
1

Ihre Json wie folgt aussehen, wenn Sie $scope.items senden:

[ 
    { 
    "kode_produk": "PR_1" 
    }, 
    { 
    "kode_produk": "PR_2" 
    }, 
    { 
    "kode_produk": "PR_3" 
    } 
] 

die nach $input = json_decode(...) dieser PHP-Array-Ergebnisse:

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) 

Sie haben eine Reihe von Objekten, nicht ein mehrdimensionales Array !

Sie können über die Elemente iterieren wie:

foreach($input as $item) 
{ 
    echo $item->kode_produk; 
}