Стоп взорваться после определенного индекса

Как я могу остановить функцию разнесения после определенного индекса. Например

    <?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)

Решение Вопроса

Взрыв массива (строка $ delimiter, строка $ 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] => два | три | четыре) Массив ([0] => один [1] => два [2] => три)

В твоем случае:

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

Согласно руководству по PHP, когда вы используетеlimit параметр:

Если предел установлен и положителен, возвращаемый массив будет содержать максимум элементов предела с последним элементом, содержащим остаток строки.

Следовательно, вам нужно избавиться от последнего элемента в массиве. Вы можете сделать это легко сarray_pop (http://php.net/manual/en/function.array-pop.php).

$result = explode(" " , $test , 10);
array_pop($result);
 Deadlock17 окт. 2012 г., 16:15
Проблема в том, что у меня очень тяжелая строка, которая занимает много места, поэтому мне нужно отказаться от последнего элемента из-за проблем с памятью
 Ofir Baruch17 окт. 2012 г., 16:14
О, хорошо, - решение проблемы за секунду
 Ofir Baruch17 окт. 2012 г., 16:10
Не понял, можешь привести пример?
 Deadlock17 окт. 2012 г., 16:08
Спасибо ... Есть ли способ отбросить следующие элементы (которые идут после лимита) в положительный лимит?
 Deadlock17 окт. 2012 г., 16:12
Как и в вашем примере положительного лимита [1] => two | three | four Я не хочу хранить этот элемент (Array [1]) где-либо, его следует отбросить, я хочу просто Array ([0] => one) вместо массива ([0] => один [1] => два | три | четыре)

Вы могли быпрочитайте документацию дляexplode:

$result = explode(" ", $test, 10);

Ваш ответ на вопрос