В чем разница между split () и explode ()? - PullRequest
32 голосов
/ 04 сентября 2010

В руководстве по PHP для split() написано

Эта функция УСТАРЕЛА по состоянию на PHP 5.3.0.Полагаться на эту функцию крайне не рекомендуется ... Используйте explode() вместо.

Но я не могу найти разницу между split() и explode().join() не устарел, так что дает?

Ответы [ 6 ]

51 голосов
/ 04 сентября 2010

Это устарело, потому что

  • explode() значительно быстрее, потому что не разбивается на основе регулярного выражения, поэтому строка не должна анализироваться анализатором регулярных выражений
  • preg_split() быстрее и использует регулярные выражения PCRE для разбиений регулярных выражений

join() и implode() являются псевдонимами друг друга и поэтому не имеют никаких отличий.

4 голосов
/ 04 сентября 2010

split использует регулярное выражение, а explode использует фиксированную строку.Если вам нужно регулярное выражение, используйте preg_split, который использует PCRE (пакет regex теперь предпочтительнее всей стандартной библиотеки PHP).

1 голос
/ 02 декабря 2015

Оба используются для разделения строки на массив, но разница в том, что split() использует шаблон для разбиения, тогда как explode() использует строку. explode() быстрее, чем split(), поскольку не соответствует строке на основе регулярного выражения.

1 голос
/ 04 сентября 2010

Обе функции используются для разделения строки.

Однако Split используется для разделения строки с помощью регулярного выражения.

С другой стороны, Explode используется для разделения строки, используя другую строку.

Eg взорваться («это», «это строка»); вернет « Строка »

Eg. Split ("+", "This + is string");

1 голос
/ 04 сентября 2010

В split() вы можете использовать регулярные выражения для разбиения строки.В то время как explode() разделяет строку на строку. preg_split - гораздо более быстрая альтернатива, если вам нужны регулярные выражения.

0 голосов
/ 28 января 2015

Функция 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 )
...