2017-03-29 24 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']) : ''

该代码就会把空字符串''skus如果$split['secondary']不是一个数组。

相关问题