В чем разница между split() и explode()?
Руководство PHP для split()
говорит
Эта функция была DEPRECATED как PHP 5.3.0. Опираясь на эту функцию очень обескуражен... Используйте explode()
вместо этого.
Но я не могу найти разницу между split()
и explode()
. join()
не устарел, так что дает?
Ответы
Ответ 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