PHP говорит мне, что раскол устарел, какой альтернативный метод я должен использовать?
PHP разделяет альтернативу?
Ответ 1
explode
- альтернатива. Однако, если вы хотите разделить регулярное выражение, альтернатива preg_split
вместо этого.
Ответ 2
split
устарел, поскольку он является частью семейства функций, которые используют регулярные выражения POSIX; что вся семья устарела в пользу функций PCRE (preg_*
).
Если вам не нужны функции регулярного выражения, то explode
- очень хороший выбор (и он был бы рекомендован более split
даже если это не было устаревшим), если, с другой стороны, вам нужно использовать регулярные выражения, то альтернативный вариант PCRE просто preg_split
.
Ответ 3
-
preg_split
, если вам нужно разделить регулярные выражения. -
str_split
, если вам нужно разбить по символам. -
explode
, если вам нужно разбить что-то простое.
Также в будущем, если вы когда-нибудь захотите узнать, что PHP хочет, чтобы вы использовали, если что-то устарело, вы всегда можете проверить функцию в руководстве, и он расскажет вам об альтернативах.
Ответ 4
Я хочу пояснить здесь, что preg_split();
находится далеко от него, но explode();
можно использовать так же, как split();
Ниже приведено сравнение между split();
и explode();
использованием
Как был использован split()
<?php
$date = "04/30/1973";
list($month, $day, $year) = split('[/.-]', $date);
echo $month; // foo
echo $day; // *
echo $year;
?>
URL: http://php.net/manual/en/function.split.php
Как использовать функцию explode()
<?php
$data = "04/30/1973";
list($month, $day, $year) = explode("/", $data);
echo $month; // foo
echo $day; // *
echo $year;
?>
URL: http://php.net/manual/en/function.explode.php
Вот как мы можем его использовать:)
Ответ 5
Вместо этого вы можете использовать более удобную функцию preg_match, лучше и быстрее, чем все остальные.
$var = "<tag>Get this var</tag>";
preg_match("/<tag>(.*)<\/tag>/", $var , $new_var);
echo $new_var['1'];
Выход: Get this var
Ответ 6
Да, я бы использовал взрыв или вы могли бы использовать:
preg_split
Каков рекомендуемый метод с PHP 6. preg_split Документация
Ответ 7
Если вы хотите разбить строку на слова, вы можете использовать explode() или str_word_count().
Ответ 8
Была та же проблема, но мой код должен работать как на PHP 5, так и на PHP 7..
Вот мой кусок кода, который решил эту проблему. Введите дату в формате dmY с одним из разделителей "/. -"
<?php
function DateToEN($date){
if ($date!=""){
list($d, $m, $y) = function_exists("split") ? split("[/.-]", $date) : preg_split("/[\/\.\-]+/", $date);
return $y."-".$m."-".$d;
}else{
return false;
}
}
?>