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
}