使用PHP爆炸字符串时,如何删除所有空值?
preg_split()上的array_filter()或PREG_SPLIT_NO_EMPTY选项可用于在爆炸时从字符串中删除空值-
示例
<?php
$_POST['tag'] = ",abc,defg,,,hijk,lmnop,,0,,";
echo "--- version 1: array_filter ----\n";
// note that this also filters "0" out, since (bool)"0" is FALSE in php
//仅使用一个参数调用的array_filter()会将每个元素测试为布尔值
$tags = array_filter( explode(",", $_POST['tag']) );
var_dump($tags);
echo "--- version 2: array_filter/strlen ----\n";
// this one keeps the "0" element
// array_filter() calls strlen() for each element of the array and tests the result as a boolean value
$tags = array_filter( explode(",", $_POST['tag']), 'strlen' );
var_dump($tags);
echo "--- version 3: PREG_SPLIT_NO_EMPTY ----\n";
$tags = preg_split('/,/', $_POST['tag'], -1, PREG_SPLIT_NO_EMPTY);
var_dump($tags);输出结果
这将产生以下输出-
--- version 1: array_filter ---- array(4) { [1]=> string(3) " abc " [2]=> string(4) " defg "
[5]=> string(4) "hijk" [6]=> string(5) "lmnop" } --- version 2: array_filter/strlen ---- array(5)
{ [1]=> string(3) "abc" [2]=> string(4) "defg" [5]=> string(4) "hijk" [6]=> string(5) "lmnop" [8]=>
string(1) "0" } --- version 3: PREG_SPLIT_NO_EMPTY ---- array(5) { [0]=> string(3) "abc" [1]=>
string(4) "defg" [2]=> string(4) "hijk" [3]=> string(5) "lmnop" [4]=> string(1) "0" }热门推荐
1 如何训练狗狗不叫
2 训练狗狗不叫
3 训练狗狗随行
4 怎么训练狗狗不叫
7 训练比熊狗狗教程
10 上海狗狗训练
11 怎么训练狗狗上厕所
12 训练狗狗趴下
13 狗狗服从训练
14 训练狗狗拒食
15 训练狗狗笑
16 训练狗狗大便
17 训练狗狗立
18 训练狗狗捡东西