Fonction strpos

Signaler
Messages postés
6
Date d'inscription
vendredi 14 novembre 2014
Statut
Membre
Dernière intervention
26 octobre 2015
-
Messages postés
33197
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
3 août 2021
-
Bonjour,

La fonction strpos retourne maintanant toujours FALSE.
J'utilise la version 5.3 de PHP.
Est-elle "deprecated" ? ou c'est à cause de la version PHP ?

ex.:
if (strpos($subindex,'.')!==FALSE) {
  $xpoint = explode('.',$subindex);
  $subindex = $xpoint[1];
 }

doit être changé pour ...
        $xpoint = explode('.',$subindex);
        if (count($xpoint)>1)
  $subindex = $xpoint[1];
 }


EDIT : Ajout des balises de code.
Merci d'y penser la prochaine fois.
Jordane.

1 réponse

Messages postés
33197
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
3 août 2021
351
Bonjour,

Est-elle "deprecated" ?

Non.
Voir le manuel : http://php.net/manual/fr/function.strpos.php

Que donnes ce code :
<?php
/***********************************
* Testes de la fonction strpos
* http://php.net/manual/fr/function.strpos.php
************************************/
$subindex = "monfichier.txt";
echo "<pre>";
$resultTest = strpos($subindex,'.')?"TRUE":"FALSE";
echo "<br> Est-ce egale à false ou True ? :".$resultTest."<br>";
if (strpos($subindex,'.')!==FALSE) {
  $xpoint = explode('.',$subindex);
  $subindex = $xpoint[1];
	print_r($xpoint);
	echo  "<br>subindex = ".$subindex;
}else {
  echo "<br> ==FALSE <br>";
	echo "<br> subindex : ".$subindex;
	
 }
 echo "</pre>";
?>


Mais sinon, rien ne t'empêche en effet d'utiliser directement le EXPLODE pour réaliser ce test...
Perso.. c'est surement cette solution que j'aurai préféré...
Qui, avec l'écriture ternaire se simplifie en deux lignes :
 $xpoint = explode('.',$subindex);
 $subindex = (count($xpoint)>1) ? $xpoint[1] :'';