0

我试图从“POST 表单”循环返回值数组,然后将这些值放入数据库中。

我遇到的问题是确定循环这些值的最佳方法。我尝试使用 array_key_exists()。但似乎此功能仅适用于 If 子句。

我在 ZendFrameWork 1 工作。

我将我的代码附在下面,非常感谢任何帮助和建议。

 foreach(array_key_exists('id', $ReturnedPostvalues))

     $product = EP3D::getSource('EP3D/Products')->retrieve($productId);
     {  
      $product->quantity = $ReturnedPostvalues['quantity'];
      $product->price = $ReturnedPostvalues['price'];
      $product->rrp = $ReturnedPostvalues['rrp'];

      $product->save();
     }
    }

从帖子返回的 var_dumped 数组值

 array(6) {
    ["quantity"]=>
    string(3) "222"
    ["price"]=>
    string(3) "220"
    ["rrp"]=>
    string(2) "22"
    ["sampleId"]=>
    string(5) "42960"
    ["id"]=>
    string(1) "5"
    ["delete"]=>
    string(1) "0"
  }
  [6]=>
  array(7) {
    ["quantity"]=>
    string(4) "7777"
    ["price"]=>
    string(4) "2022"
    ["rrp"]=>
    string(2) "22"
    ["sampleId"]=>
    string(5) "42960"
    ["id"]=>
    string(1) "6"
    ["delete"]=>
    string(1) "0"
  }

我基本上需要循环这个数组并将数据输入数据库。

4

1 回答 1

1

也许这就是你想要的:

foreach($ReturnedPostvalues as $value) {
    if (array_key_exists('id', $value)) {
        $product = EP3D::getSource('EP3D/Products')->retrieve($value['id']);
        $product->quantity = $value['quantity'];
        $product->price = $value['price'];
        $product->rrp = $value['rrp'];

        $product->save();
    }
}

你需要刷新你对多维数组的理解。您的问题是您似乎混淆了访问顶级数组和访问子数组。

于 2013-08-22T09:23:09.843 回答