Reputation: 313
$array = array();
foreach ( $order->get_items() as $item_id => $item ) {
$rray = array(
'name' => $item['name'],
'qty' => $item['qty']
);
$array[] = $rray;
}
I have the array like the above How to create a string look like this: 'name qty, name qty, name qty, name qty, name qty, name qty, name qty, '
Afghan Kush 1, Pomegranate Blue-Rasp 1, Blueberry Vanilla 1, Banana Strawberry 1, Caramel Cappuccino 1,
Upvotes: 1
Views: 72
Reputation: 36944
Try with:
$array_text = implode(
', ',
array_map(
function ($e) {
return $e['name'] . ' ' . $e['qty'];
},
$array
)
);
Upvotes: 1
Reputation: 313
$array = array();
foreach( $order->get_items() as $item_id => $item ) {
$rray = array(
'name'=>$item['name'],
'qty'=>$item['qty']
);
$array[] = $rray;
}
foreach($array as $key => $value) {
$result .= $value['name']." ". $value['qty'];
$result .= ", ";
}
var_dump($result);
Work like a champ!
Upvotes: 0
Reputation: 21130
You can use array_map()
and implode()
.
$array = [
[
'name' => 'Blackberry Kush',
'qty' => '1'
],
[
'name' => 'Granddaddy Purple',
'qty' => '1'
],
[
'name' => '20% THC',
'qty' => '1'
],
[
'name' => 'Pomegranate Blue-Rasp',
'qty' => '1'
],
[
'name' => 'Blueberry Vanilla',
'qty' => '2'
],
[
'name' => 'Banana Strawberry',
'qty' => '3'
]
];
$formatted = array_map( function($obj) {
return "{$obj['name']} {$obj['qty']}";
}, $array );
echo implode( ', ', $formatted );
Upvotes: 1
Reputation: 1531
$mystring = "";
foreach($array as $strain) {
$strain['array_text'] = $strain['name']." ".$strain['qty'];
$mystring .= $strain['array_text'].", ";
}
echo $mystrain;
Upvotes: 1