2016-12-09 2 views
0

У меня есть этот код здесь:возврата возвращает слово массива

function getproductList() 
{ 
    global $woocommerce; 
    $items = $woocommerce->cart->get_cart(); 
    $product_names=array(); 
    foreach($items as $item => $values) { 
     $_product = $values['data']->post; 
     $product_names[]=$_product->post_title; 
    }  
/* 
    // if you want string then use 
    $allproductname=implode("",$product_names); 
    return $allproductname; 

*/ 
    return $product_names; 
} 

Ее функция, которая возвращает массив. Всякий раз, когда я вызываю функцию, она возвращает слово «Массив», я использовал print_r, и это ничего не давало мне.

Я называю эту функцию следующим образом:

// prepare the sales payload 
$sales_payload = array(
    'organization_id' => $getOrg['data']['0']['id'], 
    'contact_id' => $contact_id, 
    'status' => 'Open', 
    'subject' => " ".str_replace($strToRemove, "", $_POST['billing_myfield12'])." - ".getproductList(), 
    'start_date' => date("Y-m-d"), // set start date on today 
    'expected_closing_date' => date("Y-m-d",strtotime(date("Y-m-d")."+ 14 days")), // set expected closing date 2 weeks from now 
    'chance_to_score' => '10%', 
    'expected_revenue' => 0, //set the expected revenue 
    'note' => $_POST['order_comments'], 

    'progress' => array(
     'id'=>'salesprogress:200a53bf6d2bbbfe' //fill a valid salesprogress id to set proper sales progress 
    ), 

    "custom_fields" => [["actief_in_duitsland"=>$value]], 
); 

Примечание Я назвал его здесь:

'subject' => " ".str_replace($strToRemove, "", $_POST['billing_myfield12'])." - ".getproductList(), 

Это работало, когда я сделать строку его

$allproductname=implode(" + ",$product_names); 
return $allproductname; 

сейчас Я просто хочу массив и его элементы. Как мне это сделать?

+0

'var_dump()' ??? –

+0

Позвольте мне попробовать bro @PraveenKumar –

+0

Не работает @PraveenKumar –

ответ

2

Называя эту линию

str_replace($strToRemove, "", $_POST['billing_myfield12'])." - ".getproductList() 

вы преобразуем массив с именами продуктов в строку.

Байт по умолчанию для преобразования строк - это строка «Массив».

Используйте функцию implode вместо этого, чтобы объединить все имена продуктов в одну строку.

Или, если вы хотите массив названий продуктов, использовать этот

'product_names' => getproductList(), 
+0

Я хочу, чтобы в этом случае массив не был –

+0

Ну, не присоединяй его к строка! Как у вас есть массив, когда вы присоединяете его к строке? _POST ['billing_myfield12']). "-" .getproductList() –

+0

Должен ли я просто вызвать функцию и удалить это str_replace ($ strToRemove, "", $ _POST ['billing_myfield12']). "-" –

Смежные вопросы