2015-01-07 22:13:09 +00:00
|
|
|
--TEST--
|
|
|
|
Error cases of compound shift assignment on strings
|
|
|
|
--FILE--
|
|
|
|
<?php
|
|
|
|
|
|
|
|
$n = "65";
|
|
|
|
$n <<= $n;
|
|
|
|
var_dump($n);
|
|
|
|
|
|
|
|
$n = "-1";
|
2015-04-06 11:30:05 +00:00
|
|
|
try {
|
|
|
|
$n <<= $n;
|
|
|
|
var_dump($n);
|
2015-07-03 03:18:53 +00:00
|
|
|
} catch (ArithmeticError $e) {
|
2015-04-06 11:30:05 +00:00
|
|
|
echo "\nException: " . $e->getMessage() . "\n";
|
|
|
|
}
|
2015-01-07 22:13:09 +00:00
|
|
|
|
|
|
|
$n = "65";
|
|
|
|
$n >>= $n;
|
|
|
|
var_dump($n);
|
|
|
|
|
|
|
|
$n = "-1";
|
2015-04-06 11:30:05 +00:00
|
|
|
try {
|
|
|
|
$n >>= $n;
|
|
|
|
var_dump($n);
|
2015-07-03 03:18:53 +00:00
|
|
|
} catch (ArithmeticError $e) {
|
2015-04-06 11:30:05 +00:00
|
|
|
echo "\nException: " . $e->getMessage() . "\n";
|
|
|
|
}
|
2015-01-07 22:13:09 +00:00
|
|
|
|
2015-01-07 22:21:12 +00:00
|
|
|
$n = "0";
|
2015-04-06 11:30:05 +00:00
|
|
|
try{
|
|
|
|
$n %= $n;
|
|
|
|
var_dump($n);
|
2015-07-03 03:18:53 +00:00
|
|
|
} catch (DivisionByZeroError $e) {
|
2015-04-06 11:30:05 +00:00
|
|
|
echo "\nException: " . $e->getMessage() . "\n";
|
|
|
|
}
|
2015-01-07 22:21:12 +00:00
|
|
|
|
|
|
|
$n = "-1";
|
|
|
|
$n %= $n;
|
|
|
|
var_dump($n);
|
2015-01-07 22:13:09 +00:00
|
|
|
--EXPECTF--
|
|
|
|
int(0)
|
|
|
|
|
2015-04-06 11:30:05 +00:00
|
|
|
Exception: Bit shift by negative number
|
2015-01-07 22:13:09 +00:00
|
|
|
int(0)
|
|
|
|
|
2015-04-06 11:30:05 +00:00
|
|
|
Exception: Bit shift by negative number
|
2015-01-07 22:21:12 +00:00
|
|
|
|
2015-07-01 23:54:08 +00:00
|
|
|
Exception: Modulo by zero
|
2015-01-07 22:21:12 +00:00
|
|
|
int(0)
|