93 votes

Alternative au fractionnement de PHP ?

PHP me dit que split est déprécié, quelle est la méthode alternative que je dois utiliser ?

132voto

Sarfraz Points 168484

explode est une alternative. Cependant, si vous aviez l'intention de diviser par un expression régulière l'alternative est preg_split à la place.

22voto

salathe Points 26305

split est déprécié car il fait partie de la famille des fonctions qui utilisent les expressions régulières POSIX ; cette famille entière est dépréciée en faveur de la PCRE ( preg_* ) fonctionne.

Si vous n'avez pas besoin de la fonctionnalité d'expression régulière, alors explode est un très bon choix (et aurait été recommandé par rapport à split même si cela n'était pas déprécié), si d'un autre côté vous avez besoin d'utiliser des expressions régulières, l'alternative PCRE est simplement preg_split .

16voto

evolve Points 4777
  • preg_split si vous avez besoin de diviser par des expressions régulières.
  • str_split si vous avez besoin de séparer par caractères.
  • explode si vous avez besoin de diviser par quelque chose de simple.

Pour l'avenir, si vous voulez savoir ce que PHP veut que vous utilisiez si quelque chose est déprécié, vous pouvez toujours consulter la page d'accueil de PHP. fonction dans le manuel et il vous indiquera les alternatives.

7voto

i.jolly Points 1

Je tiens à préciser ici que preg_split(); est loin d'elle mais explode(); peut être utilisé de manière similaire à split();

Voici la comparaison entre split(); y explode(); utilisation

Comment a-t-on utilisé 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

Comment utiliser 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

Voici comment nous pouvons l'utiliser :)

2voto

Andre Cotelo Points 11

Vous pouvez utiliser la fonction plus simple preg_match à la place, elle est meilleure et plus rapide que toutes les autres.

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

Sortie : Get this var

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X