[PHP] Convertir une variable chaine en INT [Résolu/Fermé]

Signaler
-
 Nymoda -
Bon, voilà le problème.

Je récupère une variable du nom de $page via l'adresse e-mail
(displayforum.php?page=1 par exemple), puis j'utilise cette variable dans un test conditionel de ce type:
if($page>1){
...
}
Celà pose problème la valeur renvoyée par le test est toujours FALSE car la variable $page semble être une chaine de caractère (et ne peut donc pas être plus grand que 1).

J'aimerais savoir s'il existe une fonction pour convertir cette variable en entier relatif.

Merci d'avance!
Kray

7 réponses

Messages postés
1771
Date d'inscription
lundi 11 décembre 2000
Statut
Membre
Dernière intervention
23 décembre 2009
601
Salut Kray,

En Php la fonction est intval(mixed var, int base )

Ainsi
<?php

$a="12";
$b=intval($a);

...
?>

dans ce cas $b=12


Il existe aussi doubleval(mixed var) pour les réels doubles

@+
Philippe

[[  The Truth is Out There   ]]
64
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 60511 internautes nous ont dit merci ce mois-ci

Salut tout le monde !

Je voudrais avoir la taille de la fenetre dans des variables php, donc voilà ce que j'ai fait:


<script type="text/javascript">

if (document.body)
{
var larg = (document.body.clientWidth);
var haut = (document.body.clientHeight);
}
else
{
var larg = (window.innerWidth);
var haut = (window.innerHeight);
}

</script>


<?php

$largeur1 = "<script>document.write(larg);</script>";
$hauteur1 = "<script>document.write(haut);</script>";

$largeur = intval($largeur1);
$hauteur = intval($hauteur1);

?>

Le problème, c'est que $hauteur (ou largeur) prend la valeur 0...
Quelqu'un peut m'aider? merci !
> Nico
essaye de caster tes variables
$var=(int)($hauteur)
> Nico
bonjour, je rencontre le meme pb ce jour

as-tu resolu cette enigme depuis le temps ?
A mon avis, le problème se trouve dans ton code javascript.

Les variables déclarées dans des blocs sont locales et ne peuvent êtres utilisés en dehors de leurs blocs respectifs.

je crois que tu devais créer au préalable les variables avant de leur affecter des valeurs selon tes conditions..


<script type='text/javascript'>

var larg = 0;
var haut = 0;

if (document.body)
{
larg = (document.body.clientWidth);
haut = (document.body.clientHeight);
}
else
{
larg = (window.innerWidth);
haut = (window.innerHeight);
}
</script>

Pour ce genre de problème, il y a la fonction settype($ma_variable, "int");
https://www.php.net/manual/fr/function.settype.php pour plus d'information...
Plutot que d'utiliser des fonctions compliquées qui servent normalement à récupérer des valeurs de différentes bases.
En JQuery il t'es possible de récupérer pas mal d'infos sur ton DOM

//récupérer largeur d'un bloc
width = $(container).width();
//récupérer largeur du parent d'un bloc
parentWidth = $(container).parent().width();

//récupérer attribut css
margin = $(container).css('margin-left').replace('px','');
//caster la variable, convertir en int
margin = margin * 1;

je ne sais pas s'il existe une autre manière plus appropriée de caster la var en js mais celle ci marche en tout cas

tu sauvegardes les informations dans un cookies avec javascript et les récupère avec php ... pas besoin d'ajax, n'y de charger une autre page
faut juste s'y connaitre un peu en ajax et miracle, tout deviens possible.
Pour les débutants et alergiques au javascript, allez voir du coté d'API comme jQuery
normal on ne peu pas passez de javascript a php de cette maniere(c'est impossible en général)
bn,bn,bn
Bonjour, ce qu'il faut comprendre c'est que le php est exécuté sur le serveur tandis que le javascript est exécute sur le navigateur du client.
Donc, dans un fonctionnement traditionnel, le javascript ne peut que complète l'url qui seras transmise au serveur.
Si votre javascript dois envoyé des information au serveur, il n'y a que deux solution.
1/Créer dynamiquement un lien par javascript et l'envoyé au serveur ce qui provoqueras le rechargement total de la page.
2/Utiliser la technologie ajax qui permet de faire un appel au serveur (pour exécuter du code bien sur) SANS recharger la page, le serveur renvoie alors un résultat html que vous pouvez inclure a votre page.

Codez bien, et pas avec les coudes !
Plein de fautes d'orthographe grossières dans votre message!
...les coudes! :P