我这里有这个代码:
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;
}
它是一个返回数组的函数。每当我调用该函数时,它返回单词" Array"我使用了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 :(得分:2)
通过调用此行
str_replace($strToRemove, "", $_POST['billing_myfield12'])." - ".getproductList()
您正在使用产品名称将数组转换为字符串。
默认数组到字符串的转换是字符串“Array”。
使用函数implode来将所有产品名称连接成一个字符串。
或者,如果您需要一系列产品名称,请使用此
'product_names' => getproductList(),