簡體   English   中英

最佳方法將PHP5.4數組取消引用轉換為與PHP5.3兼容

[英]Best Way convert PHP5.4 Array Dereferences To Be PHP5.3 Compatible

問題

需要將適用於PHP 5.4的數組引用轉換為適用於PHP 5.3的版本。 我無法更新我的實時站點PHP,所以有點卡住了。 我要完成的工作是在提交表單時為Drupal 7創建優惠券代碼。

我看過的地方:

用於取消引用函數結果的PHP語法很好的討論。 幾乎看起來根本不可能。 有幾個很好的解決方案示例,我無法轉換為我的問題。

5.4取消引用有效的5.3數組調用與我的問題非常相似,但是我無法找到使用它的方法。

在PHP 5.4中有效的原始文件:

$coupon->store_discount_reference = ['und'=>[['target_id'=>"57"]]];
$coupon->store_coupon_exclusive = ['und'=>[['value'=>"0"]]];
$coupon->store_coupon_conditions = ['und' => [
    [
        'condition_name'=>'store_coupon_usage_evaluate_usage',
        'condition_settings'=> ['max_usage'=>'1'],
        'conditions_negative'=>0,
        'remove_condition'=>'Remove'
    ],
]];

我嘗試過的

$coupon->store_discount_reference = array('und'=> array('target_id'=>"57"));
$coupon->store_coupon_exclusive = array('und'=> array('value'=>"0"));
$coupon->store_coupon_conditions = array('und' => array('condition_name'=>'store_coupon_usage_evaluate_usage','condition_settings'=> array('max_usage'=>'1'),'conditions_negative'=>0,'remove_condition'=>'Remove'));

全塊

$coupon = new stdClass();
$coupon->type = "discount_coupon";
$coupon->coupon_id = '';
$coupon->code = $code;
$coupon->bulk = false;
$coupon->created = '';
$coupon->status = 1;
$coupon->uid = 0;
$coupon->is_new = true;
$coupon->commerce_discount_reference = ['und'=>[['target_id'=>"57"]]];
$coupon->commerce_coupon_exclusive = ['und'=>[['value'=>"0"]]];
$coupon->commerce_coupon_conditions = ['und' => [
    [
        'condition_name'=>'commerce_coupon_usage_evaluate_usage',
        'condition_settings'=> ['max_usage'=>'1'],
        'conditions_negative'=>0,
        'remove_condition'=>'Remove'
    ],
]];
commerce_coupon_save($coupon);

您似乎到處都缺少數組級別

$coupon->store_discount_reference = array('und'=> array(array('target_id'=>"57")));

$coupon->store_coupon_exclusive = array('und'=> array( array('value'=>"0")));

$coupon->store_coupon_conditions = 
   array('und' => 
           array( 
                  array('condition_name'=>'store_coupon_usage_evaluate_usage',
                        'condition_settings'=> array('max_usage'=>'1'),
                        'conditions_negative'=>0,
                        'remove_condition'=>'Remove'
                   )
                )
  );

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM