Как остановить функцию разрыва после определенного индекса. Например
<?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 пробелов ("")
Есть ли другой способ, я не хочу хранить оставшиеся элементы после ограничения где угодно (как это делается с использованием параметра положительного предела)?
Что такое третий параметр функции?
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] => один [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);
Вы можете прочитать документацию для explode
:
$result = explode(" ", $test, 10);