PHP vertelt me dat splitsen niet meer nodig is, wat is de alternatieve methode die ik moet gebruiken?
Antwoord 1, autoriteit 100%
explode
een alternatief is. Als u echter een gewone uitdrukkingwilde splitsen, is het alternatief preg_split
in plaats daarvan.
Antwoord 2, autoriteit 17%
split
is 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 explode
een zeer goede keuze (en zou aanbevolen zijn boven split
zelfs 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_split
als u moeten worden gesplitst door reguliere expressies.str_split
als u moet worden gesplitst op tekens.explode
als 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;
}
}
?>