2010-06-02 140 views
0

我有一个动态生成的数组,它有一些空的元素。我如何摆脱数组中的空元素?如何摆脱空元素

阵列
0 =>字符串 ''(长度= 0)
1 =>字符串 'X%6wm'(长度= 5)
2 =>字符串 'X%6wmvf'(长度= 7) 3 =>字符串 'X%645'(长度= 5) 4 =>字符串 ''(长度= 0)

我希望它成为像

阵列
0 =>字符串' x%6wm'(length = 5)
1 => string'x%6wmvf'(length = 7)
2 =>字符串“X%645”(长度= 5)
由于

回答

2

您可以结合功能array_filter()array_values()来完成您的目标。

$cleanArray = array_values(array_filter($array));

+0

如果你没有任何关联密钥,array_values调用是否必要? – 2010-06-02 19:10:13

+0

如果你想保持你的数组键完好无损,你应该抛开'array_values'。但是,如果您想要重置阵列键并且没有间隙,则需要添加此功能。 – Piro 2010-06-02 21:30:50

0

您可以循环throuh并检查阵列如果为空或不中的每个元素,并且如果它是空的则可以删除该元素。

+0

效率低下。在可用时总是使用PHP内置的函数 - 它们通常只是C函数的包装,因此超级快。手动循环将永远占用。 – 2010-06-02 20:03:46

+0

@ Travis Leleu:好点:) – Saleh 2010-06-04 17:31:52

0

每上面的阵列和过滤器值将很好地工作于这一点。

$array = array("", "Hello", "", "World", "");

$info = array_values(array_filter($array));

print_r($info);