Dat is iets te kort door de bocht..oisyn schreef op zondag 30 oktober 2011 @ 19:14:
[...]
Klopt. En dus ook als het "10" of "10 apen" of 10.0 is. Het resultaat is dat $alt in die gevallen altijd een int is.
Even lekker copy-pasten zodat we snel klaar zijn:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| <?php $alt = "10 kleine tuinkabouters"; (($alt == 10) ? $alt = 10 : $alt = $alt); var_dump($alt); // Hier komt int(10) uit $alt = "woef"; (($alt == 10) ? $alt = 10 : $alt = $alt); var_dump($alt); // Hier komt string(4) "woef" uit $alt = array(); (($alt == 10) ? $alt = 10 : $alt = $alt); var_dump($alt); // Hier komt array(0) { } uit ?> |
$alt wordt dus alleen naar int geconverteerd als het (na conversie) de waarde 10 heeft.
Maar bij elke andere waarde blijft het gewoon wat het was, inclusief type!
Het is dus niet zo dat $alt altijd $alt blijft (en de regel onnodig is), maar dat er een type-conversion plaatsvindt wanneer er het getal 10 in $alt zit, of dat nou al een int was of een string.