PHP gesplitst alternatief?

PHP vertelt me ​​dat splitsen niet meer nodig is, wat is de alternatieve methode die ik moet gebruiken?


Antwoord 1, autoriteit 100%

explodeeen alternatief is. Als u echter een gewone uitdrukkingwilde splitsen, is het alternatief preg_splitin plaats daarvan.


Antwoord 2, autoriteit 17%

splitis verouderd omdat het deel uitmaakt van de familie van functies die gebruik maken van POSIX reguliere expressies; die hele familie wordt afgekeurd ten gunste van de PCRE-functies (preg_*).

Als je de functionaliteit voor reguliere expressies niet nodig hebt, dan is explodeeen zeer goede keuze (en zou aanbevolen zijn boven splitzelfs als dat niet verouderd was), als je aan de andere kant reguliere expressies moet gebruiken, dan is het PCRE-alternatief gewoon preg_split.


Antwoord 3, autoriteit 12%

  • preg_splitals u moeten worden gesplitst door reguliere expressies.
  • str_splitals u moet worden gesplitst op tekens.
  • explodeals dat nodig is gesplitst door iets eenvoudigs.

Ook voor de toekomst, als je ooit wilt weten wat PHP wil dat je gebruikt als iets verouderd is, kun je altijd de functiein de handleiding en zal u alternatieven vertellen.


Antwoord 4, autoriteit 5%

Ik wil hier duidelijk maken dat preg_split();er ver van verwijderd is, maar explode();kan op dezelfde manier worden gebruikt als split();

hierna volgt de vergelijking tussen het gebruik van split();en explode();

Hoe werd split() gebruikt

<?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

Hoe explode() kan worden gebruikt

<?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

Hier is hoe we het kunnen gebruiken 🙂


Antwoord 5, autoriteit 2%

Je kunt in plaats daarvan de eenvoudigere functie preg_match gebruiken, het is beter en sneller dan alle andere.

$var = "<tag>Get this var</tag>";
preg_match("/<tag>(.*)<\/tag>/", $var , $new_var);
echo $new_var['1']; 

Uitvoer: Get this var


Antwoord 6

Ja, ik zou explode gebruiken of je zou kunnen gebruiken:

preg_split

Wat is de aanbevolen methode met PHP 6.
preg_split-documentatie


Antwoord 7

Als je een string in woorden wilt splitsen, kun je explode() of str_word_count() gebruiken.


Antwoord 8

Had hetzelfde probleem, maar mijn code moet werken op zowel PHP 5 & PHP 7..

Hier is mijn stukje code waarmee dit is opgelost.. Voer een datum in in dmY-formaat met een van de scheidingstekens “/ . -“

<?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;
  }
}
?>

Other episodes