限制列表中的爆炸元素数量

时间:2014-02-12 00:32:48

标签: php explode

嗨,我在下面有这行代码

list($tag1, $tag2, $tag3, $tag4, $tag5) = array_pad(explode(',', $new_shout_tags, 5), 5, "");

如果$new_shout_tags中没有其他内容,它基本上不会为列表中的元素赋值。所以基本上如果我有

$new_shout_tags = "asd, asdf, asdfg";

然后列表将是

$tag1 = "asd";
$tag2 = "asdf";
$tag3 = "asdfg";
$tag4 = "";
$tag5 = "";

如果用户输入

,那么一切都很好
$new_shout_tags = "asd, asdf, asdfg, asdaf, asdafa, afads, asdasfd";

例如,7个elemnts然后爆炸在列表

中创建了这个元素
$tag1 = "asd";
$tag2 = "asdf";
$tag3 = "asdfg";
$tag4 = "asdaf";
$tag5 = "asdafa, afads, asdasfd";

如何使其不包括用户输入的最后2个或多于5个,仅包括前5个。

由于

2 个答案:

答案 0 :(得分:1)

这应该有效:

$v1=explode(',', $new_shout_tags); // with no limit
$v2=array_slice($v1,0,5);
$v3=array_pad($v2, 5, "");
list($tag1, $tag2, $tag3, $tag4, $tag5) = $v3

答案 1 :(得分:1)

使用垃圾变量。

list($tag1, $tag2, $tag3, $tag4, $tag5, $garbage) =
    array_pad(explode(',', $new_shout_tags, 6), 6, "");