Fonction semblable à LIKE (MySQL) en Php

Résolu
cs_tweeder Messages postés 172 Date d'inscription jeudi 30 janvier 2003 Statut Membre Dernière intervention 19 juin 2009 - 11 nov. 2005 à 15:21
cs_tweeder Messages postés 172 Date d'inscription jeudi 30 janvier 2003 Statut Membre Dernière intervention 19 juin 2009 - 11 nov. 2005 à 17:48
Bonjour,



Est-ce que vous pourriez me dire s'il existe une fonction qui fait le même travaille que la fonction LIKE en Mysql ?

J'ai conçu le ptit bout de code ci-dessous qui réussi à faire ce que je veux, mais je sais très bien que ce n'est pas optimisé.

Vous seriez très sympa si vous m'aidiez à l'optimiser ou si me disiez s'il existe une fonction qui fait le même boulot en php.

J'ai beau regardé sur le site et je ne trouve pas cette fonction.

Merci



//Fonction qui est appellée en premier


//Vérifie si le critère est retrouvé dans un des éléments du tableau


function contains_key( $origine, $criteres ) {


foreach ($origine as $mot) {


foreach ($criteres as $critere) {


if(
contain_key( strtoupper($mot), strtoupper( trim($critere) ) ) > 0)


return true;


}


}


return false;


}




//Semblant de la fonction LIKE en MySQL, vérifie si les mots sont semblables


function contain_key( $mot, $critere ) {


$index = 0;





for($i=0; $i< strlen($mot); $i++) {


if($mot[$i] == $critere[$index])

{


$index++;





if( $index == strlen($critere) )


return true;


}


else


$index = 0;


}


return false;


}



Jonathan
A voir également:

7 réponses

cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
11 nov. 2005 à 17:43
ah non dans ce cas faut faire une boucle avec des strtolower et des
strpos. je me souviens avoir répondu il y a très longtemps à un
problème de ce genre en ayant fourni du code.

3