$array = array();
foreach( $order->get_items() as $item_id => $item ) {
$rray = array(
'name'=>$item['name'],
'qty'=>$item['qty']
);
$array[] = $rray;
}
}
У меня есть массив, как показано выше. Как создать строку выглядит следующим образом: 'name qty, name qty, name qty, name qty, name qty, name qty, name qty,'
"Афганский куш 1, Гранатовый сине-раш 1, Черника Ваниль 1, Банановая клубника 1, Карамель Капучино 1,
$mystring = "";
foreach($array as $strain) {
$strain['array_text'] = $strain['name']." ".$strain['qty'];
$mystring .= $strain['array_text'].", ";
}
echo $mystrain;
Вы можете использовать array_map()
и 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 );
Попробуйте:
$array_text = implode(', ', array_map(function ($e) { return $e['name'] . ' ' . $e['qty']; }, $array));
$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);
Работайте как чемпион!