Подтвердить что ты не робот

В чем разница между split() и explode()?

Руководство PHP для split() говорит

Эта функция была DEPRECATED как PHP 5.3.0. Опираясь на эту функцию очень обескуражен... Используйте explode()вместо этого.

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

4b9b3361

Ответ 1

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

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

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

Ответ 2

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

Ответ 3

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

Ответ 4

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

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

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

E.g explode ( "this", "this is a string" ); вернет " Строка"

Например Разделить ( "+", "Это + строка" );

Ответ 5

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

Ответ 6

Функция split() разбивает строку на массив с помощью регулярного выражения и возвращает массив.

Функция explode() разбивает строку на строку.

Например:

<?php
    $split_array=split(':','I:P:S');
    $explode_array=explode('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() УСТАРЕЛА в PHP 5.3.0 и УДАЛЕНА в PHP 7.0.0