将项添加到数组IF条件语句

时间:2016-08-04 23:10:21

标签: php arrays if-statement append array-difference

我有一个受保护的数组。

class Tric_FullCircle_Model_Product_Adapter extends OnePica_FullCircle_Model_Product_Adapter
{
    /**
     * Global company number
     */
    protected $_globalCompanyNumber = null;

    /**
     * Tax Classes
     */
    protected $_taxClasses = null;

    /**
     * Attributes to update
     *
     * @var array
     */    


protected $_attributesToUpdate = array( 
    'name', 
    'description', 
    'price', 
    'tax_class_id', 
    'weight', 
    'country_of_manufacture', 
    'specifications', 
    'tric_cn', 
    'tric_style', 
    'tric_color', 
    'tric_div', 
    'tric_div_desc', 
    );

我想添加' special_price'如果它匹配特定的默认商店1.

我一直在我的受保护变量数组中抛出语法错误。我使用array_diff吗?或者只是像$arr[] = 'special_price';

那样追加它

我试过这样的事情

    if (Mage::app()->getStore()->getStoreId() !== Mage::app()->getWebsites()[1]->getDefaultStore()->getStoreId()) {
           $arr[] = 'special_price';

   }

和这个

if (Mage::app()->getStore()->getStoreId() === Mage::app()->getWebsites()[1]->getDefaultStore()->getStoreId()) {
           $_attributesToUpdate = array_diff(fieldNames, array('special_price'));

任何帮助将不胜感激。谢谢。

1 个答案:

答案 0 :(得分:1)

使用$this->

访问受保护的阵列

更改

arr[] = 'special_price';

$this->arr[] = 'special_price';

OR

更改

_attributesToUpdate = array_diff(fieldNames, array('special_price'));

$this->_attributesToUpdate = array_diff(fieldNames, array('special_price'));