Détecté un caractére dans une chaine puis agir avec if() {}

Eléphant du PHP | 88 Messages

16 juil. 2007, 14:00

Bonjour, voici un post mieu formulé et mieu présenter que le présédent...

Comment détecté un caratére par EXEMPLE # dans une chaine...

Si # existe dans $variable on met les alcolades....

Ce que je veut faire c'est vérifier si # existe dans une variable et agir aprés...
 
<?php 
$variable = "avion#bateau"; 
// si $variable contient # alors...
{ 
}
?>


:?: :D :?

Merci beaucoup...
Cordialement zaknaou

d0m
Mammouth du PHP | 1141 Messages

16 juil. 2007, 14:08

bonjour,
va voir du coté des fonctions php de chaines de caractères, comme par exemple :
ereg ou preg_match
Bonjour, voici un post mieu formulé et mieu présenter que le présédent...
:shock: qu'est ce que ça devait être le précedent... :wink:

Administrateur PHPfrance
Administrateur PHPfrance | 3088 Messages

16 juil. 2007, 14:29

zaknaou, il y a un truc qu'il faut impérativement que tu prennes l'habitude d'essayer de résoudre tes problèmes avant de demander de l'aide, si tu veux avancer un tant soit peu dans la programmation.

Si ton problème concerne les chaînes de caractères, prends le chapître sur les fonctions de chaînes et lis la description de chaque fonction. Essaie par toi-même différentes approches, et si ça ne fonctionne pas alors viens poster ici en mentionnant les solutions que tu as essayé.

Toutes les réponses sont dans le manuel, il suffit de le lire.

Eléphant du PHP | 88 Messages

16 juil. 2007, 14:58

Merci ça ma beaucoup aider, mais je n'est pas trés bien compris le "i" dans cette exemple...
<?php
// Le "i" après le délimiteur du pattern indique que la recherche ne sera pas sensible à la casse
if (preg_match("/php/i", "PHP est le meilleur langage de script du web.")) {
    echo 'Un résultat a été trouvé.';
} else {
    echo 'Aucun résultat n\'a été trouvé.';
}
?>
Que veut dire

// Le "i" après le délimiteur du pattern indique que la recherche ne sera pas sensible à la casse
Sinon il y a
<?php
$email = '[email protected]';
$domaine = strstr($email, '@');
echo $domaine; // @example.com
?>
Mais je ne vois pas comment l'utiliser dans mon cas
Modifié en dernier par zaknaou le 16 juil. 2007, 15:06, modifié 1 fois.
Cordialement zaknaou

d0m
Mammouth du PHP | 1141 Messages

16 juil. 2007, 15:05

la réponse est... dans la question :
// Le "i" après le délimiteur du pattern indique que la recherche ne sera pas sensible à la casse
c'est à dire que la fonction reconnaitra les minuscules comme les majuscules :
PHP ou PhP ou PHp ou php .....

Eléphant du PHP | 88 Messages

16 juil. 2007, 15:07

ha ok merci
Cordialement zaknaou

ViPHP
ViPHP | 5924 Messages

16 juil. 2007, 15:32

Au passage, pour vérifier si un caractère est dans une chaine, on n'utilise ni les PCRE, ni les REGEXP, mais on utilise strpos(). Utiliser preg_match() pour ca, c'est utiliser un Leclerc pour défoncer une mouche.

d0m
Mammouth du PHP | 1141 Messages

16 juil. 2007, 15:37

c'est utiliser un Leclerc pour défoncer une mouche.
t'as jamais vu les mouches près de chez moi... :wink:

mais merci de la précision, je ne le savais pas.

zaknaou.
Invité n'ayant pas de compte PHPfrance

16 juil. 2007, 18:11

Merci, heu juste au passage dans une session, attont le droit d'ecrire des chiffres, des _ ?

Par exmple :
$_SESSION['Error_R0010']
Merci :wink:

d0m
Mammouth du PHP | 1141 Messages

16 juil. 2007, 18:19

[quote="zaknaou."]Merci, heu juste au passage dans une session, attont le droit d'ecrire des chiffres, des _ ?

oui bien sur

zaknaou.
Invité n'ayant pas de compte PHPfrance

16 juil. 2007, 19:01

Merci,

Est-ce également possible de détruitre une seul variable de session parmis 929 ?

Le session_start() est en haut de page...
<?php

$_SESSION['Error_R0010'] = "BONJOUR";
$_SESSION['Error_R0011'] = "SALUT";
$_SESSION['Error_R0012'] = "BONNE ANNEE";

//la page suivante (redirection) est étudié pour reception les 3 $_SESSION,

//mais j'ai utilisé un if (que je n'est pas insérer dans cette exemple,

//au final seul $_SESSION['Error_R0010'] et $_SESSION['Error_R0012'] doivent parvenir....

//donc entre les alcolades du if je doit détruire $_SESSION['Error_R0011'] mais COMMENT ?

// je me suis un peu renseigner sur le web, mais je ne suis pas trés sûr de ça :

$_SESSION['Error_R0011'] = array();
session_destroy();

?>
MERCI ! :D :wink:

d0m
Mammouth du PHP | 1141 Messages

16 juil. 2007, 19:11

Merci,

Est-ce également possible de détruitre une seul variable de session parmis 929 ?
oui, $_SESSION est un tableau, on peut détruire un élement de session comme tout autre élement d'un tableau ordinaire.

zaknaou.
Invité n'ayant pas de compte PHPfrance

16 juil. 2007, 19:23

Oui mais est-ce que
$_SESSION['Error_R0011'] = array(); 
session_destroy();
détruit toute les variables de session ou seulement 'Error_R0011', et est-ce que cette façon de l'ecrire est correcte ?

Merci, je pense que ce sera ma dernière question... Bonne soirée

Mammouth du PHP | 991 Messages

16 juil. 2007, 19:25

destroy = detruire en faite tu detruit la sessions donc ^pas conséquent oui l erreur est aussi detruite
DevOps, Symfony4, Hoa

ViPHP
ViPHP | 5924 Messages

16 juil. 2007, 21:33

Attention,
$_SESSION['Error_R0011'] = array(); 
ne détruit rien, ca initialise juste la valeur de l'index 'Error_R0011' à un tableau vide...
Pour détruire une variable ou un index, on utilise unset ou bien on fixe la variable à null...