【发布时间】:2016-04-21 20:37:24
【问题描述】:
我有两组来自$_POST 的数组。两者的键都是数字的,计数相同,因为它们以名称和数字的形式成对出现:
$_POST[names]
(
[0] => First
[1] => Second
[2] =>
[3] => Fourth
)
$_POST[numbers]
(
[0] => 10
[1] =>
[2] => 3
[3] => 3
)
现在我需要将这两者结合起来,但删除缺少任何一个值的每个条目。
结果应该是这样的:
$finalArray
(
[First] => 10
[Fourth] => 3
)
发布数据是动态创建的,因此根据用户输入可能会缺少不同的值。
我尝试做类似的事情:
if (array_key_exists('names', $_POST)) {
$names = array_filter($_POST['names']);
$numbers = array_filter($_POST['numbers']);
if($names and $numbers) {
$final = array_combine($names, $numbers);
}
}
但我似乎无法正确过滤它,因为它给了我一个错误:
警告:array_combine():两个参数应该有相同数量的元素
【问题讨论】:
-
我们可以假设两个数组总是有相同的计数,并且键总是数字吗?
-
是的,两个键都是数字,而且计数相同,因为它们以名称和数字的形式成对出现。
-
@Alko 我为每个答案添加了一些相关的 cmets。请查看页面,了解一些可能对您和其他人有教育意义的见解。