protected function _changeArray(&$Products)
{
foreach($Products as $item)
{
Mage::log('Type: '.$item['attribute']);
switch($item['shipping_attribute'])
{
case '0':
$item['is_cargo'] = 'no';
$item['is_bulky'] = 'no';
$item['is_firework'] = 'no';
Mage::log('assigned '.$item['attribute']);
break;
case '1':
$item['is_cargo'] = 'yes';
$item['is_bulky'] = 'no';
$item['is_firework'] = 'no';
Mage::log('assigned '.$item['attribute']);
break;
case '2':
$item['is_cargo'] = 'no';
$item['is_bulky'] = 'yes';
$item['is_firework'] = 'no';
Mage::log('assigned '.$item['attribute']);
break;
case '3':
$item['is_cargo'] = 'no';
$item['is_bulky'] = 'no';
$item['is_firework'] = 'yes';
Mage::log('assigned '.$item['attribute']);
break;
}
Mage::log('"switch" finished!');
}
}
我想改變這些Products
數組的元素,這取決於數組中另一個元素的值。似乎沒有發生的事情是他們不會改變......一切都始終保持在'no'
的價值。我知道'attribute'
值的正確方式不同,並且該函數正確地通過了switch-cases
,因爲我正在編寫log
中的測試。不能修改函數內的數組
我在調用我的函數後打印Products
數組,並且沒有更改。我認爲它可以通過引用來傳遞,但是不會......我也嘗試以正常的方式傳遞數組並將其從函數返回 - 再次失敗。
我做錯了什麼或者做得不夠?
哦,是的,我也試過具有switch-case
以下列方式:再次
case '...':
$Products['is_cargo'] = 'yes';
$Products['is_bulky'] = 'no';
$Products['is_firework'] = 'no';
Mage::log('assigned '.$Products['attribute']);
break;
都能跟得上......
'的foreach($產品爲&$項目)' –