Page 1 sur 1
gmp_mod et modulo
Posté : 21 avr. 2006, 21:51
par pip
bonjour a tous, je suis tout nouveau en php et je souhaite utiliser gmp_mod, ce qui peut paraitre simple, mais pour moi je ne comprends rien, même en recopiant l'exemple du manuel, il y a une erreur, je souhaite savoir pourquoi.
De plus, je souhaite connaitre ce qu'affichera par exemple
<?
echo gmp_mod("-4","3");
?>
ca sera 2? Si oui, alors gmp_mod m'intéresse beaucoup.[/php]
Posté : 21 avr. 2006, 22:06
par Truc
Salut,
même en recopiant l'exemple du manuel, il y a une erreur
Et qui est ?
Sinon:
Ces fonctions ont été ajoutées en PHP 4.0.4.
Cette extension est disponible sur les plates-formes Windows depuis PHP 5.1.0.
Et si tu nous en disais plus, il y à peut être une autre façon de faire

Posté : 22 avr. 2006, 20:32
par pip
Exemple 1. Exemple avec gmp_mod()
<?php
$mod = gmp_mod("8", "3");
echo gmp_strval($mod) . "\n";
?>
L'exemple ci-dessus va afficher :
2
Mais je crois qu'il y a une bibliotheque gmp a active ou quelque chose dugenre, alors si vous avez des precisions je suis preneur pasque, comme le dit le forum je debute, voila.
a quoi me sert le modulo
Posté : 22 avr. 2006, 20:40
par pip
j'ai une image php avec un cercle dont les coordonnees sont parametrables,et 4 liens: 2 pour la hauteuer, monter descendre, et 2 pour la progression , pour avancer et reculer, et quand on se retrouve a la fin de l'image, on change de vue et on repart de l'autre cote, tout va bien avec un % dans les positifs mais en negatif -1 % 5 donne 1 et non pas 4 comme je le souhaite, alors j'ai code quelque chosee de pas tres convaincant:
if ($x<=0)
{
echo (190-abs($x + 20)%190)%190;
}
else
{
echo ($x+20)%190;
}
echo '&y='.$y.'">x+1</a><br/>';
echo '<a href="page_plan.php?x=';
if ($x<0)
{
echo (190-abs($x)%190)%190;
}
else
{
echo ($x-20)%190;
}
ca ne fonctionne pas bien.
Posté : 22 avr. 2006, 20:43
par dsl j'ai fait un decoupae
echo '<a href="page_plan.php?x=';
if ($x<=0)
{
echo (190-abs($x + 20)%190)%190;
}
else
{
echo ($x+20)%190;
}
echo '&y='.$y.'">x+1</a><br/>';
Posté : 22 avr. 2006, 22:33
par Truc
ça nous aide pas franchement plus, en tout cas pas moi
les coordonnées négatives plantent le systeme abs() prend la valeur absolue ça ok mais après à quoi correspondent les valeurs (20, 190 ) ?
de plus:
-1 % 5 donne 1 et non pas 4
même 1 % 5 ne donne pas 1
et
echo gmp_mod("-4","3");
ca sera 2?
pareil
4 % 3 ne fait pas non plus 2
pour les valeurs 190 et 20 je vous explique tout
Posté : 23 avr. 2006, 13:51
par pip
mon image fait 190 pixels de large donc , si on fait $x % 190, ca nous donne en gros $x modulo 190. A l'affichage, le personnage, represente par un cercle, au lieu de disparaitre au point 200 ( si le cercle vient du point ou $x=180, il appaaitra au point 200 % 190, donc 10, soit tout au debut de l'image, il aura donc traverse un champs et sera sur le deuxieme champs. Le personnage se deplace de 20.
Posté : 23 avr. 2006, 16:36
par Truc
je sais pas si j'ai saisi mais je propose tout simplement:
echo '<a href="page_plan.php?x=';
if ($x<=0)
{
$valeur_x = 190 + (($x + 20) % 190));
echo $valeur_x;
}
else
{
echo ($x+20)%190;
}
echo '&y='.$y.'">x+1</a><br/>';