我试图从'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"
}
我基本上需要遍历这个数组并将数据输入数据库。
答案 0 :(得分: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();
}
}
您需要更新对多维数组的理解。您的问题是您似乎混淆了访问顶级数组和访问子数组。