我不知道我的代码有什么问题。
我正在尝试更新qty值,但是当我第二次var_dump数据时,qty不会更新/重写。我错过了什么?什么是正确的方法?
$prod = 647bba344396e7c8170902bcf2e15551;
$qty = 2
var_dump($ordered);
array (size=2)
'647bba344396e7c8170902bcf2e15551' =>
array (size=7)
'rowid' => string '647bba344396e7c8170902bcf2e15551' (length=32)
'id' => string '545' (length=3)
'qty' => string '415' (length=3)
'price' => string '15.573770' (length=9)
'teza' => string '0' (length=1)
'name' => string 'Pants 1' (length=14)
'subtotal' => float 6463.11455
'd64a340bcb633f536d56e51874281454' =>
array (size=7)
'rowid' => string 'd64a340bcb633f536d56e51874281454' (length=32)
'id' => string '530' (length=3)
'qty' => string '144' (length=3)
'price' => string '17.213110' (length=9)
'teza' => string '0' (length=1)
'name' => string 'Toys' (length=19)
'subtotal' => float 2478.68784
foreach ($ordered as $item) {
if ($item['rowid'] == $prod)
$item['qty'] == $qty;
}
var_dump($ordered);
array (size=2)
'647bba344396e7c8170902bcf2e15551' =>
array (size=7)
'rowid' => string '647bba344396e7c8170902bcf2e15551' (length=32)
'id' => string '545' (length=3)
'qty' => string '415' (length=3)
'price' => string '15.573770' (length=9)
'teza' => string '0' (length=1)
'name' => string 'Pants white' (length=14)
'subtotal' => float 6463.11455
'd64a340bcb633f536d56e51874281454' =>
array (size=7)
'rowid' => string 'd64a340bcb633f536d56e51874281454' (length=32)
'id' => string '530' (length=3)
'qty' => string '144' (length=3)
'price' => string '17.213110' (length=9)
'teza' => string '0' (length=1)
'name' => string 'Pants black' (length=19)
'subtotal' => float 2478.68784
答案 0 :(得分:1)
试试这个:
foreach ($ordered as &$item) { // Get array byref
if ($item['rowid'] == $prod){
$item['qty'] = $qty; // Fixed evaluation
}
}
var_dump($ordered);
答案 1 :(得分:0)
==
vs =
当您想要分配时,看起来像是评估。
这是做什么的?
$item['qty'] == $qty;
答案 2 :(得分:0)
你的错误
php赋值运算符和比较运算符
=
用于赋值(赋值运算符)
==
用于比较值
foreach ($ordered as $item) {
if ($item['rowid'] == $prod)
$item['qty'] = $qty;
}