2017-03-29 33 views
-1

/var/www/html/development/cross/doli/www/app/service/class.order_management.php(2955を通過無効な引数):警告 - 破()[function.implode]:無効な引数が渡されPHPエラー警告 - 破()[<a href='function.implode'>function.implode</a>]:

私の次のコードは、次のようになります -

$campaign_id = (empty($param_array['CampaignID']))?$split['campaign_sku']:$param_array['CampaignID']; 
     $campaign_array = $this->get_campaign($job_type, $campaign_id, $split['skus'], $split['client_skus']); 
     $job_type_array[] = $job_type; 
     $this->client_obj_guid = $split['client_obj_guid']; 
     $avail_param = array('client' => $this->client_obj_guid, 
      'campaign' => $campaign_array[0], 
      'digiSku' => $split['primary'], 
      'skus' => implode(',', $split['secondary']),**The error is happening here, so I figure I would need to check $split to see if it is a array. Any help on this would be greatly appreciated.** 
      'zip' => $customer_zip, 
      'pos' => $pos_guid, 
      'pos_sku' => $param_array['StoreID'], 
      'inst' => $this->default_inst_obj_guid, 
      'offer_count'=>(isset($param_array['NumberOfOfferings']))?$param_array['NumberOfOfferings']:'24', 
      'job_type'=>$routing_job_type, 
      'job_skus' => implode(',', $split['skus']), 
      'total_capacity_units'=>$sku_array[$job_type]['capacity_units']); 
+1

'$ split ['secondary']'が配列であるかどうかをチェックして、implode関数を呼び出す必要があります。 http://php.net/manual/en/function.implode.php –

答えて

1

機能implodeは、配列を期待しているが、それに渡されたパラメータがないアレイであってもよいです。したがって、$split['secondary']が配列かどうかをチェックする必要があります。あなたは以下のようにこれをチェックすることができます

'skus' => is_array($split['secondary']) ? implode(',', $split['secondary']) : ''

$split['secondary']が配列でない場合は、このコードはskusに空の文字列''を配置します。