[RESOLU] Retrouver une variable dans une chaine de variable.

Eléphant du PHP | 213 Messages

08 avr. 2022, 11:03

Bonjour,
Je dois retrouver cette variable [PDT]
qui est incluse dans une autre variable.
[ADC_START][SDP][GUICHET][DEM][USER_CMDB_DIF_NON][PDT][DEM_PDT PCF < ASSET_XXX> < TPX_1>]

J'ai essayé avec un switch>> pas de réponse.
J'ai essayé avec un var_dump(parse_url($url)); mais cela ne fait que afficher la chaine en entier.

Car selon la variable retrouvée cela affichera un formulaire unique.
les variables à retrouver.
[PDT] [NDO] [APPLICATION] [NWK] [SFW] [TEL] [SDP]

Merci .
De retour au PHP pour essayer de préserver mon emploi à 59 ans.

ynx
Mammouth du PHP | 586 Messages

08 avr. 2022, 13:15

Bonjour,

Comme indiqué sur une précédente discussion, tu peux utiliser la fonction strpos() :
<?php

$maVariable = '[ADC_START][SDP][GUICHET][DEM][USER_CMDB_DIF_NON][PDT][DEM_PDT PCF < ASSET_XXX> < TPX_1>]';

if (strpos($maVariable, '[PDT]') !== false) {
    echo 'la chaine [PDT] est présente dans la variable $maVariable';
} else {
    echo 'la chaine [PDT] n\'est pas présente dans la variable $maVariable';
}

Eléphant du PHP | 213 Messages

08 avr. 2022, 14:10

Bonjour ynx,
Désolé je n'avais pas fait de recherche sur les précédentes discussions.
Merci beaucoup.
De retour au PHP pour essayer de préserver mon emploi à 59 ans.

Eléphant du PHP | 213 Messages

08 avr. 2022, 14:15

Petite question.
Peux-ton réécrire une variable avec la fonction strpos() :
en supprimant des variables inutiles en fin de formulaire?
Merci.
De retour au PHP pour essayer de préserver mon emploi à 59 ans.

ynx
Mammouth du PHP | 586 Messages

08 avr. 2022, 14:33

Non, la fonction strpos permet de trouver la position d'une chaine dans une autre chaine mais ne permet pas de modifier la variable.

Pour modifier ta variable, il faudra surement utiliser d'autres fonctions sur les chaines de caractères.
Peut-être voir du coté de str_replace selon les modifications que tu souhaites appliquer.

Mammouth du PHP | 2703 Messages

08 avr. 2022, 14:57

$maVariable = '[ADC_START][SDP][GUICHET][DEM][USER_CMDB_DIF_NON][PDT][DEM_PDT PCF < ASSET_XXX> < TPX_1>]';
ça me paraitrait beaucoup plus pratique au lieu d'avoir une telle chaine d'avoir un tableau indexé avec chaque traitement de formulaire qui va mettre à jour une donnée :
$data["etape1ouautrenomplusparlant"] = "ADC_START";
$data["etape2ouautrenomplusparlant"] = "SDP";
...

Eléphant du PHP | 213 Messages

08 avr. 2022, 18:22

Bonjour ynx,
Oui j ai fait le test avec str_.
J ai mis un marqueur dans les pages.
Le marqueur est rappelé lorsque qu l on revient vers la page précédente, et j ai utilisé str pour supprimer tous les 8nfos après le marqueur.
Maintenant il faut que je réaprenne comment faire une fonction, comme cela je n' aurai plus qu à appeler la fonction au lieu de tout retaper le code dans les 60 pages.
Merci beaucoup pour ton aide et ton savoir.
De retour au PHP pour essayer de préserver mon emploi à 59 ans.