3 ms·
Hip developers are not allowed to acknowledge the existence of ... that language. Uttering its name is forbidden.
by thaumaturgy 13y ago
Hip developers are not allowed to acknowledge the existence of ... that language. Uttering its name is forbidden.
- hdevalence 13y ago<?php $foo = "0wz"; $foo++; $foo++; echo "PHP goes to $foo"; ?>
- RossM 13y agoResults in: http://3v4l.org/koVpq http://3v4l.org/koVpq Reasoning: 0wz++ = 0xa (converted from hex to dec) = 10++ = 11 Not sure why 0wz++ = 0xa, but if you increment strings I'd expect oddities (or some sort of ascii increment).
- thaumaturgy 13y agoOh, bravo. That is nice. It took me a moment to figure out. For others: PHP allows you to increment strings, and if you try to do that, it follows Perl's habits (http://perldoc.perl.org/perlop.html#Auto-increment-and-Auto-decrement http://perldoc.perl.org/perlop.html#Auto-increment-and-Auto-...): "If, however, the variable has been used in only string contexts since it was set, and has a value that is not the empty string and matches the pattern /^[a-zA-Z][0-9]\z/ , the increment is done as a string, preserving each character within its range, with carry..." So "0wz"++ becomes "0xa", "0xa"++ becomes "the hexadecimal representation of 10, plus one". I learned something new today.