某些索引后停止爆炸

时间:2012-10-17 14:03:07

标签: php arrays explode

如何在某些索引后停止爆炸功能。 例如

    <?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个空格(“”)

还有其他方法吗,我不想在限制之后存储其余元素(使用正限制参数完成)?

2 个答案:

答案 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_pophttp://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);