Page 1 sur 1

fonction explode

Posté : 09 janv. 2008, 04:20
par Invité
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?

Posté : 09 janv. 2008, 04:23
par Xenon_54
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

Posté : 09 janv. 2008, 04:58
par Nagol
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 :)

Posté : 09 janv. 2008, 06:36
par Xenon_54
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

Posté : 09 janv. 2008, 10:36
par Invité
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...

Posté : 09 janv. 2008, 10:52
par zeus
$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.