我使用print_r($_POST["prod_sizes"]);
print_r($_POST["prod_sizes"]);
所以我得到像这样的输出=> dsf,,thisnajndk,faklsf,klam,flkamlkd,mklmd,l,,adad
之后我使用此代码:
$sizes = strip_tags(preg_replace('/[^a-z0-9,]/i', '', $_POST["prod_sizes"]));
$var = explode(',', $sizes);
print_r($var);
我得到像
这样的输出Array
(
[0] => dsf
[1] =>
[2] => thisnajndk
[3] => faklsf
[4] => klam
[5] => flkamlkd
[6] => mklmd
[7] => l
[8] =>
[9] => adad
)
从上面的输出中我们可以看到数组中有一些空白值。如何删除这些空白值?
答案 0 :(得分:3)
内置array_filter()
的PHP将为您完成此任务:
$sizes = array_filter($sizes);
请注意,任何值equate to false也会被过滤掉。因此,如果零和null是有效值,则需要编写自己的回调来过滤。
如果您还想重新索引密钥,只需在结果上使用array_values()
:
$sizes = array_values(array_filter($sizes));
答案 1 :(得分:1)
将此代码替换为此行=> $var = explode(',', $sizes);
&加上这个:
$var = array_filter(explode(',', $sizes));
$reindexed = array();
foreach ($var as $row)
{
if ($row !== null)
$reindexed[] = $row;
}
print_r($reindexed);
exit();
现在让我们看一下代码的解释
1。)这是第一个参考链接,我把这个想法带到了文件管理器,但是你找到了数组,你会看到数组索引混乱=> Remove empty array elements
$var = array_filter(explode(',', $sizes));
$reindexed = array();
所以我们创建一个新变量reindexed
作为数组来存储重建索引的数组值
2.。)为了删除混乱的数组索引并重新索引数组,我参考了这个链接=> How to remove null values from an array?
$reindexed = array();
foreach ($var as $row)
{
if ($row !== null)
$reindexed[] = $row;
}
print_r($reindexed);
答案 2 :(得分:0)
这是最好的方法:
# Array
$array = array('tomato', '', 'apple', 'melon', 'cherry', '', '', 'banana');
返回
Array
(
[0] => tomato
[1] =>
[2] => apple
[3] => melon
[4] => cherry
[5] =>
[6] =>
[7] => banana
)
这样做
$array = array_values(array_filter($array));
你得到了这个
Array
(
[0] => tomato
[1] => apple
[2] => melon
[3] => cherry
[4] => banana
)
<强>解释强>
array_values()
:以数字方式返回输入数组和索引的值。
array_filter()
:使用用户定义的函数过滤数组的元素(UDF 如果没有提供,将删除输入表中值为FALSE的所有条目< / strong>即可。)