В чем разница между split() и explode()?
Руководство по PHP для split()
говорит
Эта функция была УСТАРЕВШИЙ начиная с PHP 5.3.0. Полагаться на эту функцию крайне не рекомендуется...Использовать
explode()
вместо.
Но я не могу найти разницы между split()
и explode()
. join()
не был признан устаревшим, так что же получается?
6 answers
Он устарел, потому что
-
explode()
существенно быстрее, потому что он не разбивается на основе регулярного выражения, поэтому строку не нужно анализировать анализатором регулярных выражений -
preg_split()
быстрее и использует регулярные выражения PCRE для разделения регулярных выражений
join()
и implode()
являются псевдонимами друг друга и поэтому не имеют никаких различий.
split
использует регулярное выражение, в то время как explode
использует фиксированную строку. Если вам действительно нужно регулярное выражение, используйте preg_split
, который использует PCRE (пакет регулярных выражений, который теперь предпочтителен в стандартной библиотеке PHP).
В split()
вы можете использовать регулярные выражения для разделения строки. В то время как explode()
разделяет строку на строку.
preg_split - гораздо более быстрая альтернатива, если вам нужны регулярные выражения.
Обе функции используются для разделения строки.
Однако Split используется для разделения строки с помощью регулярного выражения.
С другой стороны, функция Explode используется для разделения строки с использованием другой строки.
Например, взорвется ("это", "это строка"); вернет " Является строкой"
Например, Разделить ("+", "Это + строка");
Функция split()
разбивает строку на массив с помощью регулярного выражения и возвращает массив.
Функция explode()
разбивает строку на строки.
Например:
<?php
$split_array=split(':','I:P:S');
$explode_array=split('and','I and P and S');
print_r($split_array);
print_r($explode_array);
?>
Результатом будет
Array ( [0] => I [1] => P [2] => S )
Array ( [0] => I [1] => P [2] => S )
Оба используются для разделения строки на массив, но разница в том, что split()
использует шаблон для разделения, тогда как explode()
использует строку. explode()
быстрее, чем split()
, потому что он не соответствует строке, основанной на регулярном выражении.