通过在每行中用空格内爆指定的列值来展平二维数组,然后用逗号内爆展平的数组

问题描述 投票:0回答:4
$array = array();
foreach ( $order->get_items() as $item_id => $item ) {  
    $rray = array(
        'name' => $item['name'],
        'qty' => $item['qty']
    );
    $array[] = $rray; 
}

我有像上面这样的数组 如何创建一个字符串,如下所示: '名称数量,名称数量,名称数量,名称数量,名称数量,名称数量,名称数量,'

Afghan Kush 1, Pomegranate Blue-Rasp 1, Blueberry Vanilla 1, Banana Strawberry 1, Caramel Cappuccino 1, 

php arrays implode
4个回答
1
投票

尝试:

$array_text = implode(', ', array_map(function ($e) { return $e['name'] . ' ' . $e['qty']; }, $array));

1
投票
$mystring = "";    

foreach($array as $strain) {
    $strain['array_text'] = $strain['name']." ".$strain['qty'];
    $mystring .= $strain['array_text'].", ";
}

echo $mystrain;

1
投票

您可以使用

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 );

示例


0
投票
$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);

像冠军一样工作!

© www.soinside.com 2019 - 2024. All rights reserved.