J'avoue ne rien y comprendre !
Voici le code que je lance :
<?php echo '1: 2742001905';
$te=(int)'2742001905' ;
echo '<br />2: '.$te.'<br />';
Et voici le résultat : Code : Tout sélectionner
1: 2742001905
2: 2147483647Merci de m'expliquer !
<?php echo '1: 2742001905';
$te=(int)'2742001905' ;
echo '<br />2: '.$te.'<br />';
Et voici le résultat : Code : Tout sélectionner
1: 2742001905
2: 2147483647
<?php
echo pow(2,31)-1; // 2147483647
Si tu veux manipuler des nombres plus importants tu peux te tourner vers http://fr.php.net/manual/fr/intro.gmp.php
bon je voulais mettre "caster" mais la correction auto du tel n'en fait qu'a sa têteD'ailleurs c'est ce que tu devrais faire normalement plutôt que de cadrer à la barbare![]()
<?PHP
mysql_connect ("localhost", "root", "");
mysql_select_db ("dicos");
/* j'ai fait les insertions en ligne de commande
insert into ints (i,v) values (1234567891012345678912012345678930, "123456789101234567892012345678930");
*/
$res = mysql_query ("select * from ints");
$l = mysql_fetch_row($res, MYSQL_ASSOC);
$i = $l['i'];
$v = $l['v'];
$c = $i^12;
print "i $i, v $v c $c";
if (is_int($i))
{
print "c'est un entier";
}
else
{
print "pas un entier";
if (ctype_digit ($i))
{
print "mais composé de chiffres";
}
}
?>
affichage :