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

PHP разделяет альтернативу?

PHP говорит мне, что раскол устарел, какой альтернативный метод я должен использовать?

4b9b3361

Ответ 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;
  }
}
?>