3

特定のインデックスの後に爆発機能を停止するにはどうすればよいですか。例えば

    <?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]) のみを使用したい場合はどうすればよいですか?

1 つの方法は、文字列を最初の 10 個のスペース (" ") までトリミングすることです。

他に方法はありますか? limit の後に残りの要素をどこにも保存したくありません (正の limit パラメータを使用して行われたように)。

4

2 に答える 2

11

関数の 3 番目のパラメーターについてはどうですか?

配列の爆発 (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] => 1 [1] => 2 | 3 | 4 ) 配列 ( [0] => 1 [1] => 2 [2] => 3 )

あなたの場合:

print_r(explode(" " , $test , 10));

php manual によると、limitパラメーターを使用している場合:

limit が正の数に設定されている場合、返される配列には最大数の limit 要素が含まれ、最後の要素には残りの文字列が含まれます。

したがって、配列の最後の要素を取り除く必要があります。array_pop( http://php.net/manual/en/function.array-pop.php )で簡単にできます。

$result = explode(" " , $test , 10);
array_pop($result);
于 2012-10-17T14:04:09.697 に答える
3

次のドキュメントを読むexplodeことができます。

$result = explode(" ", $test, 10);
于 2012-10-17T14:04:35.180 に答える