基于相同的键将数组值一起回显

时间:2018-01-22 08:17:57

标签: php arrays foreach key

下面是一个数组,我需要输出每个键我希望将所有值一起回显

数组([26] =>数组([0] => 1 [1] => 2 [2] => 4)[28] =>数组([0] => 1 ))

foreach ($_POST as $key => $value) {
    foreach ($value as $array) {
        echo $key.'-'.$array.'<br>';
    }
}

使用上述代码输出:
26-1
26-2
26-4
28-1

但我想要的输出是每个键我希望回显所有值。

我想要的输出:
26-124
28-1

3 个答案:

答案 0 :(得分:3)

PHP提供了一个将数组元素连接在一起的基本函数,名为implode()

foreach ($_POST as $key => $value) {
    echo $key . ' - ' . implode('', $value) . '<br>';
}

第一个参数是胶水,它指定元素之间的字符串。它目前是emtpy字符串'',因此$value = [1, 2, 4]将打印为:124。如果您提供逗号字符串作为粘合剂(','),您将获得1,2,4等等...

答案 1 :(得分:0)

是的,您可以使用其他用户提到的implode,但如果您想使用foreach循环,那么您的代码应如下所示:

foreach ($_POST as $key => $value) {
    echo $key .'-';
    foreach ($value as $array) {
        echo $array;
    }
    echo '<br>';
}

答案 2 :(得分:-3)

在输出之前,只需使用implode()函数组合子数组的值。

foreach ($_POST as $key => $value) {
    foreach ($value as $array) {
        echo $key.'-'.implode('', $array).'<br>';
    }
}