簡體   English   中英

創建多維數組PHP

[英]Creating multidimensional array PHP

我正在嘗試創建一個多維數組,該數組應具有$ _POST數組中的ID和數量。 目前,似乎將每個數量放入每個具有每個ID的元素中,但是我希望它從每個數組中提取第一個元素,然后將它們添加到一個新數組中,依此類推。

鑒於應該

ID 1 - Quantity 100
ID 2 - Quantity 50

等等

但是現在我明白了

array(16) {
  [0]=>
  array(2) {
    ["id"]=>
    string(1) "1"
    ["quantity"]=>
    string(2) "50"
  }
  [1]=>
  array(2) {
    ["id"]=>
    string(1) "1"
    ["quantity"]=>
    string(3) "100"
  }
  [2]=>
  array(2) {
    ["id"]=>
    string(1) "1"
    ["quantity"]=>
    string(3) "100"
  }
  [3]=>
  array(2) {
    ["id"]=>
    string(1) "1"
    ["quantity"]=>
    string(3) "100"
  }
  [4]=>
  array(2) {
    ["id"]=>
    string(2) "12"
    ["quantity"]=>
    string(2) "50"
  }
  [5]=>
  array(2) {
    ["id"]=>
    string(2) "12"
    ["quantity"]=>
    string(3) "100"
  }
  [6]=>
  array(2) {
    ["id"]=>
    string(2) "12"
    ["quantity"]=>
    string(3) "100"
  }
  [7]=>
  array(2) {
    ["id"]=>
    string(2) "12"
    ["quantity"]=>
    string(3) "100"
  }
  [8]=>
  array(2) {
    ["id"]=>
    string(1) "2"
    ["quantity"]=>
    string(2) "50"
  }
  [9]=>
  array(2) {
    ["id"]=>
    string(1) "2"
    ["quantity"]=>
    string(3) "100"
  }
  [10]=>
  array(2) {
    ["id"]=>
    string(1) "2"
    ["quantity"]=>
    string(3) "100"
  }
  [11]=>
  array(2) {
    ["id"]=>
    string(1) "2"
    ["quantity"]=>
    string(3) "100"
  }
  [12]=>
  array(2) {
    ["id"]=>
    string(1) "6"
    ["quantity"]=>
    string(2) "50"
  }
  [13]=>
  array(2) {
    ["id"]=>
    string(1) "6"
    ["quantity"]=>
    string(3) "100"
  }
  [14]=>
  array(2) {
    ["id"]=>
    string(1) "6"
    ["quantity"]=>
    string(3) "100"
  }
  [15]=>
  array(2) {
    ["id"]=>
    string(1) "6"
    ["quantity"]=>
    string(3) "100"
  }
}

這是我的PHP代碼。

foreach($_POST['sweetids'] as $id) {

foreach($_POST['quantites'] as $quantity) {

    $stock_array[] = array(
        "id"=> $id,
        "quantity" => $quantity
        );
}

}

我認為這是您要實現的目標:

foreach($_POST['sweetids'] as $key=>$id) {

    $stock_array[] = array(
        "id"=> $id,
        "quantity" => $_POST['quantities'][$key]
        );
}

您正在為每個$_POST['sweetids']迭代$_POST['quantities'] ,這可能不是您想要的。 當您同時迭代兩者時,結果將是sweetidsquantities每一個組合,而不是每

我猜你的意思更像是:

// Assuming you already verified that $_POST['quantities'] and $_POST['sweetids'] exist
//   and that both of them have the same number of elements
for ( $i = 0, $len = count($_POST['sweetids']); $i < $len; $i++ ) {
    $stock_array[] = array(
        'id' => $_POST['sweetids'][$i],
        'quantity' => $_POST['quantities'][$i]
    );
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM