[RESOLU] Utiliser le résultat de while en tant que variable en dehors de while {}

Eléphanteau du PHP | 40 Messages

20 août 2020, 12:14

Bonjour,
tout est dans le titre
voici mon code:

Code : Tout sélectionner

$pos = 0; while ( ( $pos = strpos( $a, '0x', $pos, ) ) !== false ) { $DROMADER = chunk_split (substr($a, $pos,4), 4, ', '); $pos++; echo $DROMADER; }; echo $DROMADER; // par exemple ici ça ne marche pas
j'aimerais echo $DROMADER n'importe ou sur ma page, comment faire s'il vous plait?

Avatar du membre
Mammouth du PHP | 1609 Messages

20 août 2020, 12:24

Salut, en sortie de boucle la variable a la valeur qui lui a été affectée lors du dernier passage dans la boucle.
Le seul cas ou la variable ne sera pas affectée, c'est si la condition du while est false dès le départ.
Développeur web depuis + de 20 ans

Eléphanteau du PHP | 40 Messages

20 août 2020, 12:49

Salut, en sortie de boucle la variable a la valeur qui lui a été affectée lors du dernier passage dans la boucle.
Oui exacte c'est bien ce que j'obtiens.
Le seul cas ou la variable ne sera pas affectée, c'est si la condition du while est false dès le départ.
c'est bien ce que j'ai non?

Code : Tout sélectionner

while ( ( $pos = strpos( $a, '0x', $pos, ) ) !== false )
Merci pour ta réponse

Avatar du membre
Mammouth du PHP | 1609 Messages

20 août 2020, 13:28

Y a quand même une virgule en trop sur le strpos, tu devrais avoir une syntaxe error. Sinon si $a ne contient pas 0x alors php n'entre pas dans le while et $DROMADER n'est pas définit.
Développeur web depuis + de 20 ans

Eléphanteau du PHP | 40 Messages

20 août 2020, 13:51

Y a quand même une virgule en trop sur le strpos, tu devrais avoir une syntaxe error. Sinon si $a ne contient pas 0x alors php n'entre pas dans le while et $DROMADER n'est pas définit.
oui la virgule était de trop mais pas d'erreur

Eléphanteau du PHP | 40 Messages

20 août 2020, 14:43

Bon j'ai trouvé la solution:

Code : Tout sélectionner

$pos = 0; $DROMADER = ''; while ( ( $pos = strpos( $a, '0x', $pos ) ) !== false ) { $DROMADER .= chunk_split (substr($a, $pos,4), 4, ', '); $pos++; }; echo "ceci est un test : " . $DROMADER;