fonction explode

Invité
Invité n'ayant pas de compte PHPfrance

09 janv. 2008, 04:20

Bonjour,
j'ai trouvé ceci sur la fonction explode:
<?php
$str = 'un|deux|trois|quatre';

// limite positive
print_r(explode('|', $str, 2));

// limite négative (depuis PHP 5.1)
print_r(explode('|', $str, -1));
?> 

L'exemple ci-dessus va afficher :
// limite positive
Array
(
    [0] => un
    [1] => deux|trois|quatre
)
// limite négative (depuis PHP 5.1)
Array
(
    [0] => un
    [1] => deux
    [2] => trois
)
Je ne comprends pas le résultat de la limite positive. Comment raisonne la fonction? que veut dire le 2?

Mammouth du PHP | 1885 Messages

09 janv. 2008, 04:23

J'ai cliqué sur le lien créé sur la fonction explode() et j'ai eu droit à la documentation:
http://ca3.php.net/manual/fr/function.explode.php
La programmation est l'expression de la poésie d'un programmeur
Génération PHP

ViPHP
ViPHP | 3300 Messages

09 janv. 2008, 04:58

limite est le nombre d'élément retourné dans le tableau résultat ce qui a pour effet "d'arrêter" l'explosion de ta chaine en élément distinct.

ceci dit Xenon a raison même si la manière est cavalière rien n'est mieux expliqué que sur le site de php :)
Fait du php depuis que ca existe ou presque :)

Mammouth du PHP | 1885 Messages

09 janv. 2008, 06:36

limite est le nombre d'élément retourné dans le tableau résultat ce qui a pour effet "d'arrêter" l'explosion de ta chaine en élément distinct.

ceci dit Xenon a raison même si la manière est cavalière rien n'est mieux expliqué que sur le site de php :)
Bha c'est que la solution était dans son message. :D
La programmation est l'expression de la poésie d'un programmeur
Génération PHP

Invité
Invité n'ayant pas de compte PHPfrance

09 janv. 2008, 10:36

ben justement, c'est dans la doc qui j'ai pris l'exmple...je comprends le rôle de limit et la fonction explode, mais je ne comprends pas le résultat quand on pase 2 comme limte...

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

09 janv. 2008, 10:52

$limit signifie le nombre d'élément dans le tableau retourné.

Donc, quand tu défini $limit comme étant 2, ton tableau de retour aura 2 cases. Donc, la fonction explode() s'arrêtera à la première séparation, et non pas à la seconde.
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer