用逗号内爆列值

问题描述 投票:0回答:5

我有以下数组,

Array
(
 [1] => Array
  (
    [0] => Array
        (
            [location] => X33
            [usernumber] => 1
            [order] => XX
            [part_number] => Hi
        )

    [1] => Array
        (
            [location] => X33
            [usernumber] => 1
            [order] => YY
            [part_number] => 68730
        )

  )

我希望所需的输出字符串回显如下,

'Hello ur oder - XX, YY, part number-Hi, 68730'

如何实现这个输出?我正在考虑运行一个

foreach
循环,但我不确定如何将其转换为字符串。

php arrays multidimensional-array implode array-column
5个回答
4
投票

运行 foreach 循环并连接

$orderNumber = '';
$partnumber = '';
foreach ($yourArray as $array) {
    if ($orderNumber !="") {
        $orderNumber.=",";
    }
    $orderNumber.= $array['order'];
    if ($partNumber !="") {
        $partNumber.=",";
    }
    $partNumber.= $array['part_number'];
}
echo "Hello ur order - ".$orderNumber." part number-". $partNumber;

0
投票

@Frayne Konoks 解决方案是一个很好的单线:

他的解决方案已修复引号:)

echo 'Hello, ur order - '.implode(", ", array_column($var[1], 'order')).', '.'part number-'.implode(", ", array_column($var[1], 'part_number'))."'";

$var
是你的数组。

工作示例: http://sandbox.onlinephpfunctions.com/code/c95545bdf9d9216d6c80cc06542517e596a0360a


0
投票

您必须帮助此代码:

<?php
    $array = [
        [
            [
                'order'       => 1,
                'part_number' => 1
            ],
            [
                'order'       => 2,
                'part_number' => 2
            ]
        ]
    ];
    $orders = [];
    $partnumber = [];
    foreach($array as $v) {
        foreach($v as $item) {
            $orders[] = $item['order'];
            $partnumber[] = $item['part_number'];
        }
    }
    $str = sprintf("Hello ur oder - %s, part number-%s", implode(', ', $orders), implode(', ', $partnumber));
    echo $str;

结果:

Hello ur oder - 1, 2, part number-1, 2

0
投票

我稍微改变了数组结构。下面的代码会有帮助:

$arr = array(
    array(
        'location' => 'X33',
        'usernumber' => '1',
        'order' => 'XX',
        'part_number' => 'Hi',
    ),
    array(
        'location' => 'X33',
        'usernumber' => '1',
        'order' => 'YY',
        'part_number' => '68730',
    )
);

$order = '';
$p_no = '';
foreach ($arr as $ar) {
    $order .= $ar['order'] . ',';
    $p_no .= $ar['part_number'] . ',';
}

$order = rtrim($order, ',');
$p_no = rtrim($p_no, ',');
$final_str = 'Hello ur order - ' . $order . ' part number - ' . $p_no;
echo $final_str;

-1
投票

就这么简单:

foreach($array[1] as $item){
   echo "Hello ur order - " . $item["order"] . ", " $item["location"] . ", part number-" . $item["order"] . ", " . $item["part_number"];
}
© www.soinside.com 2019 - 2024. All rights reserved.