我有一个数组,大约有12个可能的键/值对。它们是基于_POST/_GET的。
这些键不是数字,而是字符串,我需要在适用的情况下保留键和值。我的问题是我知道偶尔会传递一个键,其值为null、空或等于''。如果是这种情况,我希望在处理数组之前将这些键去掉。因为在没有东西的情况下继续运行会破坏我的脚本。
现在我以前写过或者找过这个函数(我不记得了,它已经在我的工具包里有一段时间了,无论如何都可以使用)。
function remove_array_empty_values($array, $remove_null_number = true)
{
$new_array = array();
$null_exceptions = array();
foreach($array as $key => $value)
{
$value = trim($value);
if($remove_null_number)
{
$null_exceptions[] = '0';
}
if(!in_array($value, $null_exceptions) && $value != "")
{
$new_array[] = $value;
}
}
return $new_array;
}
我想做的事情与这个非常相似,但这对于可以具有n-n键值的数组效果很好,而且我不依赖于键和值来确定何时发生什么。由于上面的代码基本上只会删除所有内容,然后重新构建数组。我卡在了如何模仿上面的函数,但保留我需要的键。
array_filter()
的确切功能。 - Michael Berkowski