2011-04-19 6 views
-7

comment convertir de chaîne en int?php, chaîne à int

If i print $width_s, get: 1024 
If i print $width, get 0. 

Comment convertir une chaîne en nombre entier?

$width_s = '<script language="javascript">document.write(screen.width)</script>'; 
$width = (int)$width_s; 

var_dump($width); 
+2

Essayez-vous de simplement retourner la largeur de l'écran? À l'heure actuelle, vous essayez de transformer une chaîne contenant un texte entier en un nombre entier dans l'exemple que vous avez donné ... qu'attendez-vous de la sortie entière? – DaOgre

+0

Comment pouvez-vous obtenir 1024 impression $ width_s ??? Vous ne pouvez pas mélanger le code côté serveur et le code côté client de cette façon. – gd1

+1

'(int)" tout ce qui ne commence pas par un nombre "' est toujours évalué à '0'. Qu'est-ce que vous essayez réellement d'accomplir? Obtenir le 'screen.width' ?? –

Répondre

10

PHP est exécuté côté serveur, tandis que javascript est exécuté côté client; si vous voulez une valeur de javascript pour être envoyé à PHP, vous devez rédiger une sorte de script pour transmettre les données, via AJAX, GET, etc.

modifier: données base de données =

0

voir:

http://www.php.net/intval

Le problème avec votre code est que son une chaîne de caractères qui ne sont pas des nombres, donc à int est impossible. Intval renvoie uniquement la partie numérique d'une chaîne donnée.

1

Vous pouvez utiliser la fonction php intval ($ string). En savoir plus here.