PHP数组合并爆炸

PHP数组合并爆炸,php,arrays,Php,Arrays,我有一些字段接收来自各种输入的内容 $fields = array(); if (!empty($_POST['field1'])) { $fields = explode(',', $_POST['field1']); // receives: foo1, foo2 } if (!empty($_POST['field2'])) { $fields = explode(',', $_POST['field2']); //receives: foo3, foo4, foo5 } i

我有一些字段接收来自各种输入的内容

$fields = array();

if (!empty($_POST['field1'])) {
 $fields = explode(',', $_POST['field1']);
 // receives: foo1, foo2
}

if (!empty($_POST['field2'])) {
 $fields = explode(',', $_POST['field2']);
 //receives: foo3, foo4, foo5
}

if (!empty($_POST['field3'])) {
 $fields = explode(',', $_POST['field3']);
 //receives: foo6
}

// Array ( [0] => foo1 [1] => foo2 ) 
// Array ( [0] => foo3 [1] => foo4 [2] => foo5 )
// Array ( [0] => foo6 )
我想把它们放到一个简单的数组中

//Array ( [0] => foo1 [1] => foo2 [2] => foo3 [3] => foo4 [4] => foo5 [5] => foo6 )

您可以通过以下几种方式进行:

方式1-

方式2-


提示:
array\u merge
第二个示例不会产生相同的结果。来自
field2
field3
的片段本身将是数组,从而生成多维数组。@El_Vanja我更改了答案,对于您的注释,即使在更新之后,它仍将生成多维数组(您有语法错误,忘记关闭外括号)。在发布之前测试代码。您需要对
分解
的结果使用扩展运算符
,以使其正常工作。
$fields = array();

if (!empty($_POST['field1'])) {
 $fields = explode(',', $_POST['field1']);
 // receives: foo1, foo2
}

if (!empty($_POST['field2'])) {
 $fields = array_merge($fields, explode(',', $_POST['field2']));
 //receives: foo3, foo4, foo5
}

if (!empty($_POST['field3'])) {
 $fields = array_merge($fields, explode(',', $_POST['field3']));
 //receives: foo6
}
$fields = array();

if (!empty($_POST['field1'])) {
 $fields = explode(',', $_POST['field1']);
 // receives: foo1, foo2
}

if (!empty($_POST['field2'])) {
    foreach (explode(',', $_POST['field2']) as $val) {
      array_push($fields, $val);
    }
    //receives: foo3, foo4, foo5
}

if (!empty($_POST['field3'])) {
    foreach (explode(',', $_POST['field3']) as $val) {
      array_push($fields, $val);
    }
   //receives: foo6
}