2009-07-01 6 views
-3

Que va imprimer le code suivant? impression '' quatre '' 200;Qu'est-ce que l'impression suivante?

+8

Pourquoi ne pas simplement l'essayer? – balpha

+2

Il nous met à l'épreuve pour voir à quel point nous sommes compétents avant de poser sa vraie question. –

+0

Pourquoi ne pas lire les autres questions et réponses? Il y a une tonne de connaissances ici. –

Répondre

6

Oui, elle écrirait zéro « 0 » en effet. La chose est PHP va taper cast la valeur de la chaîne à un entier. Cela entraînerait 0 (zéro); et si vous multipliez une valeur par zéro, vous obtiendrez zéro.

Bonne question Roland!

+0

Cela explique ma réponse, merci Conrad ;-) – Roland

7

Il imprime « 0 » alt text http://mywebprogrammer.com/images/soAnswer.PNG

Le résultat est à gauche de la deuxième ligne. Pour voir pourquoi vous pouvez effectuer un test rapide echo (int)'four';, nous allons tenter de convertir explicitement la chaîne 'four' en un entier qui, puisqu'il ne s'agit pas d'un nombre entier, échouera techniquement, entraînant un 0 qui est bien sûr égal à à FAUX. Si vous remplacez le '4' par '4', toujours une chaîne, vous pouvez le convertir correctement en un entier et il produira le résultat de 800 dans le cas de votre exemple ("print '4' * 200").

4

Étant donné que la chaîne ne peut pas être casté à un certain nombre, la multiplication par une chaîne entraînera 0.

+0

Les chaînes numériques peuvent être castés à l'entier qu'ils représentent bien. –

Questions connexes