php - PHP数组合并爆炸
问题描述
我有一些字段可以从各种输入中接收内容。
$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 - array_merge
$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
}
方式 2 - array_push
$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
}
推荐阅读
- android - 等到手机屏幕亮起
- c - C中的二进制掩码和位操作
- javascript - 过滤器方法和对象由 ref 传递
- c# - 如何在运行时更改 System.Windows.Forms.UserControl 的 BackColor?
- r - 标准化大型数据集中的时区
- ios - 如何使用 Objective-C 以编程方式在 UITableView 中设置 Section-Header.xib 约束
- null - 如何处理 nil 值变量
- php - FOS ElasticaSearch 无法识别的选项 index_analyzer search_analyzer 映射
- oracle - oracle apex 面包屑设置项目值
- python - 何时触发写入磁盘?