如何在某些索引后停止爆炸功能。 例如
<?php
$test="The novel Prognosis Negative by Art Vandelay expresses protest against many different things. The story covers a great deal of time and takes the reader through many different places and events, as the author uses several different techniques to really make the reader think. By using a certain type of narrative structure, Vandelay is able to grab the reader’s attention and make the piece much more effective and meaningful, showing how everything happened";
$result=explode(" ",$test);
print_r($result);
?>
如果只想使用前10个元素怎么办($ result [10]) 一旦填充了10个元素,如何停止爆炸功能。
一种方法是首先将字符串修剪到前10个空格(“”)
还有其他方法吗,我不想在限制之后存储其余元素(使用正限制参数完成)?
答案 0 :(得分:10)
该函数的第三个参数是什么?
array explode(string $ delimiter,string $ string [,int $ limit])
查看$limit
参数。
手动:http://php.net/manual/en/function.explode.php
手册中的一个例子:
<?php
$str = 'one|two|three|four';
// positive limit
print_r(explode('|', $str, 2));
// negative limit (since PHP 5.1)
print_r(explode('|', $str, -1));
?>
以上示例将输出:
阵列( [0] =&gt;一 [1] =&gt;二|三|四)阵列( [0] =&gt;一 [1] =&gt;二 [2] =&gt;三)
在你的情况下:
print_r(explode(" " , $test , 10));
根据php手册,当您使用limit
参数时:
如果设置了limit并且为正数,则返回的数组将包含a 最大元素,最后一个元素包含其余元素 字符串。
因此,您需要摆脱数组中的最后一个元素。
您可以使用array_pop
(http://php.net/manual/en/function.array-pop.php)轻松完成。
$result = explode(" " , $test , 10);
array_pop($result);
答案 1 :(得分:4)
你可以read the documentation for explode
:
$result = explode(" ", $test, 10);