diff --git a/Zend/tests/operators/_helper.inc b/Zend/tests/operators/_helper.inc new file mode 100644 index 000000000000..3187d4c1cdf8 --- /dev/null +++ b/Zend/tests/operators/_helper.inc @@ -0,0 +1,114 @@ + 1, 'bar' => 2], + ['bar' => 1, 'foo' => 2], + (object)[], + (object)['foo' => 1, 'bar' => 2], + (object)['bar' => 1, 'foo' => 2], + new DateTime(), + fopen('php://temp', 'r+'), + null, + ]; +} + +function var_out($value) { + if (is_resource($value)) { + return 'resource'; + } + if ($value instanceof DateTime) { + return 'DateTime'; + } + if ($value instanceof stdClass) { + $pre = '(object) '; + $value = (array)$value; + } + return ($pre ?? '') . preg_replace(['/\n\s*/', '/, \)/'], [' ', ' )'], var_export($value, true)); +} + +function var_out_base64($value) { + if (is_string($value)) { + return 'base64:' . base64_encode($value); + } + return var_out($value); +}; + +function error_to_exception($errno, $errstr, $errfile, $errline) { + if ($errno === E_RECOVERABLE_ERROR) { + throw new ErrorException($errstr, 0, $errno); + } + return false; +} + +function err_out($err) { + $errTypes = [E_RECOVERABLE_ERROR => 'Catchable error', E_WARNING => 'Warning', E_NOTICE => 'Notice']; + return $err !== null ? ' - ' . $errTypes[$err['type']] . ' ' . $err['message'] : ''; +} + +function one_operand($statement, $fn, $a, $var_out = 'var_out') { + error_clear_last(); + echo strtr($statement, ['$a' => var_out($a)]); + + try { + $res = @$fn($a); + } catch (ErrorException $e) { + echo err_out(['type' => $e->getSeverity(), 'message' => $e->getMessage()]), "\n"; + } catch (Throwable $e) { + echo ' - ', get_class($e), ' ', $e->getMessage(), "\n"; + return; + } + + $err = error_get_last(); + echo ' = ', $var_out($res, $a), err_out($err), "\n"; +} + +function test_one_operand($statement, $fn, $var_out = 'var_out') { + $values = get_test_values(); + + foreach ($values as $a) { + one_operand($statement, $fn, $a, $var_out); + } +} + +function two_operands($statement, $fn, $a, $b, $var_out = 'var_out') { + error_clear_last(); + echo strtr($statement, ['$a' => var_out($a), '$b' => var_out($b)]); + + try { + $res = @$fn($a, $b); + } catch (ErrorException $e) { + echo err_out(['type' => $e->getSeverity(), 'message' => $e->getMessage()]), "\n"; + } catch (Throwable $e) { + echo ' - ', get_class($e), ' ', $e->getMessage(), "\n"; + return; + } + + $err = error_get_last(); + echo ' = ', $var_out($res, $a, $b), err_out($err), "\n"; +} + +function test_two_operands($statement, $fn, $var_out = 'var_out') { + $values = get_test_values(); + + foreach ($values as $a) { + foreach ($values as $b) { + two_operands($statement, $fn, $a, $b, $var_out); + } + } +} diff --git a/Zend/tests/operators/arithmetic/addition.phpt b/Zend/tests/operators/arithmetic/addition.phpt new file mode 100644 index 000000000000..3f7c8b0aca68 --- /dev/null +++ b/Zend/tests/operators/arithmetic/addition.phpt @@ -0,0 +1,542 @@ +--TEST-- +addition '+' operator +--INI-- +precision=14 +--FILE-- + 1 ) - Error Unsupported operand types +false + array ( 0 => 1, 1 => 100 ) - Error Unsupported operand types +false + array ( 'foo' => 1, 'bar' => 2 ) - Error Unsupported operand types +false + array ( 'bar' => 1, 'foo' => 2 ) - Error Unsupported operand types +false + (object) array ( ) = 1 - Notice Object of class stdClass could not be converted to number +false + (object) array ( 'foo' => 1, 'bar' => 2 ) = 1 - Notice Object of class stdClass could not be converted to number +false + (object) array ( 'bar' => 1, 'foo' => 2 ) = 1 - Notice Object of class stdClass could not be converted to number +false + DateTime = 1 - Notice Object of class DateTime could not be converted to number +false + resource = 6 +false + NULL = 0 +true + false = 1 +true + true = 2 +true + 0 = 1 +true + 10 = 11 +true + 0.0 = 1.0 +true + 10.0 = 11.0 +true + 3.14 = 4.140000000000001 +true + '0' = 1 +true + '10' = 11 +true + '010' = 11 +true + '10 elephants' = 11 - Notice A non well formed numeric value encountered +true + 'foo' = 1 - Warning A non-numeric value encountered +true + array ( ) - Error Unsupported operand types +true + array ( 0 => 1 ) - Error Unsupported operand types +true + array ( 0 => 1, 1 => 100 ) - Error Unsupported operand types +true + array ( 'foo' => 1, 'bar' => 2 ) - Error Unsupported operand types +true + array ( 'bar' => 1, 'foo' => 2 ) - Error Unsupported operand types +true + (object) array ( ) = 2 - Notice Object of class stdClass could not be converted to number +true + (object) array ( 'foo' => 1, 'bar' => 2 ) = 2 - Notice Object of class stdClass could not be converted to number +true + (object) array ( 'bar' => 1, 'foo' => 2 ) = 2 - Notice Object of class stdClass could not be converted to number +true + DateTime = 2 - Notice Object of class DateTime could not be converted to number +true + resource = 7 +true + NULL = 1 +0 + false = 0 +0 + true = 1 +0 + 0 = 0 +0 + 10 = 10 +0 + 0.0 = 0.0 +0 + 10.0 = 10.0 +0 + 3.14 = 3.14 +0 + '0' = 0 +0 + '10' = 10 +0 + '010' = 10 +0 + '10 elephants' = 10 - Notice A non well formed numeric value encountered +0 + 'foo' = 0 - Warning A non-numeric value encountered +0 + array ( ) - Error Unsupported operand types +0 + array ( 0 => 1 ) - Error Unsupported operand types +0 + array ( 0 => 1, 1 => 100 ) - Error Unsupported operand types +0 + array ( 'foo' => 1, 'bar' => 2 ) - Error Unsupported operand types +0 + array ( 'bar' => 1, 'foo' => 2 ) - Error Unsupported operand types +0 + (object) array ( ) = 1 - Notice Object of class stdClass could not be converted to number +0 + (object) array ( 'foo' => 1, 'bar' => 2 ) = 1 - Notice Object of class stdClass could not be converted to number +0 + (object) array ( 'bar' => 1, 'foo' => 2 ) = 1 - Notice Object of class stdClass could not be converted to number +0 + DateTime = 1 - Notice Object of class DateTime could not be converted to number +0 + resource = 6 +0 + NULL = 0 +10 + false = 10 +10 + true = 11 +10 + 0 = 10 +10 + 10 = 20 +10 + 0.0 = 10.0 +10 + 10.0 = 20.0 +10 + 3.14 = 13.14 +10 + '0' = 10 +10 + '10' = 20 +10 + '010' = 20 +10 + '10 elephants' = 20 - Notice A non well formed numeric value encountered +10 + 'foo' = 10 - Warning A non-numeric value encountered +10 + array ( ) - Error Unsupported operand types +10 + array ( 0 => 1 ) - Error Unsupported operand types +10 + array ( 0 => 1, 1 => 100 ) - Error Unsupported operand types +10 + array ( 'foo' => 1, 'bar' => 2 ) - Error Unsupported operand types +10 + array ( 'bar' => 1, 'foo' => 2 ) - Error Unsupported operand types +10 + (object) array ( ) = 11 - Notice Object of class stdClass could not be converted to number +10 + (object) array ( 'foo' => 1, 'bar' => 2 ) = 11 - Notice Object of class stdClass could not be converted to number +10 + (object) array ( 'bar' => 1, 'foo' => 2 ) = 11 - Notice Object of class stdClass could not be converted to number +10 + DateTime = 11 - Notice Object of class DateTime could not be converted to number +10 + resource = 16 +10 + NULL = 10 +0.0 + false = 0.0 +0.0 + true = 1.0 +0.0 + 0 = 0.0 +0.0 + 10 = 10.0 +0.0 + 0.0 = 0.0 +0.0 + 10.0 = 10.0 +0.0 + 3.14 = 3.14 +0.0 + '0' = 0.0 +0.0 + '10' = 10.0 +0.0 + '010' = 10.0 +0.0 + '10 elephants' = 10.0 - Notice A non well formed numeric value encountered +0.0 + 'foo' = 0.0 - Warning A non-numeric value encountered +0.0 + array ( ) - Error Unsupported operand types +0.0 + array ( 0 => 1 ) - Error Unsupported operand types +0.0 + array ( 0 => 1, 1 => 100 ) - Error Unsupported operand types +0.0 + array ( 'foo' => 1, 'bar' => 2 ) - Error Unsupported operand types +0.0 + array ( 'bar' => 1, 'foo' => 2 ) - Error Unsupported operand types +0.0 + (object) array ( ) = 1.0 - Notice Object of class stdClass could not be converted to number +0.0 + (object) array ( 'foo' => 1, 'bar' => 2 ) = 1.0 - Notice Object of class stdClass could not be converted to number +0.0 + (object) array ( 'bar' => 1, 'foo' => 2 ) = 1.0 - Notice Object of class stdClass could not be converted to number +0.0 + DateTime = 1.0 - Notice Object of class DateTime could not be converted to number +0.0 + resource = 6.0 +0.0 + NULL = 0.0 +10.0 + false = 10.0 +10.0 + true = 11.0 +10.0 + 0 = 10.0 +10.0 + 10 = 20.0 +10.0 + 0.0 = 10.0 +10.0 + 10.0 = 20.0 +10.0 + 3.14 = 13.14 +10.0 + '0' = 10.0 +10.0 + '10' = 20.0 +10.0 + '010' = 20.0 +10.0 + '10 elephants' = 20.0 - Notice A non well formed numeric value encountered +10.0 + 'foo' = 10.0 - Warning A non-numeric value encountered +10.0 + array ( ) - Error Unsupported operand types +10.0 + array ( 0 => 1 ) - Error Unsupported operand types +10.0 + array ( 0 => 1, 1 => 100 ) - Error Unsupported operand types +10.0 + array ( 'foo' => 1, 'bar' => 2 ) - Error Unsupported operand types +10.0 + array ( 'bar' => 1, 'foo' => 2 ) - Error Unsupported operand types +10.0 + (object) array ( ) = 11.0 - Notice Object of class stdClass could not be converted to number +10.0 + (object) array ( 'foo' => 1, 'bar' => 2 ) = 11.0 - Notice Object of class stdClass could not be converted to number +10.0 + (object) array ( 'bar' => 1, 'foo' => 2 ) = 11.0 - Notice Object of class stdClass could not be converted to number +10.0 + DateTime = 11.0 - Notice Object of class DateTime could not be converted to number +10.0 + resource = 16.0 +10.0 + NULL = 10.0 +3.14 + false = 3.14 +3.14 + true = 4.140000000000001 +3.14 + 0 = 3.14 +3.14 + 10 = 13.14 +3.14 + 0.0 = 3.14 +3.14 + 10.0 = 13.14 +3.14 + 3.14 = 6.28 +3.14 + '0' = 3.14 +3.14 + '10' = 13.14 +3.14 + '010' = 13.14 +3.14 + '10 elephants' = 13.14 - Notice A non well formed numeric value encountered +3.14 + 'foo' = 3.14 - Warning A non-numeric value encountered +3.14 + array ( ) - Error Unsupported operand types +3.14 + array ( 0 => 1 ) - Error Unsupported operand types +3.14 + array ( 0 => 1, 1 => 100 ) - Error Unsupported operand types +3.14 + array ( 'foo' => 1, 'bar' => 2 ) - Error Unsupported operand types +3.14 + array ( 'bar' => 1, 'foo' => 2 ) - Error Unsupported operand types +3.14 + (object) array ( ) = 4.140000000000001 - Notice Object of class stdClass could not be converted to number +3.14 + (object) array ( 'foo' => 1, 'bar' => 2 ) = 4.140000000000001 - Notice Object of class stdClass could not be converted to number +3.14 + (object) array ( 'bar' => 1, 'foo' => 2 ) = 4.140000000000001 - Notice Object of class stdClass could not be converted to number +3.14 + DateTime = 4.140000000000001 - Notice Object of class DateTime could not be converted to number +3.14 + resource = 9.14 +3.14 + NULL = 3.14 +'0' + false = 0 +'0' + true = 1 +'0' + 0 = 0 +'0' + 10 = 10 +'0' + 0.0 = 0.0 +'0' + 10.0 = 10.0 +'0' + 3.14 = 3.14 +'0' + '0' = 0 +'0' + '10' = 10 +'0' + '010' = 10 +'0' + '10 elephants' = 10 - Notice A non well formed numeric value encountered +'0' + 'foo' = 0 - Warning A non-numeric value encountered +'0' + array ( ) - Error Unsupported operand types +'0' + array ( 0 => 1 ) - Error Unsupported operand types +'0' + array ( 0 => 1, 1 => 100 ) - Error Unsupported operand types +'0' + array ( 'foo' => 1, 'bar' => 2 ) - Error Unsupported operand types +'0' + array ( 'bar' => 1, 'foo' => 2 ) - Error Unsupported operand types +'0' + (object) array ( ) = 1 - Notice Object of class stdClass could not be converted to number +'0' + (object) array ( 'foo' => 1, 'bar' => 2 ) = 1 - Notice Object of class stdClass could not be converted to number +'0' + (object) array ( 'bar' => 1, 'foo' => 2 ) = 1 - Notice Object of class stdClass could not be converted to number +'0' + DateTime = 1 - Notice Object of class DateTime could not be converted to number +'0' + resource = 6 +'0' + NULL = 0 +'10' + false = 10 +'10' + true = 11 +'10' + 0 = 10 +'10' + 10 = 20 +'10' + 0.0 = 10.0 +'10' + 10.0 = 20.0 +'10' + 3.14 = 13.14 +'10' + '0' = 10 +'10' + '10' = 20 +'10' + '010' = 20 +'10' + '10 elephants' = 20 - Notice A non well formed numeric value encountered +'10' + 'foo' = 10 - Warning A non-numeric value encountered +'10' + array ( ) - Error Unsupported operand types +'10' + array ( 0 => 1 ) - Error Unsupported operand types +'10' + array ( 0 => 1, 1 => 100 ) - Error Unsupported operand types +'10' + array ( 'foo' => 1, 'bar' => 2 ) - Error Unsupported operand types +'10' + array ( 'bar' => 1, 'foo' => 2 ) - Error Unsupported operand types +'10' + (object) array ( ) = 11 - Notice Object of class stdClass could not be converted to number +'10' + (object) array ( 'foo' => 1, 'bar' => 2 ) = 11 - Notice Object of class stdClass could not be converted to number +'10' + (object) array ( 'bar' => 1, 'foo' => 2 ) = 11 - Notice Object of class stdClass could not be converted to number +'10' + DateTime = 11 - Notice Object of class DateTime could not be converted to number +'10' + resource = 16 +'10' + NULL = 10 +'010' + false = 10 +'010' + true = 11 +'010' + 0 = 10 +'010' + 10 = 20 +'010' + 0.0 = 10.0 +'010' + 10.0 = 20.0 +'010' + 3.14 = 13.14 +'010' + '0' = 10 +'010' + '10' = 20 +'010' + '010' = 20 +'010' + '10 elephants' = 20 - Notice A non well formed numeric value encountered +'010' + 'foo' = 10 - Warning A non-numeric value encountered +'010' + array ( ) - Error Unsupported operand types +'010' + array ( 0 => 1 ) - Error Unsupported operand types +'010' + array ( 0 => 1, 1 => 100 ) - Error Unsupported operand types +'010' + array ( 'foo' => 1, 'bar' => 2 ) - Error Unsupported operand types +'010' + array ( 'bar' => 1, 'foo' => 2 ) - Error Unsupported operand types +'010' + (object) array ( ) = 11 - Notice Object of class stdClass could not be converted to number +'010' + (object) array ( 'foo' => 1, 'bar' => 2 ) = 11 - Notice Object of class stdClass could not be converted to number +'010' + (object) array ( 'bar' => 1, 'foo' => 2 ) = 11 - Notice Object of class stdClass could not be converted to number +'010' + DateTime = 11 - Notice Object of class DateTime could not be converted to number +'010' + resource = 16 +'010' + NULL = 10 +'10 elephants' + false = 10 - Notice A non well formed numeric value encountered +'10 elephants' + true = 11 - Notice A non well formed numeric value encountered +'10 elephants' + 0 = 10 - Notice A non well formed numeric value encountered +'10 elephants' + 10 = 20 - Notice A non well formed numeric value encountered +'10 elephants' + 0.0 = 10.0 - Notice A non well formed numeric value encountered +'10 elephants' + 10.0 = 20.0 - Notice A non well formed numeric value encountered +'10 elephants' + 3.14 = 13.14 - Notice A non well formed numeric value encountered +'10 elephants' + '0' = 10 - Notice A non well formed numeric value encountered +'10 elephants' + '10' = 20 - Notice A non well formed numeric value encountered +'10 elephants' + '010' = 20 - Notice A non well formed numeric value encountered +'10 elephants' + '10 elephants' = 20 - Notice A non well formed numeric value encountered +'10 elephants' + 'foo' = 10 - Warning A non-numeric value encountered +'10 elephants' + array ( ) - Error Unsupported operand types +'10 elephants' + array ( 0 => 1 ) - Error Unsupported operand types +'10 elephants' + array ( 0 => 1, 1 => 100 ) - Error Unsupported operand types +'10 elephants' + array ( 'foo' => 1, 'bar' => 2 ) - Error Unsupported operand types +'10 elephants' + array ( 'bar' => 1, 'foo' => 2 ) - Error Unsupported operand types +'10 elephants' + (object) array ( ) = 11 - Notice Object of class stdClass could not be converted to number +'10 elephants' + (object) array ( 'foo' => 1, 'bar' => 2 ) = 11 - Notice Object of class stdClass could not be converted to number +'10 elephants' + (object) array ( 'bar' => 1, 'foo' => 2 ) = 11 - Notice Object of class stdClass could not be converted to number +'10 elephants' + DateTime = 11 - Notice Object of class DateTime could not be converted to number +'10 elephants' + resource = 16 - Notice A non well formed numeric value encountered +'10 elephants' + NULL = 10 - Notice A non well formed numeric value encountered +'foo' + false = 0 - Warning A non-numeric value encountered +'foo' + true = 1 - Warning A non-numeric value encountered +'foo' + 0 = 0 - Warning A non-numeric value encountered +'foo' + 10 = 10 - Warning A non-numeric value encountered +'foo' + 0.0 = 0.0 - Warning A non-numeric value encountered +'foo' + 10.0 = 10.0 - Warning A non-numeric value encountered +'foo' + 3.14 = 3.14 - Warning A non-numeric value encountered +'foo' + '0' = 0 - Warning A non-numeric value encountered +'foo' + '10' = 10 - Warning A non-numeric value encountered +'foo' + '010' = 10 - Warning A non-numeric value encountered +'foo' + '10 elephants' = 10 - Notice A non well formed numeric value encountered +'foo' + 'foo' = 0 - Warning A non-numeric value encountered +'foo' + array ( ) - Error Unsupported operand types +'foo' + array ( 0 => 1 ) - Error Unsupported operand types +'foo' + array ( 0 => 1, 1 => 100 ) - Error Unsupported operand types +'foo' + array ( 'foo' => 1, 'bar' => 2 ) - Error Unsupported operand types +'foo' + array ( 'bar' => 1, 'foo' => 2 ) - Error Unsupported operand types +'foo' + (object) array ( ) = 1 - Notice Object of class stdClass could not be converted to number +'foo' + (object) array ( 'foo' => 1, 'bar' => 2 ) = 1 - Notice Object of class stdClass could not be converted to number +'foo' + (object) array ( 'bar' => 1, 'foo' => 2 ) = 1 - Notice Object of class stdClass could not be converted to number +'foo' + DateTime = 1 - Notice Object of class DateTime could not be converted to number +'foo' + resource = 6 - Warning A non-numeric value encountered +'foo' + NULL = 0 - Warning A non-numeric value encountered +array ( ) + false - Error Unsupported operand types +array ( ) + true - Error Unsupported operand types +array ( ) + 0 - Error Unsupported operand types +array ( ) + 10 - Error Unsupported operand types +array ( ) + 0.0 - Error Unsupported operand types +array ( ) + 10.0 - Error Unsupported operand types +array ( ) + 3.14 - Error Unsupported operand types +array ( ) + '0' - Error Unsupported operand types +array ( ) + '10' - Error Unsupported operand types +array ( ) + '010' - Error Unsupported operand types +array ( ) + '10 elephants' - Error Unsupported operand types +array ( ) + 'foo' - Error Unsupported operand types +array ( ) + array ( ) = array ( ) +array ( ) + array ( 0 => 1 ) = array ( 0 => 1 ) +array ( ) + array ( 0 => 1, 1 => 100 ) = array ( 0 => 1, 1 => 100 ) +array ( ) + array ( 'foo' => 1, 'bar' => 2 ) = array ( 'foo' => 1, 'bar' => 2 ) +array ( ) + array ( 'bar' => 1, 'foo' => 2 ) = array ( 'bar' => 1, 'foo' => 2 ) +array ( ) + (object) array ( ) - Error Unsupported operand types +array ( ) + (object) array ( 'foo' => 1, 'bar' => 2 ) - Error Unsupported operand types +array ( ) + (object) array ( 'bar' => 1, 'foo' => 2 ) - Error Unsupported operand types +array ( ) + DateTime - Error Unsupported operand types +array ( ) + resource - Error Unsupported operand types +array ( ) + NULL - Error Unsupported operand types +array ( 0 => 1 ) + false - Error Unsupported operand types +array ( 0 => 1 ) + true - Error Unsupported operand types +array ( 0 => 1 ) + 0 - Error Unsupported operand types +array ( 0 => 1 ) + 10 - Error Unsupported operand types +array ( 0 => 1 ) + 0.0 - Error Unsupported operand types +array ( 0 => 1 ) + 10.0 - Error Unsupported operand types +array ( 0 => 1 ) + 3.14 - Error Unsupported operand types +array ( 0 => 1 ) + '0' - Error Unsupported operand types +array ( 0 => 1 ) + '10' - Error Unsupported operand types +array ( 0 => 1 ) + '010' - Error Unsupported operand types +array ( 0 => 1 ) + '10 elephants' - Error Unsupported operand types +array ( 0 => 1 ) + 'foo' - Error Unsupported operand types +array ( 0 => 1 ) + array ( ) = array ( 0 => 1 ) +array ( 0 => 1 ) + array ( 0 => 1 ) = array ( 0 => 1 ) +array ( 0 => 1 ) + array ( 0 => 1, 1 => 100 ) = array ( 0 => 1, 1 => 100 ) +array ( 0 => 1 ) + array ( 'foo' => 1, 'bar' => 2 ) = array ( 0 => 1, 'foo' => 1, 'bar' => 2 ) +array ( 0 => 1 ) + array ( 'bar' => 1, 'foo' => 2 ) = array ( 0 => 1, 'bar' => 1, 'foo' => 2 ) +array ( 0 => 1 ) + (object) array ( ) - Error Unsupported operand types +array ( 0 => 1 ) + (object) array ( 'foo' => 1, 'bar' => 2 ) - Error Unsupported operand types +array ( 0 => 1 ) + (object) array ( 'bar' => 1, 'foo' => 2 ) - Error Unsupported operand types +array ( 0 => 1 ) + DateTime - Error Unsupported operand types +array ( 0 => 1 ) + resource - Error Unsupported operand types +array ( 0 => 1 ) + NULL - Error Unsupported operand types +array ( 0 => 1, 1 => 100 ) + false - Error Unsupported operand types +array ( 0 => 1, 1 => 100 ) + true - Error Unsupported operand types +array ( 0 => 1, 1 => 100 ) + 0 - Error Unsupported operand types +array ( 0 => 1, 1 => 100 ) + 10 - Error Unsupported operand types +array ( 0 => 1, 1 => 100 ) + 0.0 - Error Unsupported operand types +array ( 0 => 1, 1 => 100 ) + 10.0 - Error Unsupported operand types +array ( 0 => 1, 1 => 100 ) + 3.14 - Error Unsupported operand types +array ( 0 => 1, 1 => 100 ) + '0' - Error Unsupported operand types +array ( 0 => 1, 1 => 100 ) + '10' - Error Unsupported operand types +array ( 0 => 1, 1 => 100 ) + '010' - Error Unsupported operand types +array ( 0 => 1, 1 => 100 ) + '10 elephants' - Error Unsupported operand types +array ( 0 => 1, 1 => 100 ) + 'foo' - Error Unsupported operand types +array ( 0 => 1, 1 => 100 ) + array ( ) = array ( 0 => 1, 1 => 100 ) +array ( 0 => 1, 1 => 100 ) + array ( 0 => 1 ) = array ( 0 => 1, 1 => 100 ) +array ( 0 => 1, 1 => 100 ) + array ( 0 => 1, 1 => 100 ) = array ( 0 => 1, 1 => 100 ) +array ( 0 => 1, 1 => 100 ) + array ( 'foo' => 1, 'bar' => 2 ) = array ( 0 => 1, 1 => 100, 'foo' => 1, 'bar' => 2 ) +array ( 0 => 1, 1 => 100 ) + array ( 'bar' => 1, 'foo' => 2 ) = array ( 0 => 1, 1 => 100, 'bar' => 1, 'foo' => 2 ) +array ( 0 => 1, 1 => 100 ) + (object) array ( ) - Error Unsupported operand types +array ( 0 => 1, 1 => 100 ) + (object) array ( 'foo' => 1, 'bar' => 2 ) - Error Unsupported operand types +array ( 0 => 1, 1 => 100 ) + (object) array ( 'bar' => 1, 'foo' => 2 ) - Error Unsupported operand types +array ( 0 => 1, 1 => 100 ) + DateTime - Error Unsupported operand types +array ( 0 => 1, 1 => 100 ) + resource - Error Unsupported operand types +array ( 0 => 1, 1 => 100 ) + NULL - Error Unsupported operand types +array ( 'foo' => 1, 'bar' => 2 ) + false - Error Unsupported operand types +array ( 'foo' => 1, 'bar' => 2 ) + true - Error Unsupported operand types +array ( 'foo' => 1, 'bar' => 2 ) + 0 - Error Unsupported operand types +array ( 'foo' => 1, 'bar' => 2 ) + 10 - Error Unsupported operand types +array ( 'foo' => 1, 'bar' => 2 ) + 0.0 - Error Unsupported operand types +array ( 'foo' => 1, 'bar' => 2 ) + 10.0 - Error Unsupported operand types +array ( 'foo' => 1, 'bar' => 2 ) + 3.14 - Error Unsupported operand types +array ( 'foo' => 1, 'bar' => 2 ) + '0' - Error Unsupported operand types +array ( 'foo' => 1, 'bar' => 2 ) + '10' - Error Unsupported operand types +array ( 'foo' => 1, 'bar' => 2 ) + '010' - Error Unsupported operand types +array ( 'foo' => 1, 'bar' => 2 ) + '10 elephants' - Error Unsupported operand types +array ( 'foo' => 1, 'bar' => 2 ) + 'foo' - Error Unsupported operand types +array ( 'foo' => 1, 'bar' => 2 ) + array ( ) = array ( 'foo' => 1, 'bar' => 2 ) +array ( 'foo' => 1, 'bar' => 2 ) + array ( 0 => 1 ) = array ( 'foo' => 1, 'bar' => 2, 0 => 1 ) +array ( 'foo' => 1, 'bar' => 2 ) + array ( 0 => 1, 1 => 100 ) = array ( 'foo' => 1, 'bar' => 2, 0 => 1, 1 => 100 ) +array ( 'foo' => 1, 'bar' => 2 ) + array ( 'foo' => 1, 'bar' => 2 ) = array ( 'foo' => 1, 'bar' => 2 ) +array ( 'foo' => 1, 'bar' => 2 ) + array ( 'bar' => 1, 'foo' => 2 ) = array ( 'foo' => 1, 'bar' => 2 ) +array ( 'foo' => 1, 'bar' => 2 ) + (object) array ( ) - Error Unsupported operand types +array ( 'foo' => 1, 'bar' => 2 ) + (object) array ( 'foo' => 1, 'bar' => 2 ) - Error Unsupported operand types +array ( 'foo' => 1, 'bar' => 2 ) + (object) array ( 'bar' => 1, 'foo' => 2 ) - Error Unsupported operand types +array ( 'foo' => 1, 'bar' => 2 ) + DateTime - Error Unsupported operand types +array ( 'foo' => 1, 'bar' => 2 ) + resource - Error Unsupported operand types +array ( 'foo' => 1, 'bar' => 2 ) + NULL - Error Unsupported operand types +array ( 'bar' => 1, 'foo' => 2 ) + false - Error Unsupported operand types +array ( 'bar' => 1, 'foo' => 2 ) + true - Error Unsupported operand types +array ( 'bar' => 1, 'foo' => 2 ) + 0 - Error Unsupported operand types +array ( 'bar' => 1, 'foo' => 2 ) + 10 - Error Unsupported operand types +array ( 'bar' => 1, 'foo' => 2 ) + 0.0 - Error Unsupported operand types +array ( 'bar' => 1, 'foo' => 2 ) + 10.0 - Error Unsupported operand types +array ( 'bar' => 1, 'foo' => 2 ) + 3.14 - Error Unsupported operand types +array ( 'bar' => 1, 'foo' => 2 ) + '0' - Error Unsupported operand types +array ( 'bar' => 1, 'foo' => 2 ) + '10' - Error Unsupported operand types +array ( 'bar' => 1, 'foo' => 2 ) + '010' - Error Unsupported operand types +array ( 'bar' => 1, 'foo' => 2 ) + '10 elephants' - Error Unsupported operand types +array ( 'bar' => 1, 'foo' => 2 ) + 'foo' - Error Unsupported operand types +array ( 'bar' => 1, 'foo' => 2 ) + array ( ) = array ( 'bar' => 1, 'foo' => 2 ) +array ( 'bar' => 1, 'foo' => 2 ) + array ( 0 => 1 ) = array ( 'bar' => 1, 'foo' => 2, 0 => 1 ) +array ( 'bar' => 1, 'foo' => 2 ) + array ( 0 => 1, 1 => 100 ) = array ( 'bar' => 1, 'foo' => 2, 0 => 1, 1 => 100 ) +array ( 'bar' => 1, 'foo' => 2 ) + array ( 'foo' => 1, 'bar' => 2 ) = array ( 'bar' => 1, 'foo' => 2 ) +array ( 'bar' => 1, 'foo' => 2 ) + array ( 'bar' => 1, 'foo' => 2 ) = array ( 'bar' => 1, 'foo' => 2 ) +array ( 'bar' => 1, 'foo' => 2 ) + (object) array ( ) - Error Unsupported operand types +array ( 'bar' => 1, 'foo' => 2 ) + (object) array ( 'foo' => 1, 'bar' => 2 ) - Error Unsupported operand types +array ( 'bar' => 1, 'foo' => 2 ) + (object) array ( 'bar' => 1, 'foo' => 2 ) - Error Unsupported operand types +array ( 'bar' => 1, 'foo' => 2 ) + DateTime - Error Unsupported operand types +array ( 'bar' => 1, 'foo' => 2 ) + resource - Error Unsupported operand types +array ( 'bar' => 1, 'foo' => 2 ) + NULL - Error Unsupported operand types +(object) array ( ) + false = 1 - Notice Object of class stdClass could not be converted to number +(object) array ( ) + true = 2 - Notice Object of class stdClass could not be converted to number +(object) array ( ) + 0 = 1 - Notice Object of class stdClass could not be converted to number +(object) array ( ) + 10 = 11 - Notice Object of class stdClass could not be converted to number +(object) array ( ) + 0.0 = 1.0 - Notice Object of class stdClass could not be converted to number +(object) array ( ) + 10.0 = 11.0 - Notice Object of class stdClass could not be converted to number +(object) array ( ) + 3.14 = 4.140000000000001 - Notice Object of class stdClass could not be converted to number +(object) array ( ) + '0' = 1 - Notice Object of class stdClass could not be converted to number +(object) array ( ) + '10' = 11 - Notice Object of class stdClass could not be converted to number +(object) array ( ) + '010' = 11 - Notice Object of class stdClass could not be converted to number +(object) array ( ) + '10 elephants' = 11 - Notice A non well formed numeric value encountered +(object) array ( ) + 'foo' = 1 - Warning A non-numeric value encountered +(object) array ( ) + array ( ) - Error Unsupported operand types +(object) array ( ) + array ( 0 => 1 ) - Error Unsupported operand types +(object) array ( ) + array ( 0 => 1, 1 => 100 ) - Error Unsupported operand types +(object) array ( ) + array ( 'foo' => 1, 'bar' => 2 ) - Error Unsupported operand types +(object) array ( ) + array ( 'bar' => 1, 'foo' => 2 ) - Error Unsupported operand types +(object) array ( ) + (object) array ( ) = 2 - Notice Object of class stdClass could not be converted to number +(object) array ( ) + (object) array ( 'foo' => 1, 'bar' => 2 ) = 2 - Notice Object of class stdClass could not be converted to number +(object) array ( ) + (object) array ( 'bar' => 1, 'foo' => 2 ) = 2 - Notice Object of class stdClass could not be converted to number +(object) array ( ) + DateTime = 2 - Notice Object of class DateTime could not be converted to number +(object) array ( ) + resource = 7 - Notice Object of class stdClass could not be converted to number +(object) array ( ) + NULL = 1 - Notice Object of class stdClass could not be converted to number +(object) array ( 'foo' => 1, 'bar' => 2 ) + false = 1 - Notice Object of class stdClass could not be converted to number +(object) array ( 'foo' => 1, 'bar' => 2 ) + true = 2 - Notice Object of class stdClass could not be converted to number +(object) array ( 'foo' => 1, 'bar' => 2 ) + 0 = 1 - Notice Object of class stdClass could not be converted to number +(object) array ( 'foo' => 1, 'bar' => 2 ) + 10 = 11 - Notice Object of class stdClass could not be converted to number +(object) array ( 'foo' => 1, 'bar' => 2 ) + 0.0 = 1.0 - Notice Object of class stdClass could not be converted to number +(object) array ( 'foo' => 1, 'bar' => 2 ) + 10.0 = 11.0 - Notice Object of class stdClass could not be converted to number +(object) array ( 'foo' => 1, 'bar' => 2 ) + 3.14 = 4.140000000000001 - Notice Object of class stdClass could not be converted to number +(object) array ( 'foo' => 1, 'bar' => 2 ) + '0' = 1 - Notice Object of class stdClass could not be converted to number +(object) array ( 'foo' => 1, 'bar' => 2 ) + '10' = 11 - Notice Object of class stdClass could not be converted to number +(object) array ( 'foo' => 1, 'bar' => 2 ) + '010' = 11 - Notice Object of class stdClass could not be converted to number +(object) array ( 'foo' => 1, 'bar' => 2 ) + '10 elephants' = 11 - Notice A non well formed numeric value encountered +(object) array ( 'foo' => 1, 'bar' => 2 ) + 'foo' = 1 - Warning A non-numeric value encountered +(object) array ( 'foo' => 1, 'bar' => 2 ) + array ( ) - Error Unsupported operand types +(object) array ( 'foo' => 1, 'bar' => 2 ) + array ( 0 => 1 ) - Error Unsupported operand types +(object) array ( 'foo' => 1, 'bar' => 2 ) + array ( 0 => 1, 1 => 100 ) - Error Unsupported operand types +(object) array ( 'foo' => 1, 'bar' => 2 ) + array ( 'foo' => 1, 'bar' => 2 ) - Error Unsupported operand types +(object) array ( 'foo' => 1, 'bar' => 2 ) + array ( 'bar' => 1, 'foo' => 2 ) - Error Unsupported operand types +(object) array ( 'foo' => 1, 'bar' => 2 ) + (object) array ( ) = 2 - Notice Object of class stdClass could not be converted to number +(object) array ( 'foo' => 1, 'bar' => 2 ) + (object) array ( 'foo' => 1, 'bar' => 2 ) = 2 - Notice Object of class stdClass could not be converted to number +(object) array ( 'foo' => 1, 'bar' => 2 ) + (object) array ( 'bar' => 1, 'foo' => 2 ) = 2 - Notice Object of class stdClass could not be converted to number +(object) array ( 'foo' => 1, 'bar' => 2 ) + DateTime = 2 - Notice Object of class DateTime could not be converted to number +(object) array ( 'foo' => 1, 'bar' => 2 ) + resource = 7 - Notice Object of class stdClass could not be converted to number +(object) array ( 'foo' => 1, 'bar' => 2 ) + NULL = 1 - Notice Object of class stdClass could not be converted to number +(object) array ( 'bar' => 1, 'foo' => 2 ) + false = 1 - Notice Object of class stdClass could not be converted to number +(object) array ( 'bar' => 1, 'foo' => 2 ) + true = 2 - Notice Object of class stdClass could not be converted to number +(object) array ( 'bar' => 1, 'foo' => 2 ) + 0 = 1 - Notice Object of class stdClass could not be converted to number +(object) array ( 'bar' => 1, 'foo' => 2 ) + 10 = 11 - Notice Object of class stdClass could not be converted to number +(object) array ( 'bar' => 1, 'foo' => 2 ) + 0.0 = 1.0 - Notice Object of class stdClass could not be converted to number +(object) array ( 'bar' => 1, 'foo' => 2 ) + 10.0 = 11.0 - Notice Object of class stdClass could not be converted to number +(object) array ( 'bar' => 1, 'foo' => 2 ) + 3.14 = 4.140000000000001 - Notice Object of class stdClass could not be converted to number +(object) array ( 'bar' => 1, 'foo' => 2 ) + '0' = 1 - Notice Object of class stdClass could not be converted to number +(object) array ( 'bar' => 1, 'foo' => 2 ) + '10' = 11 - Notice Object of class stdClass could not be converted to number +(object) array ( 'bar' => 1, 'foo' => 2 ) + '010' = 11 - Notice Object of class stdClass could not be converted to number +(object) array ( 'bar' => 1, 'foo' => 2 ) + '10 elephants' = 11 - Notice A non well formed numeric value encountered +(object) array ( 'bar' => 1, 'foo' => 2 ) + 'foo' = 1 - Warning A non-numeric value encountered +(object) array ( 'bar' => 1, 'foo' => 2 ) + array ( ) - Error Unsupported operand types +(object) array ( 'bar' => 1, 'foo' => 2 ) + array ( 0 => 1 ) - Error Unsupported operand types +(object) array ( 'bar' => 1, 'foo' => 2 ) + array ( 0 => 1, 1 => 100 ) - Error Unsupported operand types +(object) array ( 'bar' => 1, 'foo' => 2 ) + array ( 'foo' => 1, 'bar' => 2 ) - Error Unsupported operand types +(object) array ( 'bar' => 1, 'foo' => 2 ) + array ( 'bar' => 1, 'foo' => 2 ) - Error Unsupported operand types +(object) array ( 'bar' => 1, 'foo' => 2 ) + (object) array ( ) = 2 - Notice Object of class stdClass could not be converted to number +(object) array ( 'bar' => 1, 'foo' => 2 ) + (object) array ( 'foo' => 1, 'bar' => 2 ) = 2 - Notice Object of class stdClass could not be converted to number +(object) array ( 'bar' => 1, 'foo' => 2 ) + (object) array ( 'bar' => 1, 'foo' => 2 ) = 2 - Notice Object of class stdClass could not be converted to number +(object) array ( 'bar' => 1, 'foo' => 2 ) + DateTime = 2 - Notice Object of class DateTime could not be converted to number +(object) array ( 'bar' => 1, 'foo' => 2 ) + resource = 7 - Notice Object of class stdClass could not be converted to number +(object) array ( 'bar' => 1, 'foo' => 2 ) + NULL = 1 - Notice Object of class stdClass could not be converted to number +DateTime + false = 1 - Notice Object of class DateTime could not be converted to number +DateTime + true = 2 - Notice Object of class DateTime could not be converted to number +DateTime + 0 = 1 - Notice Object of class DateTime could not be converted to number +DateTime + 10 = 11 - Notice Object of class DateTime could not be converted to number +DateTime + 0.0 = 1.0 - Notice Object of class DateTime could not be converted to number +DateTime + 10.0 = 11.0 - Notice Object of class DateTime could not be converted to number +DateTime + 3.14 = 4.140000000000001 - Notice Object of class DateTime could not be converted to number +DateTime + '0' = 1 - Notice Object of class DateTime could not be converted to number +DateTime + '10' = 11 - Notice Object of class DateTime could not be converted to number +DateTime + '010' = 11 - Notice Object of class DateTime could not be converted to number +DateTime + '10 elephants' = 11 - Notice A non well formed numeric value encountered +DateTime + 'foo' = 1 - Warning A non-numeric value encountered +DateTime + array ( ) - Error Unsupported operand types +DateTime + array ( 0 => 1 ) - Error Unsupported operand types +DateTime + array ( 0 => 1, 1 => 100 ) - Error Unsupported operand types +DateTime + array ( 'foo' => 1, 'bar' => 2 ) - Error Unsupported operand types +DateTime + array ( 'bar' => 1, 'foo' => 2 ) - Error Unsupported operand types +DateTime + (object) array ( ) = 2 - Notice Object of class stdClass could not be converted to number +DateTime + (object) array ( 'foo' => 1, 'bar' => 2 ) = 2 - Notice Object of class stdClass could not be converted to number +DateTime + (object) array ( 'bar' => 1, 'foo' => 2 ) = 2 - Notice Object of class stdClass could not be converted to number +DateTime + DateTime = 2 - Notice Object of class DateTime could not be converted to number +DateTime + resource = 7 - Notice Object of class DateTime could not be converted to number +DateTime + NULL = 1 - Notice Object of class DateTime could not be converted to number +resource + false = 6 +resource + true = 7 +resource + 0 = 6 +resource + 10 = 16 +resource + 0.0 = 6.0 +resource + 10.0 = 16.0 +resource + 3.14 = 9.14 +resource + '0' = 6 +resource + '10' = 16 +resource + '010' = 16 +resource + '10 elephants' = 16 - Notice A non well formed numeric value encountered +resource + 'foo' = 6 - Warning A non-numeric value encountered +resource + array ( ) - Error Unsupported operand types +resource + array ( 0 => 1 ) - Error Unsupported operand types +resource + array ( 0 => 1, 1 => 100 ) - Error Unsupported operand types +resource + array ( 'foo' => 1, 'bar' => 2 ) - Error Unsupported operand types +resource + array ( 'bar' => 1, 'foo' => 2 ) - Error Unsupported operand types +resource + (object) array ( ) = 7 - Notice Object of class stdClass could not be converted to number +resource + (object) array ( 'foo' => 1, 'bar' => 2 ) = 7 - Notice Object of class stdClass could not be converted to number +resource + (object) array ( 'bar' => 1, 'foo' => 2 ) = 7 - Notice Object of class stdClass could not be converted to number +resource + DateTime = 7 - Notice Object of class DateTime could not be converted to number +resource + resource = 12 +resource + NULL = 6 +NULL + false = 0 +NULL + true = 1 +NULL + 0 = 0 +NULL + 10 = 10 +NULL + 0.0 = 0.0 +NULL + 10.0 = 10.0 +NULL + 3.14 = 3.14 +NULL + '0' = 0 +NULL + '10' = 10 +NULL + '010' = 10 +NULL + '10 elephants' = 10 - Notice A non well formed numeric value encountered +NULL + 'foo' = 0 - Warning A non-numeric value encountered +NULL + array ( ) - Error Unsupported operand types +NULL + array ( 0 => 1 ) - Error Unsupported operand types +NULL + array ( 0 => 1, 1 => 100 ) - Error Unsupported operand types +NULL + array ( 'foo' => 1, 'bar' => 2 ) - Error Unsupported operand types +NULL + array ( 'bar' => 1, 'foo' => 2 ) - Error Unsupported operand types +NULL + (object) array ( ) = 1 - Notice Object of class stdClass could not be converted to number +NULL + (object) array ( 'foo' => 1, 'bar' => 2 ) = 1 - Notice Object of class stdClass could not be converted to number +NULL + (object) array ( 'bar' => 1, 'foo' => 2 ) = 1 - Notice Object of class stdClass could not be converted to number +NULL + DateTime = 1 - Notice Object of class DateTime could not be converted to number +NULL + resource = 6 +NULL + NULL = 0 \ No newline at end of file diff --git a/Zend/tests/operators/arithmetic/addition_strict.phpt b/Zend/tests/operators/arithmetic/addition_strict.phpt new file mode 100644 index 000000000000..481eb7f5ee63 --- /dev/null +++ b/Zend/tests/operators/arithmetic/addition_strict.phpt @@ -0,0 +1,544 @@ +--TEST-- +addition '+' operator with strict_operators +--INI-- +precision=14 +--FILE-- + 1 ) - TypeError Unsupported operand type bool for addition +false + array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type bool for addition +false + array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type bool for addition +false + array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type bool for addition +false + (object) array ( ) - TypeError Unsupported operand type bool for addition +false + (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type bool for addition +false + (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type bool for addition +false + DateTime - TypeError Unsupported operand type bool for addition +false + resource - TypeError Unsupported operand type bool for addition +false + NULL - TypeError Unsupported operand type bool for addition +true + false - TypeError Unsupported operand type bool for addition +true + true - TypeError Unsupported operand type bool for addition +true + 0 - TypeError Unsupported operand type bool for addition +true + 10 - TypeError Unsupported operand type bool for addition +true + 0.0 - TypeError Unsupported operand type bool for addition +true + 10.0 - TypeError Unsupported operand type bool for addition +true + 3.14 - TypeError Unsupported operand type bool for addition +true + '0' - TypeError Unsupported operand type bool for addition +true + '10' - TypeError Unsupported operand type bool for addition +true + '010' - TypeError Unsupported operand type bool for addition +true + '10 elephants' - TypeError Unsupported operand type bool for addition +true + 'foo' - TypeError Unsupported operand type bool for addition +true + array ( ) - TypeError Unsupported operand type bool for addition +true + array ( 0 => 1 ) - TypeError Unsupported operand type bool for addition +true + array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type bool for addition +true + array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type bool for addition +true + array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type bool for addition +true + (object) array ( ) - TypeError Unsupported operand type bool for addition +true + (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type bool for addition +true + (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type bool for addition +true + DateTime - TypeError Unsupported operand type bool for addition +true + resource - TypeError Unsupported operand type bool for addition +true + NULL - TypeError Unsupported operand type bool for addition +0 + false - TypeError Unsupported operand type bool for addition +0 + true - TypeError Unsupported operand type bool for addition +0 + 0 = 0 +0 + 10 = 10 +0 + 0.0 = 0.0 +0 + 10.0 = 10.0 +0 + 3.14 = 3.14 +0 + '0' - TypeError Unsupported operand type string for addition +0 + '10' - TypeError Unsupported operand type string for addition +0 + '010' - TypeError Unsupported operand type string for addition +0 + '10 elephants' - TypeError Unsupported operand type string for addition +0 + 'foo' - TypeError Unsupported operand type string for addition +0 + array ( ) - TypeError Unsupported operand type array for addition +0 + array ( 0 => 1 ) - TypeError Unsupported operand type array for addition +0 + array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for addition +0 + array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for addition +0 + array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for addition +0 + (object) array ( ) - TypeError Unsupported operand type object for addition +0 + (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for addition +0 + (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for addition +0 + DateTime - TypeError Unsupported operand type object for addition +0 + resource - TypeError Unsupported operand type resource for addition +0 + NULL - TypeError Unsupported operand type null for addition +10 + false - TypeError Unsupported operand type bool for addition +10 + true - TypeError Unsupported operand type bool for addition +10 + 0 = 10 +10 + 10 = 20 +10 + 0.0 = 10.0 +10 + 10.0 = 20.0 +10 + 3.14 = 13.14 +10 + '0' - TypeError Unsupported operand type string for addition +10 + '10' - TypeError Unsupported operand type string for addition +10 + '010' - TypeError Unsupported operand type string for addition +10 + '10 elephants' - TypeError Unsupported operand type string for addition +10 + 'foo' - TypeError Unsupported operand type string for addition +10 + array ( ) - TypeError Unsupported operand type array for addition +10 + array ( 0 => 1 ) - TypeError Unsupported operand type array for addition +10 + array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for addition +10 + array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for addition +10 + array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for addition +10 + (object) array ( ) - TypeError Unsupported operand type object for addition +10 + (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for addition +10 + (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for addition +10 + DateTime - TypeError Unsupported operand type object for addition +10 + resource - TypeError Unsupported operand type resource for addition +10 + NULL - TypeError Unsupported operand type null for addition +0.0 + false - TypeError Unsupported operand type bool for addition +0.0 + true - TypeError Unsupported operand type bool for addition +0.0 + 0 = 0.0 +0.0 + 10 = 10.0 +0.0 + 0.0 = 0.0 +0.0 + 10.0 = 10.0 +0.0 + 3.14 = 3.14 +0.0 + '0' - TypeError Unsupported operand type string for addition +0.0 + '10' - TypeError Unsupported operand type string for addition +0.0 + '010' - TypeError Unsupported operand type string for addition +0.0 + '10 elephants' - TypeError Unsupported operand type string for addition +0.0 + 'foo' - TypeError Unsupported operand type string for addition +0.0 + array ( ) - TypeError Unsupported operand type array for addition +0.0 + array ( 0 => 1 ) - TypeError Unsupported operand type array for addition +0.0 + array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for addition +0.0 + array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for addition +0.0 + array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for addition +0.0 + (object) array ( ) - TypeError Unsupported operand type object for addition +0.0 + (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for addition +0.0 + (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for addition +0.0 + DateTime - TypeError Unsupported operand type object for addition +0.0 + resource - TypeError Unsupported operand type resource for addition +0.0 + NULL - TypeError Unsupported operand type null for addition +10.0 + false - TypeError Unsupported operand type bool for addition +10.0 + true - TypeError Unsupported operand type bool for addition +10.0 + 0 = 10.0 +10.0 + 10 = 20.0 +10.0 + 0.0 = 10.0 +10.0 + 10.0 = 20.0 +10.0 + 3.14 = 13.14 +10.0 + '0' - TypeError Unsupported operand type string for addition +10.0 + '10' - TypeError Unsupported operand type string for addition +10.0 + '010' - TypeError Unsupported operand type string for addition +10.0 + '10 elephants' - TypeError Unsupported operand type string for addition +10.0 + 'foo' - TypeError Unsupported operand type string for addition +10.0 + array ( ) - TypeError Unsupported operand type array for addition +10.0 + array ( 0 => 1 ) - TypeError Unsupported operand type array for addition +10.0 + array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for addition +10.0 + array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for addition +10.0 + array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for addition +10.0 + (object) array ( ) - TypeError Unsupported operand type object for addition +10.0 + (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for addition +10.0 + (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for addition +10.0 + DateTime - TypeError Unsupported operand type object for addition +10.0 + resource - TypeError Unsupported operand type resource for addition +10.0 + NULL - TypeError Unsupported operand type null for addition +3.14 + false - TypeError Unsupported operand type bool for addition +3.14 + true - TypeError Unsupported operand type bool for addition +3.14 + 0 = 3.14 +3.14 + 10 = 13.14 +3.14 + 0.0 = 3.14 +3.14 + 10.0 = 13.14 +3.14 + 3.14 = 6.28 +3.14 + '0' - TypeError Unsupported operand type string for addition +3.14 + '10' - TypeError Unsupported operand type string for addition +3.14 + '010' - TypeError Unsupported operand type string for addition +3.14 + '10 elephants' - TypeError Unsupported operand type string for addition +3.14 + 'foo' - TypeError Unsupported operand type string for addition +3.14 + array ( ) - TypeError Unsupported operand type array for addition +3.14 + array ( 0 => 1 ) - TypeError Unsupported operand type array for addition +3.14 + array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for addition +3.14 + array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for addition +3.14 + array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for addition +3.14 + (object) array ( ) - TypeError Unsupported operand type object for addition +3.14 + (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for addition +3.14 + (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for addition +3.14 + DateTime - TypeError Unsupported operand type object for addition +3.14 + resource - TypeError Unsupported operand type resource for addition +3.14 + NULL - TypeError Unsupported operand type null for addition +'0' + false - TypeError Unsupported operand type string for addition +'0' + true - TypeError Unsupported operand type string for addition +'0' + 0 - TypeError Unsupported operand type string for addition +'0' + 10 - TypeError Unsupported operand type string for addition +'0' + 0.0 - TypeError Unsupported operand type string for addition +'0' + 10.0 - TypeError Unsupported operand type string for addition +'0' + 3.14 - TypeError Unsupported operand type string for addition +'0' + '0' - TypeError Unsupported operand type string for addition +'0' + '10' - TypeError Unsupported operand type string for addition +'0' + '010' - TypeError Unsupported operand type string for addition +'0' + '10 elephants' - TypeError Unsupported operand type string for addition +'0' + 'foo' - TypeError Unsupported operand type string for addition +'0' + array ( ) - TypeError Unsupported operand type string for addition +'0' + array ( 0 => 1 ) - TypeError Unsupported operand type string for addition +'0' + array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type string for addition +'0' + array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type string for addition +'0' + array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type string for addition +'0' + (object) array ( ) - TypeError Unsupported operand type string for addition +'0' + (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type string for addition +'0' + (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type string for addition +'0' + DateTime - TypeError Unsupported operand type string for addition +'0' + resource - TypeError Unsupported operand type string for addition +'0' + NULL - TypeError Unsupported operand type string for addition +'10' + false - TypeError Unsupported operand type string for addition +'10' + true - TypeError Unsupported operand type string for addition +'10' + 0 - TypeError Unsupported operand type string for addition +'10' + 10 - TypeError Unsupported operand type string for addition +'10' + 0.0 - TypeError Unsupported operand type string for addition +'10' + 10.0 - TypeError Unsupported operand type string for addition +'10' + 3.14 - TypeError Unsupported operand type string for addition +'10' + '0' - TypeError Unsupported operand type string for addition +'10' + '10' - TypeError Unsupported operand type string for addition +'10' + '010' - TypeError Unsupported operand type string for addition +'10' + '10 elephants' - TypeError Unsupported operand type string for addition +'10' + 'foo' - TypeError Unsupported operand type string for addition +'10' + array ( ) - TypeError Unsupported operand type string for addition +'10' + array ( 0 => 1 ) - TypeError Unsupported operand type string for addition +'10' + array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type string for addition +'10' + array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type string for addition +'10' + array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type string for addition +'10' + (object) array ( ) - TypeError Unsupported operand type string for addition +'10' + (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type string for addition +'10' + (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type string for addition +'10' + DateTime - TypeError Unsupported operand type string for addition +'10' + resource - TypeError Unsupported operand type string for addition +'10' + NULL - TypeError Unsupported operand type string for addition +'010' + false - TypeError Unsupported operand type string for addition +'010' + true - TypeError Unsupported operand type string for addition +'010' + 0 - TypeError Unsupported operand type string for addition +'010' + 10 - TypeError Unsupported operand type string for addition +'010' + 0.0 - TypeError Unsupported operand type string for addition +'010' + 10.0 - TypeError Unsupported operand type string for addition +'010' + 3.14 - TypeError Unsupported operand type string for addition +'010' + '0' - TypeError Unsupported operand type string for addition +'010' + '10' - TypeError Unsupported operand type string for addition +'010' + '010' - TypeError Unsupported operand type string for addition +'010' + '10 elephants' - TypeError Unsupported operand type string for addition +'010' + 'foo' - TypeError Unsupported operand type string for addition +'010' + array ( ) - TypeError Unsupported operand type string for addition +'010' + array ( 0 => 1 ) - TypeError Unsupported operand type string for addition +'010' + array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type string for addition +'010' + array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type string for addition +'010' + array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type string for addition +'010' + (object) array ( ) - TypeError Unsupported operand type string for addition +'010' + (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type string for addition +'010' + (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type string for addition +'010' + DateTime - TypeError Unsupported operand type string for addition +'010' + resource - TypeError Unsupported operand type string for addition +'010' + NULL - TypeError Unsupported operand type string for addition +'10 elephants' + false - TypeError Unsupported operand type string for addition +'10 elephants' + true - TypeError Unsupported operand type string for addition +'10 elephants' + 0 - TypeError Unsupported operand type string for addition +'10 elephants' + 10 - TypeError Unsupported operand type string for addition +'10 elephants' + 0.0 - TypeError Unsupported operand type string for addition +'10 elephants' + 10.0 - TypeError Unsupported operand type string for addition +'10 elephants' + 3.14 - TypeError Unsupported operand type string for addition +'10 elephants' + '0' - TypeError Unsupported operand type string for addition +'10 elephants' + '10' - TypeError Unsupported operand type string for addition +'10 elephants' + '010' - TypeError Unsupported operand type string for addition +'10 elephants' + '10 elephants' - TypeError Unsupported operand type string for addition +'10 elephants' + 'foo' - TypeError Unsupported operand type string for addition +'10 elephants' + array ( ) - TypeError Unsupported operand type string for addition +'10 elephants' + array ( 0 => 1 ) - TypeError Unsupported operand type string for addition +'10 elephants' + array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type string for addition +'10 elephants' + array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type string for addition +'10 elephants' + array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type string for addition +'10 elephants' + (object) array ( ) - TypeError Unsupported operand type string for addition +'10 elephants' + (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type string for addition +'10 elephants' + (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type string for addition +'10 elephants' + DateTime - TypeError Unsupported operand type string for addition +'10 elephants' + resource - TypeError Unsupported operand type string for addition +'10 elephants' + NULL - TypeError Unsupported operand type string for addition +'foo' + false - TypeError Unsupported operand type string for addition +'foo' + true - TypeError Unsupported operand type string for addition +'foo' + 0 - TypeError Unsupported operand type string for addition +'foo' + 10 - TypeError Unsupported operand type string for addition +'foo' + 0.0 - TypeError Unsupported operand type string for addition +'foo' + 10.0 - TypeError Unsupported operand type string for addition +'foo' + 3.14 - TypeError Unsupported operand type string for addition +'foo' + '0' - TypeError Unsupported operand type string for addition +'foo' + '10' - TypeError Unsupported operand type string for addition +'foo' + '010' - TypeError Unsupported operand type string for addition +'foo' + '10 elephants' - TypeError Unsupported operand type string for addition +'foo' + 'foo' - TypeError Unsupported operand type string for addition +'foo' + array ( ) - TypeError Unsupported operand type string for addition +'foo' + array ( 0 => 1 ) - TypeError Unsupported operand type string for addition +'foo' + array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type string for addition +'foo' + array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type string for addition +'foo' + array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type string for addition +'foo' + (object) array ( ) - TypeError Unsupported operand type string for addition +'foo' + (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type string for addition +'foo' + (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type string for addition +'foo' + DateTime - TypeError Unsupported operand type string for addition +'foo' + resource - TypeError Unsupported operand type string for addition +'foo' + NULL - TypeError Unsupported operand type string for addition +array ( ) + false - TypeError Unsupported operand type array for addition +array ( ) + true - TypeError Unsupported operand type array for addition +array ( ) + 0 - TypeError Unsupported operand type array for addition +array ( ) + 10 - TypeError Unsupported operand type array for addition +array ( ) + 0.0 - TypeError Unsupported operand type array for addition +array ( ) + 10.0 - TypeError Unsupported operand type array for addition +array ( ) + 3.14 - TypeError Unsupported operand type array for addition +array ( ) + '0' - TypeError Unsupported operand type array for addition +array ( ) + '10' - TypeError Unsupported operand type array for addition +array ( ) + '010' - TypeError Unsupported operand type array for addition +array ( ) + '10 elephants' - TypeError Unsupported operand type array for addition +array ( ) + 'foo' - TypeError Unsupported operand type array for addition +array ( ) + array ( ) = array ( ) +array ( ) + array ( 0 => 1 ) = array ( 0 => 1 ) +array ( ) + array ( 0 => 1, 1 => 100 ) = array ( 0 => 1, 1 => 100 ) +array ( ) + array ( 'foo' => 1, 'bar' => 2 ) = array ( 'foo' => 1, 'bar' => 2 ) +array ( ) + array ( 'bar' => 1, 'foo' => 2 ) = array ( 'bar' => 1, 'foo' => 2 ) +array ( ) + (object) array ( ) - TypeError Unsupported operand type array for addition +array ( ) + (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for addition +array ( ) + (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for addition +array ( ) + DateTime - TypeError Unsupported operand type array for addition +array ( ) + resource - TypeError Unsupported operand type array for addition +array ( ) + NULL - TypeError Unsupported operand type array for addition +array ( 0 => 1 ) + false - TypeError Unsupported operand type array for addition +array ( 0 => 1 ) + true - TypeError Unsupported operand type array for addition +array ( 0 => 1 ) + 0 - TypeError Unsupported operand type array for addition +array ( 0 => 1 ) + 10 - TypeError Unsupported operand type array for addition +array ( 0 => 1 ) + 0.0 - TypeError Unsupported operand type array for addition +array ( 0 => 1 ) + 10.0 - TypeError Unsupported operand type array for addition +array ( 0 => 1 ) + 3.14 - TypeError Unsupported operand type array for addition +array ( 0 => 1 ) + '0' - TypeError Unsupported operand type array for addition +array ( 0 => 1 ) + '10' - TypeError Unsupported operand type array for addition +array ( 0 => 1 ) + '010' - TypeError Unsupported operand type array for addition +array ( 0 => 1 ) + '10 elephants' - TypeError Unsupported operand type array for addition +array ( 0 => 1 ) + 'foo' - TypeError Unsupported operand type array for addition +array ( 0 => 1 ) + array ( ) = array ( 0 => 1 ) +array ( 0 => 1 ) + array ( 0 => 1 ) = array ( 0 => 1 ) +array ( 0 => 1 ) + array ( 0 => 1, 1 => 100 ) = array ( 0 => 1, 1 => 100 ) +array ( 0 => 1 ) + array ( 'foo' => 1, 'bar' => 2 ) = array ( 0 => 1, 'foo' => 1, 'bar' => 2 ) +array ( 0 => 1 ) + array ( 'bar' => 1, 'foo' => 2 ) = array ( 0 => 1, 'bar' => 1, 'foo' => 2 ) +array ( 0 => 1 ) + (object) array ( ) - TypeError Unsupported operand type array for addition +array ( 0 => 1 ) + (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for addition +array ( 0 => 1 ) + (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for addition +array ( 0 => 1 ) + DateTime - TypeError Unsupported operand type array for addition +array ( 0 => 1 ) + resource - TypeError Unsupported operand type array for addition +array ( 0 => 1 ) + NULL - TypeError Unsupported operand type array for addition +array ( 0 => 1, 1 => 100 ) + false - TypeError Unsupported operand type array for addition +array ( 0 => 1, 1 => 100 ) + true - TypeError Unsupported operand type array for addition +array ( 0 => 1, 1 => 100 ) + 0 - TypeError Unsupported operand type array for addition +array ( 0 => 1, 1 => 100 ) + 10 - TypeError Unsupported operand type array for addition +array ( 0 => 1, 1 => 100 ) + 0.0 - TypeError Unsupported operand type array for addition +array ( 0 => 1, 1 => 100 ) + 10.0 - TypeError Unsupported operand type array for addition +array ( 0 => 1, 1 => 100 ) + 3.14 - TypeError Unsupported operand type array for addition +array ( 0 => 1, 1 => 100 ) + '0' - TypeError Unsupported operand type array for addition +array ( 0 => 1, 1 => 100 ) + '10' - TypeError Unsupported operand type array for addition +array ( 0 => 1, 1 => 100 ) + '010' - TypeError Unsupported operand type array for addition +array ( 0 => 1, 1 => 100 ) + '10 elephants' - TypeError Unsupported operand type array for addition +array ( 0 => 1, 1 => 100 ) + 'foo' - TypeError Unsupported operand type array for addition +array ( 0 => 1, 1 => 100 ) + array ( ) = array ( 0 => 1, 1 => 100 ) +array ( 0 => 1, 1 => 100 ) + array ( 0 => 1 ) = array ( 0 => 1, 1 => 100 ) +array ( 0 => 1, 1 => 100 ) + array ( 0 => 1, 1 => 100 ) = array ( 0 => 1, 1 => 100 ) +array ( 0 => 1, 1 => 100 ) + array ( 'foo' => 1, 'bar' => 2 ) = array ( 0 => 1, 1 => 100, 'foo' => 1, 'bar' => 2 ) +array ( 0 => 1, 1 => 100 ) + array ( 'bar' => 1, 'foo' => 2 ) = array ( 0 => 1, 1 => 100, 'bar' => 1, 'foo' => 2 ) +array ( 0 => 1, 1 => 100 ) + (object) array ( ) - TypeError Unsupported operand type array for addition +array ( 0 => 1, 1 => 100 ) + (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for addition +array ( 0 => 1, 1 => 100 ) + (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for addition +array ( 0 => 1, 1 => 100 ) + DateTime - TypeError Unsupported operand type array for addition +array ( 0 => 1, 1 => 100 ) + resource - TypeError Unsupported operand type array for addition +array ( 0 => 1, 1 => 100 ) + NULL - TypeError Unsupported operand type array for addition +array ( 'foo' => 1, 'bar' => 2 ) + false - TypeError Unsupported operand type array for addition +array ( 'foo' => 1, 'bar' => 2 ) + true - TypeError Unsupported operand type array for addition +array ( 'foo' => 1, 'bar' => 2 ) + 0 - TypeError Unsupported operand type array for addition +array ( 'foo' => 1, 'bar' => 2 ) + 10 - TypeError Unsupported operand type array for addition +array ( 'foo' => 1, 'bar' => 2 ) + 0.0 - TypeError Unsupported operand type array for addition +array ( 'foo' => 1, 'bar' => 2 ) + 10.0 - TypeError Unsupported operand type array for addition +array ( 'foo' => 1, 'bar' => 2 ) + 3.14 - TypeError Unsupported operand type array for addition +array ( 'foo' => 1, 'bar' => 2 ) + '0' - TypeError Unsupported operand type array for addition +array ( 'foo' => 1, 'bar' => 2 ) + '10' - TypeError Unsupported operand type array for addition +array ( 'foo' => 1, 'bar' => 2 ) + '010' - TypeError Unsupported operand type array for addition +array ( 'foo' => 1, 'bar' => 2 ) + '10 elephants' - TypeError Unsupported operand type array for addition +array ( 'foo' => 1, 'bar' => 2 ) + 'foo' - TypeError Unsupported operand type array for addition +array ( 'foo' => 1, 'bar' => 2 ) + array ( ) = array ( 'foo' => 1, 'bar' => 2 ) +array ( 'foo' => 1, 'bar' => 2 ) + array ( 0 => 1 ) = array ( 'foo' => 1, 'bar' => 2, 0 => 1 ) +array ( 'foo' => 1, 'bar' => 2 ) + array ( 0 => 1, 1 => 100 ) = array ( 'foo' => 1, 'bar' => 2, 0 => 1, 1 => 100 ) +array ( 'foo' => 1, 'bar' => 2 ) + array ( 'foo' => 1, 'bar' => 2 ) = array ( 'foo' => 1, 'bar' => 2 ) +array ( 'foo' => 1, 'bar' => 2 ) + array ( 'bar' => 1, 'foo' => 2 ) = array ( 'foo' => 1, 'bar' => 2 ) +array ( 'foo' => 1, 'bar' => 2 ) + (object) array ( ) - TypeError Unsupported operand type array for addition +array ( 'foo' => 1, 'bar' => 2 ) + (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for addition +array ( 'foo' => 1, 'bar' => 2 ) + (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for addition +array ( 'foo' => 1, 'bar' => 2 ) + DateTime - TypeError Unsupported operand type array for addition +array ( 'foo' => 1, 'bar' => 2 ) + resource - TypeError Unsupported operand type array for addition +array ( 'foo' => 1, 'bar' => 2 ) + NULL - TypeError Unsupported operand type array for addition +array ( 'bar' => 1, 'foo' => 2 ) + false - TypeError Unsupported operand type array for addition +array ( 'bar' => 1, 'foo' => 2 ) + true - TypeError Unsupported operand type array for addition +array ( 'bar' => 1, 'foo' => 2 ) + 0 - TypeError Unsupported operand type array for addition +array ( 'bar' => 1, 'foo' => 2 ) + 10 - TypeError Unsupported operand type array for addition +array ( 'bar' => 1, 'foo' => 2 ) + 0.0 - TypeError Unsupported operand type array for addition +array ( 'bar' => 1, 'foo' => 2 ) + 10.0 - TypeError Unsupported operand type array for addition +array ( 'bar' => 1, 'foo' => 2 ) + 3.14 - TypeError Unsupported operand type array for addition +array ( 'bar' => 1, 'foo' => 2 ) + '0' - TypeError Unsupported operand type array for addition +array ( 'bar' => 1, 'foo' => 2 ) + '10' - TypeError Unsupported operand type array for addition +array ( 'bar' => 1, 'foo' => 2 ) + '010' - TypeError Unsupported operand type array for addition +array ( 'bar' => 1, 'foo' => 2 ) + '10 elephants' - TypeError Unsupported operand type array for addition +array ( 'bar' => 1, 'foo' => 2 ) + 'foo' - TypeError Unsupported operand type array for addition +array ( 'bar' => 1, 'foo' => 2 ) + array ( ) = array ( 'bar' => 1, 'foo' => 2 ) +array ( 'bar' => 1, 'foo' => 2 ) + array ( 0 => 1 ) = array ( 'bar' => 1, 'foo' => 2, 0 => 1 ) +array ( 'bar' => 1, 'foo' => 2 ) + array ( 0 => 1, 1 => 100 ) = array ( 'bar' => 1, 'foo' => 2, 0 => 1, 1 => 100 ) +array ( 'bar' => 1, 'foo' => 2 ) + array ( 'foo' => 1, 'bar' => 2 ) = array ( 'bar' => 1, 'foo' => 2 ) +array ( 'bar' => 1, 'foo' => 2 ) + array ( 'bar' => 1, 'foo' => 2 ) = array ( 'bar' => 1, 'foo' => 2 ) +array ( 'bar' => 1, 'foo' => 2 ) + (object) array ( ) - TypeError Unsupported operand type array for addition +array ( 'bar' => 1, 'foo' => 2 ) + (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for addition +array ( 'bar' => 1, 'foo' => 2 ) + (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for addition +array ( 'bar' => 1, 'foo' => 2 ) + DateTime - TypeError Unsupported operand type array for addition +array ( 'bar' => 1, 'foo' => 2 ) + resource - TypeError Unsupported operand type array for addition +array ( 'bar' => 1, 'foo' => 2 ) + NULL - TypeError Unsupported operand type array for addition +(object) array ( ) + false - TypeError Unsupported operand type object for addition +(object) array ( ) + true - TypeError Unsupported operand type object for addition +(object) array ( ) + 0 - TypeError Unsupported operand type object for addition +(object) array ( ) + 10 - TypeError Unsupported operand type object for addition +(object) array ( ) + 0.0 - TypeError Unsupported operand type object for addition +(object) array ( ) + 10.0 - TypeError Unsupported operand type object for addition +(object) array ( ) + 3.14 - TypeError Unsupported operand type object for addition +(object) array ( ) + '0' - TypeError Unsupported operand type object for addition +(object) array ( ) + '10' - TypeError Unsupported operand type object for addition +(object) array ( ) + '010' - TypeError Unsupported operand type object for addition +(object) array ( ) + '10 elephants' - TypeError Unsupported operand type object for addition +(object) array ( ) + 'foo' - TypeError Unsupported operand type object for addition +(object) array ( ) + array ( ) - TypeError Unsupported operand type object for addition +(object) array ( ) + array ( 0 => 1 ) - TypeError Unsupported operand type object for addition +(object) array ( ) + array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type object for addition +(object) array ( ) + array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for addition +(object) array ( ) + array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for addition +(object) array ( ) + (object) array ( ) - TypeError Unsupported operand type object for addition +(object) array ( ) + (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for addition +(object) array ( ) + (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for addition +(object) array ( ) + DateTime - TypeError Unsupported operand type object for addition +(object) array ( ) + resource - TypeError Unsupported operand type object for addition +(object) array ( ) + NULL - TypeError Unsupported operand type object for addition +(object) array ( 'foo' => 1, 'bar' => 2 ) + false - TypeError Unsupported operand type object for addition +(object) array ( 'foo' => 1, 'bar' => 2 ) + true - TypeError Unsupported operand type object for addition +(object) array ( 'foo' => 1, 'bar' => 2 ) + 0 - TypeError Unsupported operand type object for addition +(object) array ( 'foo' => 1, 'bar' => 2 ) + 10 - TypeError Unsupported operand type object for addition +(object) array ( 'foo' => 1, 'bar' => 2 ) + 0.0 - TypeError Unsupported operand type object for addition +(object) array ( 'foo' => 1, 'bar' => 2 ) + 10.0 - TypeError Unsupported operand type object for addition +(object) array ( 'foo' => 1, 'bar' => 2 ) + 3.14 - TypeError Unsupported operand type object for addition +(object) array ( 'foo' => 1, 'bar' => 2 ) + '0' - TypeError Unsupported operand type object for addition +(object) array ( 'foo' => 1, 'bar' => 2 ) + '10' - TypeError Unsupported operand type object for addition +(object) array ( 'foo' => 1, 'bar' => 2 ) + '010' - TypeError Unsupported operand type object for addition +(object) array ( 'foo' => 1, 'bar' => 2 ) + '10 elephants' - TypeError Unsupported operand type object for addition +(object) array ( 'foo' => 1, 'bar' => 2 ) + 'foo' - TypeError Unsupported operand type object for addition +(object) array ( 'foo' => 1, 'bar' => 2 ) + array ( ) - TypeError Unsupported operand type object for addition +(object) array ( 'foo' => 1, 'bar' => 2 ) + array ( 0 => 1 ) - TypeError Unsupported operand type object for addition +(object) array ( 'foo' => 1, 'bar' => 2 ) + array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type object for addition +(object) array ( 'foo' => 1, 'bar' => 2 ) + array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for addition +(object) array ( 'foo' => 1, 'bar' => 2 ) + array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for addition +(object) array ( 'foo' => 1, 'bar' => 2 ) + (object) array ( ) - TypeError Unsupported operand type object for addition +(object) array ( 'foo' => 1, 'bar' => 2 ) + (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for addition +(object) array ( 'foo' => 1, 'bar' => 2 ) + (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for addition +(object) array ( 'foo' => 1, 'bar' => 2 ) + DateTime - TypeError Unsupported operand type object for addition +(object) array ( 'foo' => 1, 'bar' => 2 ) + resource - TypeError Unsupported operand type object for addition +(object) array ( 'foo' => 1, 'bar' => 2 ) + NULL - TypeError Unsupported operand type object for addition +(object) array ( 'bar' => 1, 'foo' => 2 ) + false - TypeError Unsupported operand type object for addition +(object) array ( 'bar' => 1, 'foo' => 2 ) + true - TypeError Unsupported operand type object for addition +(object) array ( 'bar' => 1, 'foo' => 2 ) + 0 - TypeError Unsupported operand type object for addition +(object) array ( 'bar' => 1, 'foo' => 2 ) + 10 - TypeError Unsupported operand type object for addition +(object) array ( 'bar' => 1, 'foo' => 2 ) + 0.0 - TypeError Unsupported operand type object for addition +(object) array ( 'bar' => 1, 'foo' => 2 ) + 10.0 - TypeError Unsupported operand type object for addition +(object) array ( 'bar' => 1, 'foo' => 2 ) + 3.14 - TypeError Unsupported operand type object for addition +(object) array ( 'bar' => 1, 'foo' => 2 ) + '0' - TypeError Unsupported operand type object for addition +(object) array ( 'bar' => 1, 'foo' => 2 ) + '10' - TypeError Unsupported operand type object for addition +(object) array ( 'bar' => 1, 'foo' => 2 ) + '010' - TypeError Unsupported operand type object for addition +(object) array ( 'bar' => 1, 'foo' => 2 ) + '10 elephants' - TypeError Unsupported operand type object for addition +(object) array ( 'bar' => 1, 'foo' => 2 ) + 'foo' - TypeError Unsupported operand type object for addition +(object) array ( 'bar' => 1, 'foo' => 2 ) + array ( ) - TypeError Unsupported operand type object for addition +(object) array ( 'bar' => 1, 'foo' => 2 ) + array ( 0 => 1 ) - TypeError Unsupported operand type object for addition +(object) array ( 'bar' => 1, 'foo' => 2 ) + array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type object for addition +(object) array ( 'bar' => 1, 'foo' => 2 ) + array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for addition +(object) array ( 'bar' => 1, 'foo' => 2 ) + array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for addition +(object) array ( 'bar' => 1, 'foo' => 2 ) + (object) array ( ) - TypeError Unsupported operand type object for addition +(object) array ( 'bar' => 1, 'foo' => 2 ) + (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for addition +(object) array ( 'bar' => 1, 'foo' => 2 ) + (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for addition +(object) array ( 'bar' => 1, 'foo' => 2 ) + DateTime - TypeError Unsupported operand type object for addition +(object) array ( 'bar' => 1, 'foo' => 2 ) + resource - TypeError Unsupported operand type object for addition +(object) array ( 'bar' => 1, 'foo' => 2 ) + NULL - TypeError Unsupported operand type object for addition +DateTime + false - TypeError Unsupported operand type object for addition +DateTime + true - TypeError Unsupported operand type object for addition +DateTime + 0 - TypeError Unsupported operand type object for addition +DateTime + 10 - TypeError Unsupported operand type object for addition +DateTime + 0.0 - TypeError Unsupported operand type object for addition +DateTime + 10.0 - TypeError Unsupported operand type object for addition +DateTime + 3.14 - TypeError Unsupported operand type object for addition +DateTime + '0' - TypeError Unsupported operand type object for addition +DateTime + '10' - TypeError Unsupported operand type object for addition +DateTime + '010' - TypeError Unsupported operand type object for addition +DateTime + '10 elephants' - TypeError Unsupported operand type object for addition +DateTime + 'foo' - TypeError Unsupported operand type object for addition +DateTime + array ( ) - TypeError Unsupported operand type object for addition +DateTime + array ( 0 => 1 ) - TypeError Unsupported operand type object for addition +DateTime + array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type object for addition +DateTime + array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for addition +DateTime + array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for addition +DateTime + (object) array ( ) - TypeError Unsupported operand type object for addition +DateTime + (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for addition +DateTime + (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for addition +DateTime + DateTime - TypeError Unsupported operand type object for addition +DateTime + resource - TypeError Unsupported operand type object for addition +DateTime + NULL - TypeError Unsupported operand type object for addition +resource + false - TypeError Unsupported operand type resource for addition +resource + true - TypeError Unsupported operand type resource for addition +resource + 0 - TypeError Unsupported operand type resource for addition +resource + 10 - TypeError Unsupported operand type resource for addition +resource + 0.0 - TypeError Unsupported operand type resource for addition +resource + 10.0 - TypeError Unsupported operand type resource for addition +resource + 3.14 - TypeError Unsupported operand type resource for addition +resource + '0' - TypeError Unsupported operand type resource for addition +resource + '10' - TypeError Unsupported operand type resource for addition +resource + '010' - TypeError Unsupported operand type resource for addition +resource + '10 elephants' - TypeError Unsupported operand type resource for addition +resource + 'foo' - TypeError Unsupported operand type resource for addition +resource + array ( ) - TypeError Unsupported operand type resource for addition +resource + array ( 0 => 1 ) - TypeError Unsupported operand type resource for addition +resource + array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type resource for addition +resource + array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type resource for addition +resource + array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type resource for addition +resource + (object) array ( ) - TypeError Unsupported operand type resource for addition +resource + (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type resource for addition +resource + (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type resource for addition +resource + DateTime - TypeError Unsupported operand type resource for addition +resource + resource - TypeError Unsupported operand type resource for addition +resource + NULL - TypeError Unsupported operand type resource for addition +NULL + false - TypeError Unsupported operand type null for addition +NULL + true - TypeError Unsupported operand type null for addition +NULL + 0 - TypeError Unsupported operand type null for addition +NULL + 10 - TypeError Unsupported operand type null for addition +NULL + 0.0 - TypeError Unsupported operand type null for addition +NULL + 10.0 - TypeError Unsupported operand type null for addition +NULL + 3.14 - TypeError Unsupported operand type null for addition +NULL + '0' - TypeError Unsupported operand type null for addition +NULL + '10' - TypeError Unsupported operand type null for addition +NULL + '010' - TypeError Unsupported operand type null for addition +NULL + '10 elephants' - TypeError Unsupported operand type null for addition +NULL + 'foo' - TypeError Unsupported operand type null for addition +NULL + array ( ) - TypeError Unsupported operand type null for addition +NULL + array ( 0 => 1 ) - TypeError Unsupported operand type null for addition +NULL + array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type null for addition +NULL + array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type null for addition +NULL + array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type null for addition +NULL + (object) array ( ) - TypeError Unsupported operand type null for addition +NULL + (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type null for addition +NULL + (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type null for addition +NULL + DateTime - TypeError Unsupported operand type null for addition +NULL + resource - TypeError Unsupported operand type null for addition +NULL + NULL - TypeError Unsupported operand type null for addition \ No newline at end of file diff --git a/Zend/tests/operators/arithmetic/division.phpt b/Zend/tests/operators/arithmetic/division.phpt new file mode 100644 index 000000000000..cbd070bac273 --- /dev/null +++ b/Zend/tests/operators/arithmetic/division.phpt @@ -0,0 +1,542 @@ +--TEST-- +division '/' operator +--INI-- +precision=14 +--FILE-- + 1 ) - Error Unsupported operand types +false / array ( 0 => 1, 1 => 100 ) - Error Unsupported operand types +false / array ( 'foo' => 1, 'bar' => 2 ) - Error Unsupported operand types +false / array ( 'bar' => 1, 'foo' => 2 ) - Error Unsupported operand types +false / (object) array ( ) = 0 - Notice Object of class stdClass could not be converted to number +false / (object) array ( 'foo' => 1, 'bar' => 2 ) = 0 - Notice Object of class stdClass could not be converted to number +false / (object) array ( 'bar' => 1, 'foo' => 2 ) = 0 - Notice Object of class stdClass could not be converted to number +false / DateTime = 0 - Notice Object of class DateTime could not be converted to number +false / resource = 0 +false / NULL = NAN - Warning Division by zero +true / false = INF - Warning Division by zero +true / true = 1 +true / 0 = INF - Warning Division by zero +true / 10 = 0.1 +true / 0.0 = INF - Warning Division by zero +true / 10.0 = 0.1 +true / 3.14 = 0.3184713375796178 +true / '0' = INF - Warning Division by zero +true / '10' = 0.1 +true / '010' = 0.1 +true / '10 elephants' = 0.1 - Notice A non well formed numeric value encountered +true / 'foo' = INF - Warning Division by zero +true / array ( ) - Error Unsupported operand types +true / array ( 0 => 1 ) - Error Unsupported operand types +true / array ( 0 => 1, 1 => 100 ) - Error Unsupported operand types +true / array ( 'foo' => 1, 'bar' => 2 ) - Error Unsupported operand types +true / array ( 'bar' => 1, 'foo' => 2 ) - Error Unsupported operand types +true / (object) array ( ) = 1 - Notice Object of class stdClass could not be converted to number +true / (object) array ( 'foo' => 1, 'bar' => 2 ) = 1 - Notice Object of class stdClass could not be converted to number +true / (object) array ( 'bar' => 1, 'foo' => 2 ) = 1 - Notice Object of class stdClass could not be converted to number +true / DateTime = 1 - Notice Object of class DateTime could not be converted to number +true / resource = 0.16666666666666666 +true / NULL = INF - Warning Division by zero +0 / false = NAN - Warning Division by zero +0 / true = 0 +0 / 0 = NAN - Warning Division by zero +0 / 10 = 0 +0 / 0.0 = NAN - Warning Division by zero +0 / 10.0 = 0.0 +0 / 3.14 = 0.0 +0 / '0' = NAN - Warning Division by zero +0 / '10' = 0 +0 / '010' = 0 +0 / '10 elephants' = 0 - Notice A non well formed numeric value encountered +0 / 'foo' = NAN - Warning Division by zero +0 / array ( ) - Error Unsupported operand types +0 / array ( 0 => 1 ) - Error Unsupported operand types +0 / array ( 0 => 1, 1 => 100 ) - Error Unsupported operand types +0 / array ( 'foo' => 1, 'bar' => 2 ) - Error Unsupported operand types +0 / array ( 'bar' => 1, 'foo' => 2 ) - Error Unsupported operand types +0 / (object) array ( ) = 0 - Notice Object of class stdClass could not be converted to number +0 / (object) array ( 'foo' => 1, 'bar' => 2 ) = 0 - Notice Object of class stdClass could not be converted to number +0 / (object) array ( 'bar' => 1, 'foo' => 2 ) = 0 - Notice Object of class stdClass could not be converted to number +0 / DateTime = 0 - Notice Object of class DateTime could not be converted to number +0 / resource = 0 +0 / NULL = NAN - Warning Division by zero +10 / false = INF - Warning Division by zero +10 / true = 10 +10 / 0 = INF - Warning Division by zero +10 / 10 = 1 +10 / 0.0 = INF - Warning Division by zero +10 / 10.0 = 1.0 +10 / 3.14 = 3.184713375796178 +10 / '0' = INF - Warning Division by zero +10 / '10' = 1 +10 / '010' = 1 +10 / '10 elephants' = 1 - Notice A non well formed numeric value encountered +10 / 'foo' = INF - Warning Division by zero +10 / array ( ) - Error Unsupported operand types +10 / array ( 0 => 1 ) - Error Unsupported operand types +10 / array ( 0 => 1, 1 => 100 ) - Error Unsupported operand types +10 / array ( 'foo' => 1, 'bar' => 2 ) - Error Unsupported operand types +10 / array ( 'bar' => 1, 'foo' => 2 ) - Error Unsupported operand types +10 / (object) array ( ) = 10 - Notice Object of class stdClass could not be converted to number +10 / (object) array ( 'foo' => 1, 'bar' => 2 ) = 10 - Notice Object of class stdClass could not be converted to number +10 / (object) array ( 'bar' => 1, 'foo' => 2 ) = 10 - Notice Object of class stdClass could not be converted to number +10 / DateTime = 10 - Notice Object of class DateTime could not be converted to number +10 / resource = 1.6666666666666667 +10 / NULL = INF - Warning Division by zero +0.0 / false = NAN - Warning Division by zero +0.0 / true = 0.0 +0.0 / 0 = NAN - Warning Division by zero +0.0 / 10 = 0.0 +0.0 / 0.0 = NAN - Warning Division by zero +0.0 / 10.0 = 0.0 +0.0 / 3.14 = 0.0 +0.0 / '0' = NAN - Warning Division by zero +0.0 / '10' = 0.0 +0.0 / '010' = 0.0 +0.0 / '10 elephants' = 0.0 - Notice A non well formed numeric value encountered +0.0 / 'foo' = NAN - Warning Division by zero +0.0 / array ( ) - Error Unsupported operand types +0.0 / array ( 0 => 1 ) - Error Unsupported operand types +0.0 / array ( 0 => 1, 1 => 100 ) - Error Unsupported operand types +0.0 / array ( 'foo' => 1, 'bar' => 2 ) - Error Unsupported operand types +0.0 / array ( 'bar' => 1, 'foo' => 2 ) - Error Unsupported operand types +0.0 / (object) array ( ) = 0.0 - Notice Object of class stdClass could not be converted to number +0.0 / (object) array ( 'foo' => 1, 'bar' => 2 ) = 0.0 - Notice Object of class stdClass could not be converted to number +0.0 / (object) array ( 'bar' => 1, 'foo' => 2 ) = 0.0 - Notice Object of class stdClass could not be converted to number +0.0 / DateTime = 0.0 - Notice Object of class DateTime could not be converted to number +0.0 / resource = 0.0 +0.0 / NULL = NAN - Warning Division by zero +10.0 / false = INF - Warning Division by zero +10.0 / true = 10.0 +10.0 / 0 = INF - Warning Division by zero +10.0 / 10 = 1.0 +10.0 / 0.0 = INF - Warning Division by zero +10.0 / 10.0 = 1.0 +10.0 / 3.14 = 3.184713375796178 +10.0 / '0' = INF - Warning Division by zero +10.0 / '10' = 1.0 +10.0 / '010' = 1.0 +10.0 / '10 elephants' = 1.0 - Notice A non well formed numeric value encountered +10.0 / 'foo' = INF - Warning Division by zero +10.0 / array ( ) - Error Unsupported operand types +10.0 / array ( 0 => 1 ) - Error Unsupported operand types +10.0 / array ( 0 => 1, 1 => 100 ) - Error Unsupported operand types +10.0 / array ( 'foo' => 1, 'bar' => 2 ) - Error Unsupported operand types +10.0 / array ( 'bar' => 1, 'foo' => 2 ) - Error Unsupported operand types +10.0 / (object) array ( ) = 10.0 - Notice Object of class stdClass could not be converted to number +10.0 / (object) array ( 'foo' => 1, 'bar' => 2 ) = 10.0 - Notice Object of class stdClass could not be converted to number +10.0 / (object) array ( 'bar' => 1, 'foo' => 2 ) = 10.0 - Notice Object of class stdClass could not be converted to number +10.0 / DateTime = 10.0 - Notice Object of class DateTime could not be converted to number +10.0 / resource = 1.6666666666666667 +10.0 / NULL = INF - Warning Division by zero +3.14 / false = INF - Warning Division by zero +3.14 / true = 3.14 +3.14 / 0 = INF - Warning Division by zero +3.14 / 10 = 0.314 +3.14 / 0.0 = INF - Warning Division by zero +3.14 / 10.0 = 0.314 +3.14 / 3.14 = 1.0 +3.14 / '0' = INF - Warning Division by zero +3.14 / '10' = 0.314 +3.14 / '010' = 0.314 +3.14 / '10 elephants' = 0.314 - Notice A non well formed numeric value encountered +3.14 / 'foo' = INF - Warning Division by zero +3.14 / array ( ) - Error Unsupported operand types +3.14 / array ( 0 => 1 ) - Error Unsupported operand types +3.14 / array ( 0 => 1, 1 => 100 ) - Error Unsupported operand types +3.14 / array ( 'foo' => 1, 'bar' => 2 ) - Error Unsupported operand types +3.14 / array ( 'bar' => 1, 'foo' => 2 ) - Error Unsupported operand types +3.14 / (object) array ( ) = 3.14 - Notice Object of class stdClass could not be converted to number +3.14 / (object) array ( 'foo' => 1, 'bar' => 2 ) = 3.14 - Notice Object of class stdClass could not be converted to number +3.14 / (object) array ( 'bar' => 1, 'foo' => 2 ) = 3.14 - Notice Object of class stdClass could not be converted to number +3.14 / DateTime = 3.14 - Notice Object of class DateTime could not be converted to number +3.14 / resource = 0.5233333333333333 +3.14 / NULL = INF - Warning Division by zero +'0' / false = NAN - Warning Division by zero +'0' / true = 0 +'0' / 0 = NAN - Warning Division by zero +'0' / 10 = 0 +'0' / 0.0 = NAN - Warning Division by zero +'0' / 10.0 = 0.0 +'0' / 3.14 = 0.0 +'0' / '0' = NAN - Warning Division by zero +'0' / '10' = 0 +'0' / '010' = 0 +'0' / '10 elephants' = 0 - Notice A non well formed numeric value encountered +'0' / 'foo' = NAN - Warning Division by zero +'0' / array ( ) - Error Unsupported operand types +'0' / array ( 0 => 1 ) - Error Unsupported operand types +'0' / array ( 0 => 1, 1 => 100 ) - Error Unsupported operand types +'0' / array ( 'foo' => 1, 'bar' => 2 ) - Error Unsupported operand types +'0' / array ( 'bar' => 1, 'foo' => 2 ) - Error Unsupported operand types +'0' / (object) array ( ) = 0 - Notice Object of class stdClass could not be converted to number +'0' / (object) array ( 'foo' => 1, 'bar' => 2 ) = 0 - Notice Object of class stdClass could not be converted to number +'0' / (object) array ( 'bar' => 1, 'foo' => 2 ) = 0 - Notice Object of class stdClass could not be converted to number +'0' / DateTime = 0 - Notice Object of class DateTime could not be converted to number +'0' / resource = 0 +'0' / NULL = NAN - Warning Division by zero +'10' / false = INF - Warning Division by zero +'10' / true = 10 +'10' / 0 = INF - Warning Division by zero +'10' / 10 = 1 +'10' / 0.0 = INF - Warning Division by zero +'10' / 10.0 = 1.0 +'10' / 3.14 = 3.184713375796178 +'10' / '0' = INF - Warning Division by zero +'10' / '10' = 1 +'10' / '010' = 1 +'10' / '10 elephants' = 1 - Notice A non well formed numeric value encountered +'10' / 'foo' = INF - Warning Division by zero +'10' / array ( ) - Error Unsupported operand types +'10' / array ( 0 => 1 ) - Error Unsupported operand types +'10' / array ( 0 => 1, 1 => 100 ) - Error Unsupported operand types +'10' / array ( 'foo' => 1, 'bar' => 2 ) - Error Unsupported operand types +'10' / array ( 'bar' => 1, 'foo' => 2 ) - Error Unsupported operand types +'10' / (object) array ( ) = 10 - Notice Object of class stdClass could not be converted to number +'10' / (object) array ( 'foo' => 1, 'bar' => 2 ) = 10 - Notice Object of class stdClass could not be converted to number +'10' / (object) array ( 'bar' => 1, 'foo' => 2 ) = 10 - Notice Object of class stdClass could not be converted to number +'10' / DateTime = 10 - Notice Object of class DateTime could not be converted to number +'10' / resource = 1.6666666666666667 +'10' / NULL = INF - Warning Division by zero +'010' / false = INF - Warning Division by zero +'010' / true = 10 +'010' / 0 = INF - Warning Division by zero +'010' / 10 = 1 +'010' / 0.0 = INF - Warning Division by zero +'010' / 10.0 = 1.0 +'010' / 3.14 = 3.184713375796178 +'010' / '0' = INF - Warning Division by zero +'010' / '10' = 1 +'010' / '010' = 1 +'010' / '10 elephants' = 1 - Notice A non well formed numeric value encountered +'010' / 'foo' = INF - Warning Division by zero +'010' / array ( ) - Error Unsupported operand types +'010' / array ( 0 => 1 ) - Error Unsupported operand types +'010' / array ( 0 => 1, 1 => 100 ) - Error Unsupported operand types +'010' / array ( 'foo' => 1, 'bar' => 2 ) - Error Unsupported operand types +'010' / array ( 'bar' => 1, 'foo' => 2 ) - Error Unsupported operand types +'010' / (object) array ( ) = 10 - Notice Object of class stdClass could not be converted to number +'010' / (object) array ( 'foo' => 1, 'bar' => 2 ) = 10 - Notice Object of class stdClass could not be converted to number +'010' / (object) array ( 'bar' => 1, 'foo' => 2 ) = 10 - Notice Object of class stdClass could not be converted to number +'010' / DateTime = 10 - Notice Object of class DateTime could not be converted to number +'010' / resource = 1.6666666666666667 +'010' / NULL = INF - Warning Division by zero +'10 elephants' / false = INF - Warning Division by zero +'10 elephants' / true = 10 - Notice A non well formed numeric value encountered +'10 elephants' / 0 = INF - Warning Division by zero +'10 elephants' / 10 = 1 - Notice A non well formed numeric value encountered +'10 elephants' / 0.0 = INF - Warning Division by zero +'10 elephants' / 10.0 = 1.0 - Notice A non well formed numeric value encountered +'10 elephants' / 3.14 = 3.184713375796178 - Notice A non well formed numeric value encountered +'10 elephants' / '0' = INF - Warning Division by zero +'10 elephants' / '10' = 1 - Notice A non well formed numeric value encountered +'10 elephants' / '010' = 1 - Notice A non well formed numeric value encountered +'10 elephants' / '10 elephants' = 1 - Notice A non well formed numeric value encountered +'10 elephants' / 'foo' = INF - Warning Division by zero +'10 elephants' / array ( ) - Error Unsupported operand types +'10 elephants' / array ( 0 => 1 ) - Error Unsupported operand types +'10 elephants' / array ( 0 => 1, 1 => 100 ) - Error Unsupported operand types +'10 elephants' / array ( 'foo' => 1, 'bar' => 2 ) - Error Unsupported operand types +'10 elephants' / array ( 'bar' => 1, 'foo' => 2 ) - Error Unsupported operand types +'10 elephants' / (object) array ( ) = 10 - Notice Object of class stdClass could not be converted to number +'10 elephants' / (object) array ( 'foo' => 1, 'bar' => 2 ) = 10 - Notice Object of class stdClass could not be converted to number +'10 elephants' / (object) array ( 'bar' => 1, 'foo' => 2 ) = 10 - Notice Object of class stdClass could not be converted to number +'10 elephants' / DateTime = 10 - Notice Object of class DateTime could not be converted to number +'10 elephants' / resource = 1.6666666666666667 - Notice A non well formed numeric value encountered +'10 elephants' / NULL = INF - Warning Division by zero +'foo' / false = NAN - Warning Division by zero +'foo' / true = 0 - Warning A non-numeric value encountered +'foo' / 0 = NAN - Warning Division by zero +'foo' / 10 = 0 - Warning A non-numeric value encountered +'foo' / 0.0 = NAN - Warning Division by zero +'foo' / 10.0 = 0.0 - Warning A non-numeric value encountered +'foo' / 3.14 = 0.0 - Warning A non-numeric value encountered +'foo' / '0' = NAN - Warning Division by zero +'foo' / '10' = 0 - Warning A non-numeric value encountered +'foo' / '010' = 0 - Warning A non-numeric value encountered +'foo' / '10 elephants' = 0 - Notice A non well formed numeric value encountered +'foo' / 'foo' = NAN - Warning Division by zero +'foo' / array ( ) - Error Unsupported operand types +'foo' / array ( 0 => 1 ) - Error Unsupported operand types +'foo' / array ( 0 => 1, 1 => 100 ) - Error Unsupported operand types +'foo' / array ( 'foo' => 1, 'bar' => 2 ) - Error Unsupported operand types +'foo' / array ( 'bar' => 1, 'foo' => 2 ) - Error Unsupported operand types +'foo' / (object) array ( ) = 0 - Notice Object of class stdClass could not be converted to number +'foo' / (object) array ( 'foo' => 1, 'bar' => 2 ) = 0 - Notice Object of class stdClass could not be converted to number +'foo' / (object) array ( 'bar' => 1, 'foo' => 2 ) = 0 - Notice Object of class stdClass could not be converted to number +'foo' / DateTime = 0 - Notice Object of class DateTime could not be converted to number +'foo' / resource = 0 - Warning A non-numeric value encountered +'foo' / NULL = NAN - Warning Division by zero +array ( ) / false - Error Unsupported operand types +array ( ) / true - Error Unsupported operand types +array ( ) / 0 - Error Unsupported operand types +array ( ) / 10 - Error Unsupported operand types +array ( ) / 0.0 - Error Unsupported operand types +array ( ) / 10.0 - Error Unsupported operand types +array ( ) / 3.14 - Error Unsupported operand types +array ( ) / '0' - Error Unsupported operand types +array ( ) / '10' - Error Unsupported operand types +array ( ) / '010' - Error Unsupported operand types +array ( ) / '10 elephants' - Error Unsupported operand types +array ( ) / 'foo' - Error Unsupported operand types +array ( ) / array ( ) - Error Unsupported operand types +array ( ) / array ( 0 => 1 ) - Error Unsupported operand types +array ( ) / array ( 0 => 1, 1 => 100 ) - Error Unsupported operand types +array ( ) / array ( 'foo' => 1, 'bar' => 2 ) - Error Unsupported operand types +array ( ) / array ( 'bar' => 1, 'foo' => 2 ) - Error Unsupported operand types +array ( ) / (object) array ( ) - Error Unsupported operand types +array ( ) / (object) array ( 'foo' => 1, 'bar' => 2 ) - Error Unsupported operand types +array ( ) / (object) array ( 'bar' => 1, 'foo' => 2 ) - Error Unsupported operand types +array ( ) / DateTime - Error Unsupported operand types +array ( ) / resource - Error Unsupported operand types +array ( ) / NULL - Error Unsupported operand types +array ( 0 => 1 ) / false - Error Unsupported operand types +array ( 0 => 1 ) / true - Error Unsupported operand types +array ( 0 => 1 ) / 0 - Error Unsupported operand types +array ( 0 => 1 ) / 10 - Error Unsupported operand types +array ( 0 => 1 ) / 0.0 - Error Unsupported operand types +array ( 0 => 1 ) / 10.0 - Error Unsupported operand types +array ( 0 => 1 ) / 3.14 - Error Unsupported operand types +array ( 0 => 1 ) / '0' - Error Unsupported operand types +array ( 0 => 1 ) / '10' - Error Unsupported operand types +array ( 0 => 1 ) / '010' - Error Unsupported operand types +array ( 0 => 1 ) / '10 elephants' - Error Unsupported operand types +array ( 0 => 1 ) / 'foo' - Error Unsupported operand types +array ( 0 => 1 ) / array ( ) - Error Unsupported operand types +array ( 0 => 1 ) / array ( 0 => 1 ) - Error Unsupported operand types +array ( 0 => 1 ) / array ( 0 => 1, 1 => 100 ) - Error Unsupported operand types +array ( 0 => 1 ) / array ( 'foo' => 1, 'bar' => 2 ) - Error Unsupported operand types +array ( 0 => 1 ) / array ( 'bar' => 1, 'foo' => 2 ) - Error Unsupported operand types +array ( 0 => 1 ) / (object) array ( ) - Error Unsupported operand types +array ( 0 => 1 ) / (object) array ( 'foo' => 1, 'bar' => 2 ) - Error Unsupported operand types +array ( 0 => 1 ) / (object) array ( 'bar' => 1, 'foo' => 2 ) - Error Unsupported operand types +array ( 0 => 1 ) / DateTime - Error Unsupported operand types +array ( 0 => 1 ) / resource - Error Unsupported operand types +array ( 0 => 1 ) / NULL - Error Unsupported operand types +array ( 0 => 1, 1 => 100 ) / false - Error Unsupported operand types +array ( 0 => 1, 1 => 100 ) / true - Error Unsupported operand types +array ( 0 => 1, 1 => 100 ) / 0 - Error Unsupported operand types +array ( 0 => 1, 1 => 100 ) / 10 - Error Unsupported operand types +array ( 0 => 1, 1 => 100 ) / 0.0 - Error Unsupported operand types +array ( 0 => 1, 1 => 100 ) / 10.0 - Error Unsupported operand types +array ( 0 => 1, 1 => 100 ) / 3.14 - Error Unsupported operand types +array ( 0 => 1, 1 => 100 ) / '0' - Error Unsupported operand types +array ( 0 => 1, 1 => 100 ) / '10' - Error Unsupported operand types +array ( 0 => 1, 1 => 100 ) / '010' - Error Unsupported operand types +array ( 0 => 1, 1 => 100 ) / '10 elephants' - Error Unsupported operand types +array ( 0 => 1, 1 => 100 ) / 'foo' - Error Unsupported operand types +array ( 0 => 1, 1 => 100 ) / array ( ) - Error Unsupported operand types +array ( 0 => 1, 1 => 100 ) / array ( 0 => 1 ) - Error Unsupported operand types +array ( 0 => 1, 1 => 100 ) / array ( 0 => 1, 1 => 100 ) - Error Unsupported operand types +array ( 0 => 1, 1 => 100 ) / array ( 'foo' => 1, 'bar' => 2 ) - Error Unsupported operand types +array ( 0 => 1, 1 => 100 ) / array ( 'bar' => 1, 'foo' => 2 ) - Error Unsupported operand types +array ( 0 => 1, 1 => 100 ) / (object) array ( ) - Error Unsupported operand types +array ( 0 => 1, 1 => 100 ) / (object) array ( 'foo' => 1, 'bar' => 2 ) - Error Unsupported operand types +array ( 0 => 1, 1 => 100 ) / (object) array ( 'bar' => 1, 'foo' => 2 ) - Error Unsupported operand types +array ( 0 => 1, 1 => 100 ) / DateTime - Error Unsupported operand types +array ( 0 => 1, 1 => 100 ) / resource - Error Unsupported operand types +array ( 0 => 1, 1 => 100 ) / NULL - Error Unsupported operand types +array ( 'foo' => 1, 'bar' => 2 ) / false - Error Unsupported operand types +array ( 'foo' => 1, 'bar' => 2 ) / true - Error Unsupported operand types +array ( 'foo' => 1, 'bar' => 2 ) / 0 - Error Unsupported operand types +array ( 'foo' => 1, 'bar' => 2 ) / 10 - Error Unsupported operand types +array ( 'foo' => 1, 'bar' => 2 ) / 0.0 - Error Unsupported operand types +array ( 'foo' => 1, 'bar' => 2 ) / 10.0 - Error Unsupported operand types +array ( 'foo' => 1, 'bar' => 2 ) / 3.14 - Error Unsupported operand types +array ( 'foo' => 1, 'bar' => 2 ) / '0' - Error Unsupported operand types +array ( 'foo' => 1, 'bar' => 2 ) / '10' - Error Unsupported operand types +array ( 'foo' => 1, 'bar' => 2 ) / '010' - Error Unsupported operand types +array ( 'foo' => 1, 'bar' => 2 ) / '10 elephants' - Error Unsupported operand types +array ( 'foo' => 1, 'bar' => 2 ) / 'foo' - Error Unsupported operand types +array ( 'foo' => 1, 'bar' => 2 ) / array ( ) - Error Unsupported operand types +array ( 'foo' => 1, 'bar' => 2 ) / array ( 0 => 1 ) - Error Unsupported operand types +array ( 'foo' => 1, 'bar' => 2 ) / array ( 0 => 1, 1 => 100 ) - Error Unsupported operand types +array ( 'foo' => 1, 'bar' => 2 ) / array ( 'foo' => 1, 'bar' => 2 ) - Error Unsupported operand types +array ( 'foo' => 1, 'bar' => 2 ) / array ( 'bar' => 1, 'foo' => 2 ) - Error Unsupported operand types +array ( 'foo' => 1, 'bar' => 2 ) / (object) array ( ) - Error Unsupported operand types +array ( 'foo' => 1, 'bar' => 2 ) / (object) array ( 'foo' => 1, 'bar' => 2 ) - Error Unsupported operand types +array ( 'foo' => 1, 'bar' => 2 ) / (object) array ( 'bar' => 1, 'foo' => 2 ) - Error Unsupported operand types +array ( 'foo' => 1, 'bar' => 2 ) / DateTime - Error Unsupported operand types +array ( 'foo' => 1, 'bar' => 2 ) / resource - Error Unsupported operand types +array ( 'foo' => 1, 'bar' => 2 ) / NULL - Error Unsupported operand types +array ( 'bar' => 1, 'foo' => 2 ) / false - Error Unsupported operand types +array ( 'bar' => 1, 'foo' => 2 ) / true - Error Unsupported operand types +array ( 'bar' => 1, 'foo' => 2 ) / 0 - Error Unsupported operand types +array ( 'bar' => 1, 'foo' => 2 ) / 10 - Error Unsupported operand types +array ( 'bar' => 1, 'foo' => 2 ) / 0.0 - Error Unsupported operand types +array ( 'bar' => 1, 'foo' => 2 ) / 10.0 - Error Unsupported operand types +array ( 'bar' => 1, 'foo' => 2 ) / 3.14 - Error Unsupported operand types +array ( 'bar' => 1, 'foo' => 2 ) / '0' - Error Unsupported operand types +array ( 'bar' => 1, 'foo' => 2 ) / '10' - Error Unsupported operand types +array ( 'bar' => 1, 'foo' => 2 ) / '010' - Error Unsupported operand types +array ( 'bar' => 1, 'foo' => 2 ) / '10 elephants' - Error Unsupported operand types +array ( 'bar' => 1, 'foo' => 2 ) / 'foo' - Error Unsupported operand types +array ( 'bar' => 1, 'foo' => 2 ) / array ( ) - Error Unsupported operand types +array ( 'bar' => 1, 'foo' => 2 ) / array ( 0 => 1 ) - Error Unsupported operand types +array ( 'bar' => 1, 'foo' => 2 ) / array ( 0 => 1, 1 => 100 ) - Error Unsupported operand types +array ( 'bar' => 1, 'foo' => 2 ) / array ( 'foo' => 1, 'bar' => 2 ) - Error Unsupported operand types +array ( 'bar' => 1, 'foo' => 2 ) / array ( 'bar' => 1, 'foo' => 2 ) - Error Unsupported operand types +array ( 'bar' => 1, 'foo' => 2 ) / (object) array ( ) - Error Unsupported operand types +array ( 'bar' => 1, 'foo' => 2 ) / (object) array ( 'foo' => 1, 'bar' => 2 ) - Error Unsupported operand types +array ( 'bar' => 1, 'foo' => 2 ) / (object) array ( 'bar' => 1, 'foo' => 2 ) - Error Unsupported operand types +array ( 'bar' => 1, 'foo' => 2 ) / DateTime - Error Unsupported operand types +array ( 'bar' => 1, 'foo' => 2 ) / resource - Error Unsupported operand types +array ( 'bar' => 1, 'foo' => 2 ) / NULL - Error Unsupported operand types +(object) array ( ) / false = INF - Warning Division by zero +(object) array ( ) / true = 1 - Notice Object of class stdClass could not be converted to number +(object) array ( ) / 0 = INF - Warning Division by zero +(object) array ( ) / 10 = 0.1 - Notice Object of class stdClass could not be converted to number +(object) array ( ) / 0.0 = INF - Warning Division by zero +(object) array ( ) / 10.0 = 0.1 - Notice Object of class stdClass could not be converted to number +(object) array ( ) / 3.14 = 0.3184713375796178 - Notice Object of class stdClass could not be converted to number +(object) array ( ) / '0' = INF - Warning Division by zero +(object) array ( ) / '10' = 0.1 - Notice Object of class stdClass could not be converted to number +(object) array ( ) / '010' = 0.1 - Notice Object of class stdClass could not be converted to number +(object) array ( ) / '10 elephants' = 0.1 - Notice A non well formed numeric value encountered +(object) array ( ) / 'foo' = INF - Warning Division by zero +(object) array ( ) / array ( ) - Error Unsupported operand types +(object) array ( ) / array ( 0 => 1 ) - Error Unsupported operand types +(object) array ( ) / array ( 0 => 1, 1 => 100 ) - Error Unsupported operand types +(object) array ( ) / array ( 'foo' => 1, 'bar' => 2 ) - Error Unsupported operand types +(object) array ( ) / array ( 'bar' => 1, 'foo' => 2 ) - Error Unsupported operand types +(object) array ( ) / (object) array ( ) = 1 - Notice Object of class stdClass could not be converted to number +(object) array ( ) / (object) array ( 'foo' => 1, 'bar' => 2 ) = 1 - Notice Object of class stdClass could not be converted to number +(object) array ( ) / (object) array ( 'bar' => 1, 'foo' => 2 ) = 1 - Notice Object of class stdClass could not be converted to number +(object) array ( ) / DateTime = 1 - Notice Object of class DateTime could not be converted to number +(object) array ( ) / resource = 0.16666666666666666 - Notice Object of class stdClass could not be converted to number +(object) array ( ) / NULL = INF - Warning Division by zero +(object) array ( 'foo' => 1, 'bar' => 2 ) / false = INF - Warning Division by zero +(object) array ( 'foo' => 1, 'bar' => 2 ) / true = 1 - Notice Object of class stdClass could not be converted to number +(object) array ( 'foo' => 1, 'bar' => 2 ) / 0 = INF - Warning Division by zero +(object) array ( 'foo' => 1, 'bar' => 2 ) / 10 = 0.1 - Notice Object of class stdClass could not be converted to number +(object) array ( 'foo' => 1, 'bar' => 2 ) / 0.0 = INF - Warning Division by zero +(object) array ( 'foo' => 1, 'bar' => 2 ) / 10.0 = 0.1 - Notice Object of class stdClass could not be converted to number +(object) array ( 'foo' => 1, 'bar' => 2 ) / 3.14 = 0.3184713375796178 - Notice Object of class stdClass could not be converted to number +(object) array ( 'foo' => 1, 'bar' => 2 ) / '0' = INF - Warning Division by zero +(object) array ( 'foo' => 1, 'bar' => 2 ) / '10' = 0.1 - Notice Object of class stdClass could not be converted to number +(object) array ( 'foo' => 1, 'bar' => 2 ) / '010' = 0.1 - Notice Object of class stdClass could not be converted to number +(object) array ( 'foo' => 1, 'bar' => 2 ) / '10 elephants' = 0.1 - Notice A non well formed numeric value encountered +(object) array ( 'foo' => 1, 'bar' => 2 ) / 'foo' = INF - Warning Division by zero +(object) array ( 'foo' => 1, 'bar' => 2 ) / array ( ) - Error Unsupported operand types +(object) array ( 'foo' => 1, 'bar' => 2 ) / array ( 0 => 1 ) - Error Unsupported operand types +(object) array ( 'foo' => 1, 'bar' => 2 ) / array ( 0 => 1, 1 => 100 ) - Error Unsupported operand types +(object) array ( 'foo' => 1, 'bar' => 2 ) / array ( 'foo' => 1, 'bar' => 2 ) - Error Unsupported operand types +(object) array ( 'foo' => 1, 'bar' => 2 ) / array ( 'bar' => 1, 'foo' => 2 ) - Error Unsupported operand types +(object) array ( 'foo' => 1, 'bar' => 2 ) / (object) array ( ) = 1 - Notice Object of class stdClass could not be converted to number +(object) array ( 'foo' => 1, 'bar' => 2 ) / (object) array ( 'foo' => 1, 'bar' => 2 ) = 1 - Notice Object of class stdClass could not be converted to number +(object) array ( 'foo' => 1, 'bar' => 2 ) / (object) array ( 'bar' => 1, 'foo' => 2 ) = 1 - Notice Object of class stdClass could not be converted to number +(object) array ( 'foo' => 1, 'bar' => 2 ) / DateTime = 1 - Notice Object of class DateTime could not be converted to number +(object) array ( 'foo' => 1, 'bar' => 2 ) / resource = 0.16666666666666666 - Notice Object of class stdClass could not be converted to number +(object) array ( 'foo' => 1, 'bar' => 2 ) / NULL = INF - Warning Division by zero +(object) array ( 'bar' => 1, 'foo' => 2 ) / false = INF - Warning Division by zero +(object) array ( 'bar' => 1, 'foo' => 2 ) / true = 1 - Notice Object of class stdClass could not be converted to number +(object) array ( 'bar' => 1, 'foo' => 2 ) / 0 = INF - Warning Division by zero +(object) array ( 'bar' => 1, 'foo' => 2 ) / 10 = 0.1 - Notice Object of class stdClass could not be converted to number +(object) array ( 'bar' => 1, 'foo' => 2 ) / 0.0 = INF - Warning Division by zero +(object) array ( 'bar' => 1, 'foo' => 2 ) / 10.0 = 0.1 - Notice Object of class stdClass could not be converted to number +(object) array ( 'bar' => 1, 'foo' => 2 ) / 3.14 = 0.3184713375796178 - Notice Object of class stdClass could not be converted to number +(object) array ( 'bar' => 1, 'foo' => 2 ) / '0' = INF - Warning Division by zero +(object) array ( 'bar' => 1, 'foo' => 2 ) / '10' = 0.1 - Notice Object of class stdClass could not be converted to number +(object) array ( 'bar' => 1, 'foo' => 2 ) / '010' = 0.1 - Notice Object of class stdClass could not be converted to number +(object) array ( 'bar' => 1, 'foo' => 2 ) / '10 elephants' = 0.1 - Notice A non well formed numeric value encountered +(object) array ( 'bar' => 1, 'foo' => 2 ) / 'foo' = INF - Warning Division by zero +(object) array ( 'bar' => 1, 'foo' => 2 ) / array ( ) - Error Unsupported operand types +(object) array ( 'bar' => 1, 'foo' => 2 ) / array ( 0 => 1 ) - Error Unsupported operand types +(object) array ( 'bar' => 1, 'foo' => 2 ) / array ( 0 => 1, 1 => 100 ) - Error Unsupported operand types +(object) array ( 'bar' => 1, 'foo' => 2 ) / array ( 'foo' => 1, 'bar' => 2 ) - Error Unsupported operand types +(object) array ( 'bar' => 1, 'foo' => 2 ) / array ( 'bar' => 1, 'foo' => 2 ) - Error Unsupported operand types +(object) array ( 'bar' => 1, 'foo' => 2 ) / (object) array ( ) = 1 - Notice Object of class stdClass could not be converted to number +(object) array ( 'bar' => 1, 'foo' => 2 ) / (object) array ( 'foo' => 1, 'bar' => 2 ) = 1 - Notice Object of class stdClass could not be converted to number +(object) array ( 'bar' => 1, 'foo' => 2 ) / (object) array ( 'bar' => 1, 'foo' => 2 ) = 1 - Notice Object of class stdClass could not be converted to number +(object) array ( 'bar' => 1, 'foo' => 2 ) / DateTime = 1 - Notice Object of class DateTime could not be converted to number +(object) array ( 'bar' => 1, 'foo' => 2 ) / resource = 0.16666666666666666 - Notice Object of class stdClass could not be converted to number +(object) array ( 'bar' => 1, 'foo' => 2 ) / NULL = INF - Warning Division by zero +DateTime / false = INF - Warning Division by zero +DateTime / true = 1 - Notice Object of class DateTime could not be converted to number +DateTime / 0 = INF - Warning Division by zero +DateTime / 10 = 0.1 - Notice Object of class DateTime could not be converted to number +DateTime / 0.0 = INF - Warning Division by zero +DateTime / 10.0 = 0.1 - Notice Object of class DateTime could not be converted to number +DateTime / 3.14 = 0.3184713375796178 - Notice Object of class DateTime could not be converted to number +DateTime / '0' = INF - Warning Division by zero +DateTime / '10' = 0.1 - Notice Object of class DateTime could not be converted to number +DateTime / '010' = 0.1 - Notice Object of class DateTime could not be converted to number +DateTime / '10 elephants' = 0.1 - Notice A non well formed numeric value encountered +DateTime / 'foo' = INF - Warning Division by zero +DateTime / array ( ) - Error Unsupported operand types +DateTime / array ( 0 => 1 ) - Error Unsupported operand types +DateTime / array ( 0 => 1, 1 => 100 ) - Error Unsupported operand types +DateTime / array ( 'foo' => 1, 'bar' => 2 ) - Error Unsupported operand types +DateTime / array ( 'bar' => 1, 'foo' => 2 ) - Error Unsupported operand types +DateTime / (object) array ( ) = 1 - Notice Object of class stdClass could not be converted to number +DateTime / (object) array ( 'foo' => 1, 'bar' => 2 ) = 1 - Notice Object of class stdClass could not be converted to number +DateTime / (object) array ( 'bar' => 1, 'foo' => 2 ) = 1 - Notice Object of class stdClass could not be converted to number +DateTime / DateTime = 1 - Notice Object of class DateTime could not be converted to number +DateTime / resource = 0.16666666666666666 - Notice Object of class DateTime could not be converted to number +DateTime / NULL = INF - Warning Division by zero +resource / false = INF - Warning Division by zero +resource / true = 6 +resource / 0 = INF - Warning Division by zero +resource / 10 = 0.6 +resource / 0.0 = INF - Warning Division by zero +resource / 10.0 = 0.6 +resource / 3.14 = 1.910828025477707 +resource / '0' = INF - Warning Division by zero +resource / '10' = 0.6 +resource / '010' = 0.6 +resource / '10 elephants' = 0.6 - Notice A non well formed numeric value encountered +resource / 'foo' = INF - Warning Division by zero +resource / array ( ) - Error Unsupported operand types +resource / array ( 0 => 1 ) - Error Unsupported operand types +resource / array ( 0 => 1, 1 => 100 ) - Error Unsupported operand types +resource / array ( 'foo' => 1, 'bar' => 2 ) - Error Unsupported operand types +resource / array ( 'bar' => 1, 'foo' => 2 ) - Error Unsupported operand types +resource / (object) array ( ) = 6 - Notice Object of class stdClass could not be converted to number +resource / (object) array ( 'foo' => 1, 'bar' => 2 ) = 6 - Notice Object of class stdClass could not be converted to number +resource / (object) array ( 'bar' => 1, 'foo' => 2 ) = 6 - Notice Object of class stdClass could not be converted to number +resource / DateTime = 6 - Notice Object of class DateTime could not be converted to number +resource / resource = 1 +resource / NULL = INF - Warning Division by zero +NULL / false = NAN - Warning Division by zero +NULL / true = 0 +NULL / 0 = NAN - Warning Division by zero +NULL / 10 = 0 +NULL / 0.0 = NAN - Warning Division by zero +NULL / 10.0 = 0.0 +NULL / 3.14 = 0.0 +NULL / '0' = NAN - Warning Division by zero +NULL / '10' = 0 +NULL / '010' = 0 +NULL / '10 elephants' = 0 - Notice A non well formed numeric value encountered +NULL / 'foo' = NAN - Warning Division by zero +NULL / array ( ) - Error Unsupported operand types +NULL / array ( 0 => 1 ) - Error Unsupported operand types +NULL / array ( 0 => 1, 1 => 100 ) - Error Unsupported operand types +NULL / array ( 'foo' => 1, 'bar' => 2 ) - Error Unsupported operand types +NULL / array ( 'bar' => 1, 'foo' => 2 ) - Error Unsupported operand types +NULL / (object) array ( ) = 0 - Notice Object of class stdClass could not be converted to number +NULL / (object) array ( 'foo' => 1, 'bar' => 2 ) = 0 - Notice Object of class stdClass could not be converted to number +NULL / (object) array ( 'bar' => 1, 'foo' => 2 ) = 0 - Notice Object of class stdClass could not be converted to number +NULL / DateTime = 0 - Notice Object of class DateTime could not be converted to number +NULL / resource = 0 +NULL / NULL = NAN - Warning Division by zero \ No newline at end of file diff --git a/Zend/tests/operators/arithmetic/division_strict.phpt b/Zend/tests/operators/arithmetic/division_strict.phpt new file mode 100644 index 000000000000..76a77694ff07 --- /dev/null +++ b/Zend/tests/operators/arithmetic/division_strict.phpt @@ -0,0 +1,544 @@ +--TEST-- +division '/' operator with strict_operators +--INI-- +precision=14 +--FILE-- + 1 ) - TypeError Unsupported operand type bool for division +false / array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type bool for division +false / array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type bool for division +false / array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type bool for division +false / (object) array ( ) - TypeError Unsupported operand type bool for division +false / (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type bool for division +false / (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type bool for division +false / DateTime - TypeError Unsupported operand type bool for division +false / resource - TypeError Unsupported operand type bool for division +false / NULL - TypeError Unsupported operand type bool for division +true / false - TypeError Unsupported operand type bool for division +true / true - TypeError Unsupported operand type bool for division +true / 0 - TypeError Unsupported operand type bool for division +true / 10 - TypeError Unsupported operand type bool for division +true / 0.0 - TypeError Unsupported operand type bool for division +true / 10.0 - TypeError Unsupported operand type bool for division +true / 3.14 - TypeError Unsupported operand type bool for division +true / '0' - TypeError Unsupported operand type bool for division +true / '10' - TypeError Unsupported operand type bool for division +true / '010' - TypeError Unsupported operand type bool for division +true / '10 elephants' - TypeError Unsupported operand type bool for division +true / 'foo' - TypeError Unsupported operand type bool for division +true / array ( ) - TypeError Unsupported operand type bool for division +true / array ( 0 => 1 ) - TypeError Unsupported operand type bool for division +true / array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type bool for division +true / array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type bool for division +true / array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type bool for division +true / (object) array ( ) - TypeError Unsupported operand type bool for division +true / (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type bool for division +true / (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type bool for division +true / DateTime - TypeError Unsupported operand type bool for division +true / resource - TypeError Unsupported operand type bool for division +true / NULL - TypeError Unsupported operand type bool for division +0 / false - TypeError Unsupported operand type bool for division +0 / true - TypeError Unsupported operand type bool for division +0 / 0 = NAN - Warning Division by zero +0 / 10 = 0 +0 / 0.0 = NAN - Warning Division by zero +0 / 10.0 = 0.0 +0 / 3.14 = 0.0 +0 / '0' - TypeError Unsupported operand type string for division +0 / '10' - TypeError Unsupported operand type string for division +0 / '010' - TypeError Unsupported operand type string for division +0 / '10 elephants' - TypeError Unsupported operand type string for division +0 / 'foo' - TypeError Unsupported operand type string for division +0 / array ( ) - TypeError Unsupported operand type array for division +0 / array ( 0 => 1 ) - TypeError Unsupported operand type array for division +0 / array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for division +0 / array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for division +0 / array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for division +0 / (object) array ( ) - TypeError Unsupported operand type object for division +0 / (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for division +0 / (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for division +0 / DateTime - TypeError Unsupported operand type object for division +0 / resource - TypeError Unsupported operand type resource for division +0 / NULL - TypeError Unsupported operand type null for division +10 / false - TypeError Unsupported operand type bool for division +10 / true - TypeError Unsupported operand type bool for division +10 / 0 = INF - Warning Division by zero +10 / 10 = 1 +10 / 0.0 = INF - Warning Division by zero +10 / 10.0 = 1.0 +10 / 3.14 = 3.184713375796178 +10 / '0' - TypeError Unsupported operand type string for division +10 / '10' - TypeError Unsupported operand type string for division +10 / '010' - TypeError Unsupported operand type string for division +10 / '10 elephants' - TypeError Unsupported operand type string for division +10 / 'foo' - TypeError Unsupported operand type string for division +10 / array ( ) - TypeError Unsupported operand type array for division +10 / array ( 0 => 1 ) - TypeError Unsupported operand type array for division +10 / array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for division +10 / array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for division +10 / array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for division +10 / (object) array ( ) - TypeError Unsupported operand type object for division +10 / (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for division +10 / (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for division +10 / DateTime - TypeError Unsupported operand type object for division +10 / resource - TypeError Unsupported operand type resource for division +10 / NULL - TypeError Unsupported operand type null for division +0.0 / false - TypeError Unsupported operand type bool for division +0.0 / true - TypeError Unsupported operand type bool for division +0.0 / 0 = NAN - Warning Division by zero +0.0 / 10 = 0.0 +0.0 / 0.0 = NAN - Warning Division by zero +0.0 / 10.0 = 0.0 +0.0 / 3.14 = 0.0 +0.0 / '0' - TypeError Unsupported operand type string for division +0.0 / '10' - TypeError Unsupported operand type string for division +0.0 / '010' - TypeError Unsupported operand type string for division +0.0 / '10 elephants' - TypeError Unsupported operand type string for division +0.0 / 'foo' - TypeError Unsupported operand type string for division +0.0 / array ( ) - TypeError Unsupported operand type array for division +0.0 / array ( 0 => 1 ) - TypeError Unsupported operand type array for division +0.0 / array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for division +0.0 / array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for division +0.0 / array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for division +0.0 / (object) array ( ) - TypeError Unsupported operand type object for division +0.0 / (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for division +0.0 / (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for division +0.0 / DateTime - TypeError Unsupported operand type object for division +0.0 / resource - TypeError Unsupported operand type resource for division +0.0 / NULL - TypeError Unsupported operand type null for division +10.0 / false - TypeError Unsupported operand type bool for division +10.0 / true - TypeError Unsupported operand type bool for division +10.0 / 0 = INF - Warning Division by zero +10.0 / 10 = 1.0 +10.0 / 0.0 = INF - Warning Division by zero +10.0 / 10.0 = 1.0 +10.0 / 3.14 = 3.184713375796178 +10.0 / '0' - TypeError Unsupported operand type string for division +10.0 / '10' - TypeError Unsupported operand type string for division +10.0 / '010' - TypeError Unsupported operand type string for division +10.0 / '10 elephants' - TypeError Unsupported operand type string for division +10.0 / 'foo' - TypeError Unsupported operand type string for division +10.0 / array ( ) - TypeError Unsupported operand type array for division +10.0 / array ( 0 => 1 ) - TypeError Unsupported operand type array for division +10.0 / array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for division +10.0 / array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for division +10.0 / array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for division +10.0 / (object) array ( ) - TypeError Unsupported operand type object for division +10.0 / (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for division +10.0 / (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for division +10.0 / DateTime - TypeError Unsupported operand type object for division +10.0 / resource - TypeError Unsupported operand type resource for division +10.0 / NULL - TypeError Unsupported operand type null for division +3.14 / false - TypeError Unsupported operand type bool for division +3.14 / true - TypeError Unsupported operand type bool for division +3.14 / 0 = INF - Warning Division by zero +3.14 / 10 = 0.314 +3.14 / 0.0 = INF - Warning Division by zero +3.14 / 10.0 = 0.314 +3.14 / 3.14 = 1.0 +3.14 / '0' - TypeError Unsupported operand type string for division +3.14 / '10' - TypeError Unsupported operand type string for division +3.14 / '010' - TypeError Unsupported operand type string for division +3.14 / '10 elephants' - TypeError Unsupported operand type string for division +3.14 / 'foo' - TypeError Unsupported operand type string for division +3.14 / array ( ) - TypeError Unsupported operand type array for division +3.14 / array ( 0 => 1 ) - TypeError Unsupported operand type array for division +3.14 / array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for division +3.14 / array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for division +3.14 / array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for division +3.14 / (object) array ( ) - TypeError Unsupported operand type object for division +3.14 / (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for division +3.14 / (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for division +3.14 / DateTime - TypeError Unsupported operand type object for division +3.14 / resource - TypeError Unsupported operand type resource for division +3.14 / NULL - TypeError Unsupported operand type null for division +'0' / false - TypeError Unsupported operand type string for division +'0' / true - TypeError Unsupported operand type string for division +'0' / 0 - TypeError Unsupported operand type string for division +'0' / 10 - TypeError Unsupported operand type string for division +'0' / 0.0 - TypeError Unsupported operand type string for division +'0' / 10.0 - TypeError Unsupported operand type string for division +'0' / 3.14 - TypeError Unsupported operand type string for division +'0' / '0' - TypeError Unsupported operand type string for division +'0' / '10' - TypeError Unsupported operand type string for division +'0' / '010' - TypeError Unsupported operand type string for division +'0' / '10 elephants' - TypeError Unsupported operand type string for division +'0' / 'foo' - TypeError Unsupported operand type string for division +'0' / array ( ) - TypeError Unsupported operand type string for division +'0' / array ( 0 => 1 ) - TypeError Unsupported operand type string for division +'0' / array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type string for division +'0' / array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type string for division +'0' / array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type string for division +'0' / (object) array ( ) - TypeError Unsupported operand type string for division +'0' / (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type string for division +'0' / (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type string for division +'0' / DateTime - TypeError Unsupported operand type string for division +'0' / resource - TypeError Unsupported operand type string for division +'0' / NULL - TypeError Unsupported operand type string for division +'10' / false - TypeError Unsupported operand type string for division +'10' / true - TypeError Unsupported operand type string for division +'10' / 0 - TypeError Unsupported operand type string for division +'10' / 10 - TypeError Unsupported operand type string for division +'10' / 0.0 - TypeError Unsupported operand type string for division +'10' / 10.0 - TypeError Unsupported operand type string for division +'10' / 3.14 - TypeError Unsupported operand type string for division +'10' / '0' - TypeError Unsupported operand type string for division +'10' / '10' - TypeError Unsupported operand type string for division +'10' / '010' - TypeError Unsupported operand type string for division +'10' / '10 elephants' - TypeError Unsupported operand type string for division +'10' / 'foo' - TypeError Unsupported operand type string for division +'10' / array ( ) - TypeError Unsupported operand type string for division +'10' / array ( 0 => 1 ) - TypeError Unsupported operand type string for division +'10' / array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type string for division +'10' / array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type string for division +'10' / array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type string for division +'10' / (object) array ( ) - TypeError Unsupported operand type string for division +'10' / (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type string for division +'10' / (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type string for division +'10' / DateTime - TypeError Unsupported operand type string for division +'10' / resource - TypeError Unsupported operand type string for division +'10' / NULL - TypeError Unsupported operand type string for division +'010' / false - TypeError Unsupported operand type string for division +'010' / true - TypeError Unsupported operand type string for division +'010' / 0 - TypeError Unsupported operand type string for division +'010' / 10 - TypeError Unsupported operand type string for division +'010' / 0.0 - TypeError Unsupported operand type string for division +'010' / 10.0 - TypeError Unsupported operand type string for division +'010' / 3.14 - TypeError Unsupported operand type string for division +'010' / '0' - TypeError Unsupported operand type string for division +'010' / '10' - TypeError Unsupported operand type string for division +'010' / '010' - TypeError Unsupported operand type string for division +'010' / '10 elephants' - TypeError Unsupported operand type string for division +'010' / 'foo' - TypeError Unsupported operand type string for division +'010' / array ( ) - TypeError Unsupported operand type string for division +'010' / array ( 0 => 1 ) - TypeError Unsupported operand type string for division +'010' / array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type string for division +'010' / array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type string for division +'010' / array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type string for division +'010' / (object) array ( ) - TypeError Unsupported operand type string for division +'010' / (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type string for division +'010' / (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type string for division +'010' / DateTime - TypeError Unsupported operand type string for division +'010' / resource - TypeError Unsupported operand type string for division +'010' / NULL - TypeError Unsupported operand type string for division +'10 elephants' / false - TypeError Unsupported operand type string for division +'10 elephants' / true - TypeError Unsupported operand type string for division +'10 elephants' / 0 - TypeError Unsupported operand type string for division +'10 elephants' / 10 - TypeError Unsupported operand type string for division +'10 elephants' / 0.0 - TypeError Unsupported operand type string for division +'10 elephants' / 10.0 - TypeError Unsupported operand type string for division +'10 elephants' / 3.14 - TypeError Unsupported operand type string for division +'10 elephants' / '0' - TypeError Unsupported operand type string for division +'10 elephants' / '10' - TypeError Unsupported operand type string for division +'10 elephants' / '010' - TypeError Unsupported operand type string for division +'10 elephants' / '10 elephants' - TypeError Unsupported operand type string for division +'10 elephants' / 'foo' - TypeError Unsupported operand type string for division +'10 elephants' / array ( ) - TypeError Unsupported operand type string for division +'10 elephants' / array ( 0 => 1 ) - TypeError Unsupported operand type string for division +'10 elephants' / array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type string for division +'10 elephants' / array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type string for division +'10 elephants' / array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type string for division +'10 elephants' / (object) array ( ) - TypeError Unsupported operand type string for division +'10 elephants' / (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type string for division +'10 elephants' / (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type string for division +'10 elephants' / DateTime - TypeError Unsupported operand type string for division +'10 elephants' / resource - TypeError Unsupported operand type string for division +'10 elephants' / NULL - TypeError Unsupported operand type string for division +'foo' / false - TypeError Unsupported operand type string for division +'foo' / true - TypeError Unsupported operand type string for division +'foo' / 0 - TypeError Unsupported operand type string for division +'foo' / 10 - TypeError Unsupported operand type string for division +'foo' / 0.0 - TypeError Unsupported operand type string for division +'foo' / 10.0 - TypeError Unsupported operand type string for division +'foo' / 3.14 - TypeError Unsupported operand type string for division +'foo' / '0' - TypeError Unsupported operand type string for division +'foo' / '10' - TypeError Unsupported operand type string for division +'foo' / '010' - TypeError Unsupported operand type string for division +'foo' / '10 elephants' - TypeError Unsupported operand type string for division +'foo' / 'foo' - TypeError Unsupported operand type string for division +'foo' / array ( ) - TypeError Unsupported operand type string for division +'foo' / array ( 0 => 1 ) - TypeError Unsupported operand type string for division +'foo' / array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type string for division +'foo' / array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type string for division +'foo' / array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type string for division +'foo' / (object) array ( ) - TypeError Unsupported operand type string for division +'foo' / (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type string for division +'foo' / (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type string for division +'foo' / DateTime - TypeError Unsupported operand type string for division +'foo' / resource - TypeError Unsupported operand type string for division +'foo' / NULL - TypeError Unsupported operand type string for division +array ( ) / false - TypeError Unsupported operand type array for division +array ( ) / true - TypeError Unsupported operand type array for division +array ( ) / 0 - TypeError Unsupported operand type array for division +array ( ) / 10 - TypeError Unsupported operand type array for division +array ( ) / 0.0 - TypeError Unsupported operand type array for division +array ( ) / 10.0 - TypeError Unsupported operand type array for division +array ( ) / 3.14 - TypeError Unsupported operand type array for division +array ( ) / '0' - TypeError Unsupported operand type array for division +array ( ) / '10' - TypeError Unsupported operand type array for division +array ( ) / '010' - TypeError Unsupported operand type array for division +array ( ) / '10 elephants' - TypeError Unsupported operand type array for division +array ( ) / 'foo' - TypeError Unsupported operand type array for division +array ( ) / array ( ) - TypeError Unsupported operand type array for division +array ( ) / array ( 0 => 1 ) - TypeError Unsupported operand type array for division +array ( ) / array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for division +array ( ) / array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for division +array ( ) / array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for division +array ( ) / (object) array ( ) - TypeError Unsupported operand type array for division +array ( ) / (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for division +array ( ) / (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for division +array ( ) / DateTime - TypeError Unsupported operand type array for division +array ( ) / resource - TypeError Unsupported operand type array for division +array ( ) / NULL - TypeError Unsupported operand type array for division +array ( 0 => 1 ) / false - TypeError Unsupported operand type array for division +array ( 0 => 1 ) / true - TypeError Unsupported operand type array for division +array ( 0 => 1 ) / 0 - TypeError Unsupported operand type array for division +array ( 0 => 1 ) / 10 - TypeError Unsupported operand type array for division +array ( 0 => 1 ) / 0.0 - TypeError Unsupported operand type array for division +array ( 0 => 1 ) / 10.0 - TypeError Unsupported operand type array for division +array ( 0 => 1 ) / 3.14 - TypeError Unsupported operand type array for division +array ( 0 => 1 ) / '0' - TypeError Unsupported operand type array for division +array ( 0 => 1 ) / '10' - TypeError Unsupported operand type array for division +array ( 0 => 1 ) / '010' - TypeError Unsupported operand type array for division +array ( 0 => 1 ) / '10 elephants' - TypeError Unsupported operand type array for division +array ( 0 => 1 ) / 'foo' - TypeError Unsupported operand type array for division +array ( 0 => 1 ) / array ( ) - TypeError Unsupported operand type array for division +array ( 0 => 1 ) / array ( 0 => 1 ) - TypeError Unsupported operand type array for division +array ( 0 => 1 ) / array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for division +array ( 0 => 1 ) / array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for division +array ( 0 => 1 ) / array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for division +array ( 0 => 1 ) / (object) array ( ) - TypeError Unsupported operand type array for division +array ( 0 => 1 ) / (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for division +array ( 0 => 1 ) / (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for division +array ( 0 => 1 ) / DateTime - TypeError Unsupported operand type array for division +array ( 0 => 1 ) / resource - TypeError Unsupported operand type array for division +array ( 0 => 1 ) / NULL - TypeError Unsupported operand type array for division +array ( 0 => 1, 1 => 100 ) / false - TypeError Unsupported operand type array for division +array ( 0 => 1, 1 => 100 ) / true - TypeError Unsupported operand type array for division +array ( 0 => 1, 1 => 100 ) / 0 - TypeError Unsupported operand type array for division +array ( 0 => 1, 1 => 100 ) / 10 - TypeError Unsupported operand type array for division +array ( 0 => 1, 1 => 100 ) / 0.0 - TypeError Unsupported operand type array for division +array ( 0 => 1, 1 => 100 ) / 10.0 - TypeError Unsupported operand type array for division +array ( 0 => 1, 1 => 100 ) / 3.14 - TypeError Unsupported operand type array for division +array ( 0 => 1, 1 => 100 ) / '0' - TypeError Unsupported operand type array for division +array ( 0 => 1, 1 => 100 ) / '10' - TypeError Unsupported operand type array for division +array ( 0 => 1, 1 => 100 ) / '010' - TypeError Unsupported operand type array for division +array ( 0 => 1, 1 => 100 ) / '10 elephants' - TypeError Unsupported operand type array for division +array ( 0 => 1, 1 => 100 ) / 'foo' - TypeError Unsupported operand type array for division +array ( 0 => 1, 1 => 100 ) / array ( ) - TypeError Unsupported operand type array for division +array ( 0 => 1, 1 => 100 ) / array ( 0 => 1 ) - TypeError Unsupported operand type array for division +array ( 0 => 1, 1 => 100 ) / array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for division +array ( 0 => 1, 1 => 100 ) / array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for division +array ( 0 => 1, 1 => 100 ) / array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for division +array ( 0 => 1, 1 => 100 ) / (object) array ( ) - TypeError Unsupported operand type array for division +array ( 0 => 1, 1 => 100 ) / (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for division +array ( 0 => 1, 1 => 100 ) / (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for division +array ( 0 => 1, 1 => 100 ) / DateTime - TypeError Unsupported operand type array for division +array ( 0 => 1, 1 => 100 ) / resource - TypeError Unsupported operand type array for division +array ( 0 => 1, 1 => 100 ) / NULL - TypeError Unsupported operand type array for division +array ( 'foo' => 1, 'bar' => 2 ) / false - TypeError Unsupported operand type array for division +array ( 'foo' => 1, 'bar' => 2 ) / true - TypeError Unsupported operand type array for division +array ( 'foo' => 1, 'bar' => 2 ) / 0 - TypeError Unsupported operand type array for division +array ( 'foo' => 1, 'bar' => 2 ) / 10 - TypeError Unsupported operand type array for division +array ( 'foo' => 1, 'bar' => 2 ) / 0.0 - TypeError Unsupported operand type array for division +array ( 'foo' => 1, 'bar' => 2 ) / 10.0 - TypeError Unsupported operand type array for division +array ( 'foo' => 1, 'bar' => 2 ) / 3.14 - TypeError Unsupported operand type array for division +array ( 'foo' => 1, 'bar' => 2 ) / '0' - TypeError Unsupported operand type array for division +array ( 'foo' => 1, 'bar' => 2 ) / '10' - TypeError Unsupported operand type array for division +array ( 'foo' => 1, 'bar' => 2 ) / '010' - TypeError Unsupported operand type array for division +array ( 'foo' => 1, 'bar' => 2 ) / '10 elephants' - TypeError Unsupported operand type array for division +array ( 'foo' => 1, 'bar' => 2 ) / 'foo' - TypeError Unsupported operand type array for division +array ( 'foo' => 1, 'bar' => 2 ) / array ( ) - TypeError Unsupported operand type array for division +array ( 'foo' => 1, 'bar' => 2 ) / array ( 0 => 1 ) - TypeError Unsupported operand type array for division +array ( 'foo' => 1, 'bar' => 2 ) / array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for division +array ( 'foo' => 1, 'bar' => 2 ) / array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for division +array ( 'foo' => 1, 'bar' => 2 ) / array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for division +array ( 'foo' => 1, 'bar' => 2 ) / (object) array ( ) - TypeError Unsupported operand type array for division +array ( 'foo' => 1, 'bar' => 2 ) / (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for division +array ( 'foo' => 1, 'bar' => 2 ) / (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for division +array ( 'foo' => 1, 'bar' => 2 ) / DateTime - TypeError Unsupported operand type array for division +array ( 'foo' => 1, 'bar' => 2 ) / resource - TypeError Unsupported operand type array for division +array ( 'foo' => 1, 'bar' => 2 ) / NULL - TypeError Unsupported operand type array for division +array ( 'bar' => 1, 'foo' => 2 ) / false - TypeError Unsupported operand type array for division +array ( 'bar' => 1, 'foo' => 2 ) / true - TypeError Unsupported operand type array for division +array ( 'bar' => 1, 'foo' => 2 ) / 0 - TypeError Unsupported operand type array for division +array ( 'bar' => 1, 'foo' => 2 ) / 10 - TypeError Unsupported operand type array for division +array ( 'bar' => 1, 'foo' => 2 ) / 0.0 - TypeError Unsupported operand type array for division +array ( 'bar' => 1, 'foo' => 2 ) / 10.0 - TypeError Unsupported operand type array for division +array ( 'bar' => 1, 'foo' => 2 ) / 3.14 - TypeError Unsupported operand type array for division +array ( 'bar' => 1, 'foo' => 2 ) / '0' - TypeError Unsupported operand type array for division +array ( 'bar' => 1, 'foo' => 2 ) / '10' - TypeError Unsupported operand type array for division +array ( 'bar' => 1, 'foo' => 2 ) / '010' - TypeError Unsupported operand type array for division +array ( 'bar' => 1, 'foo' => 2 ) / '10 elephants' - TypeError Unsupported operand type array for division +array ( 'bar' => 1, 'foo' => 2 ) / 'foo' - TypeError Unsupported operand type array for division +array ( 'bar' => 1, 'foo' => 2 ) / array ( ) - TypeError Unsupported operand type array for division +array ( 'bar' => 1, 'foo' => 2 ) / array ( 0 => 1 ) - TypeError Unsupported operand type array for division +array ( 'bar' => 1, 'foo' => 2 ) / array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for division +array ( 'bar' => 1, 'foo' => 2 ) / array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for division +array ( 'bar' => 1, 'foo' => 2 ) / array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for division +array ( 'bar' => 1, 'foo' => 2 ) / (object) array ( ) - TypeError Unsupported operand type array for division +array ( 'bar' => 1, 'foo' => 2 ) / (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for division +array ( 'bar' => 1, 'foo' => 2 ) / (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for division +array ( 'bar' => 1, 'foo' => 2 ) / DateTime - TypeError Unsupported operand type array for division +array ( 'bar' => 1, 'foo' => 2 ) / resource - TypeError Unsupported operand type array for division +array ( 'bar' => 1, 'foo' => 2 ) / NULL - TypeError Unsupported operand type array for division +(object) array ( ) / false - TypeError Unsupported operand type object for division +(object) array ( ) / true - TypeError Unsupported operand type object for division +(object) array ( ) / 0 - TypeError Unsupported operand type object for division +(object) array ( ) / 10 - TypeError Unsupported operand type object for division +(object) array ( ) / 0.0 - TypeError Unsupported operand type object for division +(object) array ( ) / 10.0 - TypeError Unsupported operand type object for division +(object) array ( ) / 3.14 - TypeError Unsupported operand type object for division +(object) array ( ) / '0' - TypeError Unsupported operand type object for division +(object) array ( ) / '10' - TypeError Unsupported operand type object for division +(object) array ( ) / '010' - TypeError Unsupported operand type object for division +(object) array ( ) / '10 elephants' - TypeError Unsupported operand type object for division +(object) array ( ) / 'foo' - TypeError Unsupported operand type object for division +(object) array ( ) / array ( ) - TypeError Unsupported operand type object for division +(object) array ( ) / array ( 0 => 1 ) - TypeError Unsupported operand type object for division +(object) array ( ) / array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type object for division +(object) array ( ) / array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for division +(object) array ( ) / array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for division +(object) array ( ) / (object) array ( ) - TypeError Unsupported operand type object for division +(object) array ( ) / (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for division +(object) array ( ) / (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for division +(object) array ( ) / DateTime - TypeError Unsupported operand type object for division +(object) array ( ) / resource - TypeError Unsupported operand type object for division +(object) array ( ) / NULL - TypeError Unsupported operand type object for division +(object) array ( 'foo' => 1, 'bar' => 2 ) / false - TypeError Unsupported operand type object for division +(object) array ( 'foo' => 1, 'bar' => 2 ) / true - TypeError Unsupported operand type object for division +(object) array ( 'foo' => 1, 'bar' => 2 ) / 0 - TypeError Unsupported operand type object for division +(object) array ( 'foo' => 1, 'bar' => 2 ) / 10 - TypeError Unsupported operand type object for division +(object) array ( 'foo' => 1, 'bar' => 2 ) / 0.0 - TypeError Unsupported operand type object for division +(object) array ( 'foo' => 1, 'bar' => 2 ) / 10.0 - TypeError Unsupported operand type object for division +(object) array ( 'foo' => 1, 'bar' => 2 ) / 3.14 - TypeError Unsupported operand type object for division +(object) array ( 'foo' => 1, 'bar' => 2 ) / '0' - TypeError Unsupported operand type object for division +(object) array ( 'foo' => 1, 'bar' => 2 ) / '10' - TypeError Unsupported operand type object for division +(object) array ( 'foo' => 1, 'bar' => 2 ) / '010' - TypeError Unsupported operand type object for division +(object) array ( 'foo' => 1, 'bar' => 2 ) / '10 elephants' - TypeError Unsupported operand type object for division +(object) array ( 'foo' => 1, 'bar' => 2 ) / 'foo' - TypeError Unsupported operand type object for division +(object) array ( 'foo' => 1, 'bar' => 2 ) / array ( ) - TypeError Unsupported operand type object for division +(object) array ( 'foo' => 1, 'bar' => 2 ) / array ( 0 => 1 ) - TypeError Unsupported operand type object for division +(object) array ( 'foo' => 1, 'bar' => 2 ) / array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type object for division +(object) array ( 'foo' => 1, 'bar' => 2 ) / array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for division +(object) array ( 'foo' => 1, 'bar' => 2 ) / array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for division +(object) array ( 'foo' => 1, 'bar' => 2 ) / (object) array ( ) - TypeError Unsupported operand type object for division +(object) array ( 'foo' => 1, 'bar' => 2 ) / (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for division +(object) array ( 'foo' => 1, 'bar' => 2 ) / (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for division +(object) array ( 'foo' => 1, 'bar' => 2 ) / DateTime - TypeError Unsupported operand type object for division +(object) array ( 'foo' => 1, 'bar' => 2 ) / resource - TypeError Unsupported operand type object for division +(object) array ( 'foo' => 1, 'bar' => 2 ) / NULL - TypeError Unsupported operand type object for division +(object) array ( 'bar' => 1, 'foo' => 2 ) / false - TypeError Unsupported operand type object for division +(object) array ( 'bar' => 1, 'foo' => 2 ) / true - TypeError Unsupported operand type object for division +(object) array ( 'bar' => 1, 'foo' => 2 ) / 0 - TypeError Unsupported operand type object for division +(object) array ( 'bar' => 1, 'foo' => 2 ) / 10 - TypeError Unsupported operand type object for division +(object) array ( 'bar' => 1, 'foo' => 2 ) / 0.0 - TypeError Unsupported operand type object for division +(object) array ( 'bar' => 1, 'foo' => 2 ) / 10.0 - TypeError Unsupported operand type object for division +(object) array ( 'bar' => 1, 'foo' => 2 ) / 3.14 - TypeError Unsupported operand type object for division +(object) array ( 'bar' => 1, 'foo' => 2 ) / '0' - TypeError Unsupported operand type object for division +(object) array ( 'bar' => 1, 'foo' => 2 ) / '10' - TypeError Unsupported operand type object for division +(object) array ( 'bar' => 1, 'foo' => 2 ) / '010' - TypeError Unsupported operand type object for division +(object) array ( 'bar' => 1, 'foo' => 2 ) / '10 elephants' - TypeError Unsupported operand type object for division +(object) array ( 'bar' => 1, 'foo' => 2 ) / 'foo' - TypeError Unsupported operand type object for division +(object) array ( 'bar' => 1, 'foo' => 2 ) / array ( ) - TypeError Unsupported operand type object for division +(object) array ( 'bar' => 1, 'foo' => 2 ) / array ( 0 => 1 ) - TypeError Unsupported operand type object for division +(object) array ( 'bar' => 1, 'foo' => 2 ) / array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type object for division +(object) array ( 'bar' => 1, 'foo' => 2 ) / array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for division +(object) array ( 'bar' => 1, 'foo' => 2 ) / array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for division +(object) array ( 'bar' => 1, 'foo' => 2 ) / (object) array ( ) - TypeError Unsupported operand type object for division +(object) array ( 'bar' => 1, 'foo' => 2 ) / (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for division +(object) array ( 'bar' => 1, 'foo' => 2 ) / (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for division +(object) array ( 'bar' => 1, 'foo' => 2 ) / DateTime - TypeError Unsupported operand type object for division +(object) array ( 'bar' => 1, 'foo' => 2 ) / resource - TypeError Unsupported operand type object for division +(object) array ( 'bar' => 1, 'foo' => 2 ) / NULL - TypeError Unsupported operand type object for division +DateTime / false - TypeError Unsupported operand type object for division +DateTime / true - TypeError Unsupported operand type object for division +DateTime / 0 - TypeError Unsupported operand type object for division +DateTime / 10 - TypeError Unsupported operand type object for division +DateTime / 0.0 - TypeError Unsupported operand type object for division +DateTime / 10.0 - TypeError Unsupported operand type object for division +DateTime / 3.14 - TypeError Unsupported operand type object for division +DateTime / '0' - TypeError Unsupported operand type object for division +DateTime / '10' - TypeError Unsupported operand type object for division +DateTime / '010' - TypeError Unsupported operand type object for division +DateTime / '10 elephants' - TypeError Unsupported operand type object for division +DateTime / 'foo' - TypeError Unsupported operand type object for division +DateTime / array ( ) - TypeError Unsupported operand type object for division +DateTime / array ( 0 => 1 ) - TypeError Unsupported operand type object for division +DateTime / array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type object for division +DateTime / array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for division +DateTime / array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for division +DateTime / (object) array ( ) - TypeError Unsupported operand type object for division +DateTime / (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for division +DateTime / (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for division +DateTime / DateTime - TypeError Unsupported operand type object for division +DateTime / resource - TypeError Unsupported operand type object for division +DateTime / NULL - TypeError Unsupported operand type object for division +resource / false - TypeError Unsupported operand type resource for division +resource / true - TypeError Unsupported operand type resource for division +resource / 0 - TypeError Unsupported operand type resource for division +resource / 10 - TypeError Unsupported operand type resource for division +resource / 0.0 - TypeError Unsupported operand type resource for division +resource / 10.0 - TypeError Unsupported operand type resource for division +resource / 3.14 - TypeError Unsupported operand type resource for division +resource / '0' - TypeError Unsupported operand type resource for division +resource / '10' - TypeError Unsupported operand type resource for division +resource / '010' - TypeError Unsupported operand type resource for division +resource / '10 elephants' - TypeError Unsupported operand type resource for division +resource / 'foo' - TypeError Unsupported operand type resource for division +resource / array ( ) - TypeError Unsupported operand type resource for division +resource / array ( 0 => 1 ) - TypeError Unsupported operand type resource for division +resource / array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type resource for division +resource / array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type resource for division +resource / array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type resource for division +resource / (object) array ( ) - TypeError Unsupported operand type resource for division +resource / (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type resource for division +resource / (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type resource for division +resource / DateTime - TypeError Unsupported operand type resource for division +resource / resource - TypeError Unsupported operand type resource for division +resource / NULL - TypeError Unsupported operand type resource for division +NULL / false - TypeError Unsupported operand type null for division +NULL / true - TypeError Unsupported operand type null for division +NULL / 0 - TypeError Unsupported operand type null for division +NULL / 10 - TypeError Unsupported operand type null for division +NULL / 0.0 - TypeError Unsupported operand type null for division +NULL / 10.0 - TypeError Unsupported operand type null for division +NULL / 3.14 - TypeError Unsupported operand type null for division +NULL / '0' - TypeError Unsupported operand type null for division +NULL / '10' - TypeError Unsupported operand type null for division +NULL / '010' - TypeError Unsupported operand type null for division +NULL / '10 elephants' - TypeError Unsupported operand type null for division +NULL / 'foo' - TypeError Unsupported operand type null for division +NULL / array ( ) - TypeError Unsupported operand type null for division +NULL / array ( 0 => 1 ) - TypeError Unsupported operand type null for division +NULL / array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type null for division +NULL / array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type null for division +NULL / array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type null for division +NULL / (object) array ( ) - TypeError Unsupported operand type null for division +NULL / (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type null for division +NULL / (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type null for division +NULL / DateTime - TypeError Unsupported operand type null for division +NULL / resource - TypeError Unsupported operand type null for division +NULL / NULL - TypeError Unsupported operand type null for division \ No newline at end of file diff --git a/Zend/tests/operators/arithmetic/exponentiation.phpt b/Zend/tests/operators/arithmetic/exponentiation.phpt new file mode 100644 index 000000000000..a4592195442a --- /dev/null +++ b/Zend/tests/operators/arithmetic/exponentiation.phpt @@ -0,0 +1,542 @@ +--TEST-- +exponentiation '**' operator +--INI-- +precision=14 +--FILE-- + 1 ) = 1 +false ** array ( 0 => 1, 1 => 100 ) = 1 +false ** array ( 'foo' => 1, 'bar' => 2 ) = 1 +false ** array ( 'bar' => 1, 'foo' => 2 ) = 1 +false ** (object) array ( ) = 0 - Notice Object of class stdClass could not be converted to number +false ** (object) array ( 'foo' => 1, 'bar' => 2 ) = 0 - Notice Object of class stdClass could not be converted to number +false ** (object) array ( 'bar' => 1, 'foo' => 2 ) = 0 - Notice Object of class stdClass could not be converted to number +false ** DateTime = 0 - Notice Object of class DateTime could not be converted to number +false ** resource = 0 +false ** NULL = 1 +true ** false = 1 +true ** true = 1 +true ** 0 = 1 +true ** 10 = 1 +true ** 0.0 = 1.0 +true ** 10.0 = 1.0 +true ** 3.14 = 1.0 +true ** '0' = 1 +true ** '10' = 1 +true ** '010' = 1 +true ** '10 elephants' = 1 - Notice A non well formed numeric value encountered +true ** 'foo' = 1 - Warning A non-numeric value encountered +true ** array ( ) = 1 +true ** array ( 0 => 1 ) = 1 +true ** array ( 0 => 1, 1 => 100 ) = 1 +true ** array ( 'foo' => 1, 'bar' => 2 ) = 1 +true ** array ( 'bar' => 1, 'foo' => 2 ) = 1 +true ** (object) array ( ) = 1 - Notice Object of class stdClass could not be converted to number +true ** (object) array ( 'foo' => 1, 'bar' => 2 ) = 1 - Notice Object of class stdClass could not be converted to number +true ** (object) array ( 'bar' => 1, 'foo' => 2 ) = 1 - Notice Object of class stdClass could not be converted to number +true ** DateTime = 1 - Notice Object of class DateTime could not be converted to number +true ** resource = 1 +true ** NULL = 1 +0 ** false = 1 +0 ** true = 0 +0 ** 0 = 1 +0 ** 10 = 0 +0 ** 0.0 = 1.0 +0 ** 10.0 = 0.0 +0 ** 3.14 = 0.0 +0 ** '0' = 1 +0 ** '10' = 0 +0 ** '010' = 0 +0 ** '10 elephants' = 0 - Notice A non well formed numeric value encountered +0 ** 'foo' = 1 - Warning A non-numeric value encountered +0 ** array ( ) = 1 +0 ** array ( 0 => 1 ) = 1 +0 ** array ( 0 => 1, 1 => 100 ) = 1 +0 ** array ( 'foo' => 1, 'bar' => 2 ) = 1 +0 ** array ( 'bar' => 1, 'foo' => 2 ) = 1 +0 ** (object) array ( ) = 0 - Notice Object of class stdClass could not be converted to number +0 ** (object) array ( 'foo' => 1, 'bar' => 2 ) = 0 - Notice Object of class stdClass could not be converted to number +0 ** (object) array ( 'bar' => 1, 'foo' => 2 ) = 0 - Notice Object of class stdClass could not be converted to number +0 ** DateTime = 0 - Notice Object of class DateTime could not be converted to number +0 ** resource = 0 +0 ** NULL = 1 +10 ** false = 1 +10 ** true = 10 +10 ** 0 = 1 +10 ** 10 = 10000000000 +10 ** 0.0 = 1.0 +10 ** 10.0 = 10000000000.0 +10 ** 3.14 = 1380.3842646028852 +10 ** '0' = 1 +10 ** '10' = 10000000000 +10 ** '010' = 10000000000 +10 ** '10 elephants' = 10000000000 - Notice A non well formed numeric value encountered +10 ** 'foo' = 1 - Warning A non-numeric value encountered +10 ** array ( ) = 1 +10 ** array ( 0 => 1 ) = 1 +10 ** array ( 0 => 1, 1 => 100 ) = 1 +10 ** array ( 'foo' => 1, 'bar' => 2 ) = 1 +10 ** array ( 'bar' => 1, 'foo' => 2 ) = 1 +10 ** (object) array ( ) = 10 - Notice Object of class stdClass could not be converted to number +10 ** (object) array ( 'foo' => 1, 'bar' => 2 ) = 10 - Notice Object of class stdClass could not be converted to number +10 ** (object) array ( 'bar' => 1, 'foo' => 2 ) = 10 - Notice Object of class stdClass could not be converted to number +10 ** DateTime = 10 - Notice Object of class DateTime could not be converted to number +10 ** resource = 1000000 +10 ** NULL = 1 +0.0 ** false = 1.0 +0.0 ** true = 0.0 +0.0 ** 0 = 1.0 +0.0 ** 10 = 0.0 +0.0 ** 0.0 = 1.0 +0.0 ** 10.0 = 0.0 +0.0 ** 3.14 = 0.0 +0.0 ** '0' = 1.0 +0.0 ** '10' = 0.0 +0.0 ** '010' = 0.0 +0.0 ** '10 elephants' = 0.0 - Notice A non well formed numeric value encountered +0.0 ** 'foo' = 1.0 - Warning A non-numeric value encountered +0.0 ** array ( ) = 1 +0.0 ** array ( 0 => 1 ) = 1 +0.0 ** array ( 0 => 1, 1 => 100 ) = 1 +0.0 ** array ( 'foo' => 1, 'bar' => 2 ) = 1 +0.0 ** array ( 'bar' => 1, 'foo' => 2 ) = 1 +0.0 ** (object) array ( ) = 0.0 - Notice Object of class stdClass could not be converted to number +0.0 ** (object) array ( 'foo' => 1, 'bar' => 2 ) = 0.0 - Notice Object of class stdClass could not be converted to number +0.0 ** (object) array ( 'bar' => 1, 'foo' => 2 ) = 0.0 - Notice Object of class stdClass could not be converted to number +0.0 ** DateTime = 0.0 - Notice Object of class DateTime could not be converted to number +0.0 ** resource = 0.0 +0.0 ** NULL = 1.0 +10.0 ** false = 1.0 +10.0 ** true = 10.0 +10.0 ** 0 = 1.0 +10.0 ** 10 = 10000000000.0 +10.0 ** 0.0 = 1.0 +10.0 ** 10.0 = 10000000000.0 +10.0 ** 3.14 = 1380.3842646028852 +10.0 ** '0' = 1.0 +10.0 ** '10' = 10000000000.0 +10.0 ** '010' = 10000000000.0 +10.0 ** '10 elephants' = 10000000000.0 - Notice A non well formed numeric value encountered +10.0 ** 'foo' = 1.0 - Warning A non-numeric value encountered +10.0 ** array ( ) = 1 +10.0 ** array ( 0 => 1 ) = 1 +10.0 ** array ( 0 => 1, 1 => 100 ) = 1 +10.0 ** array ( 'foo' => 1, 'bar' => 2 ) = 1 +10.0 ** array ( 'bar' => 1, 'foo' => 2 ) = 1 +10.0 ** (object) array ( ) = 10.0 - Notice Object of class stdClass could not be converted to number +10.0 ** (object) array ( 'foo' => 1, 'bar' => 2 ) = 10.0 - Notice Object of class stdClass could not be converted to number +10.0 ** (object) array ( 'bar' => 1, 'foo' => 2 ) = 10.0 - Notice Object of class stdClass could not be converted to number +10.0 ** DateTime = 10.0 - Notice Object of class DateTime could not be converted to number +10.0 ** resource = 1000000.0 +10.0 ** NULL = 1.0 +3.14 ** false = 1.0 +3.14 ** true = 3.14 +3.14 ** 0 = 1.0 +3.14 ** 10 = 93174.3733866435 +3.14 ** 0.0 = 1.0 +3.14 ** 10.0 = 93174.3733866435 +3.14 ** 3.14 = 36.33783888017471 +3.14 ** '0' = 1.0 +3.14 ** '10' = 93174.3733866435 +3.14 ** '010' = 93174.3733866435 +3.14 ** '10 elephants' = 93174.3733866435 - Notice A non well formed numeric value encountered +3.14 ** 'foo' = 1.0 - Warning A non-numeric value encountered +3.14 ** array ( ) = 1 +3.14 ** array ( 0 => 1 ) = 1 +3.14 ** array ( 0 => 1, 1 => 100 ) = 1 +3.14 ** array ( 'foo' => 1, 'bar' => 2 ) = 1 +3.14 ** array ( 'bar' => 1, 'foo' => 2 ) = 1 +3.14 ** (object) array ( ) = 3.14 - Notice Object of class stdClass could not be converted to number +3.14 ** (object) array ( 'foo' => 1, 'bar' => 2 ) = 3.14 - Notice Object of class stdClass could not be converted to number +3.14 ** (object) array ( 'bar' => 1, 'foo' => 2 ) = 3.14 - Notice Object of class stdClass could not be converted to number +3.14 ** DateTime = 3.14 - Notice Object of class DateTime could not be converted to number +3.14 ** resource = 958.4685972127362 +3.14 ** NULL = 1.0 +'0' ** false = 1 +'0' ** true = 0 +'0' ** 0 = 1 +'0' ** 10 = 0 +'0' ** 0.0 = 1.0 +'0' ** 10.0 = 0.0 +'0' ** 3.14 = 0.0 +'0' ** '0' = 1 +'0' ** '10' = 0 +'0' ** '010' = 0 +'0' ** '10 elephants' = 0 - Notice A non well formed numeric value encountered +'0' ** 'foo' = 1 - Warning A non-numeric value encountered +'0' ** array ( ) = 1 +'0' ** array ( 0 => 1 ) = 1 +'0' ** array ( 0 => 1, 1 => 100 ) = 1 +'0' ** array ( 'foo' => 1, 'bar' => 2 ) = 1 +'0' ** array ( 'bar' => 1, 'foo' => 2 ) = 1 +'0' ** (object) array ( ) = 0 - Notice Object of class stdClass could not be converted to number +'0' ** (object) array ( 'foo' => 1, 'bar' => 2 ) = 0 - Notice Object of class stdClass could not be converted to number +'0' ** (object) array ( 'bar' => 1, 'foo' => 2 ) = 0 - Notice Object of class stdClass could not be converted to number +'0' ** DateTime = 0 - Notice Object of class DateTime could not be converted to number +'0' ** resource = 0 +'0' ** NULL = 1 +'10' ** false = 1 +'10' ** true = 10 +'10' ** 0 = 1 +'10' ** 10 = 10000000000 +'10' ** 0.0 = 1.0 +'10' ** 10.0 = 10000000000.0 +'10' ** 3.14 = 1380.3842646028852 +'10' ** '0' = 1 +'10' ** '10' = 10000000000 +'10' ** '010' = 10000000000 +'10' ** '10 elephants' = 10000000000 - Notice A non well formed numeric value encountered +'10' ** 'foo' = 1 - Warning A non-numeric value encountered +'10' ** array ( ) = 1 +'10' ** array ( 0 => 1 ) = 1 +'10' ** array ( 0 => 1, 1 => 100 ) = 1 +'10' ** array ( 'foo' => 1, 'bar' => 2 ) = 1 +'10' ** array ( 'bar' => 1, 'foo' => 2 ) = 1 +'10' ** (object) array ( ) = 10 - Notice Object of class stdClass could not be converted to number +'10' ** (object) array ( 'foo' => 1, 'bar' => 2 ) = 10 - Notice Object of class stdClass could not be converted to number +'10' ** (object) array ( 'bar' => 1, 'foo' => 2 ) = 10 - Notice Object of class stdClass could not be converted to number +'10' ** DateTime = 10 - Notice Object of class DateTime could not be converted to number +'10' ** resource = 1000000 +'10' ** NULL = 1 +'010' ** false = 1 +'010' ** true = 10 +'010' ** 0 = 1 +'010' ** 10 = 10000000000 +'010' ** 0.0 = 1.0 +'010' ** 10.0 = 10000000000.0 +'010' ** 3.14 = 1380.3842646028852 +'010' ** '0' = 1 +'010' ** '10' = 10000000000 +'010' ** '010' = 10000000000 +'010' ** '10 elephants' = 10000000000 - Notice A non well formed numeric value encountered +'010' ** 'foo' = 1 - Warning A non-numeric value encountered +'010' ** array ( ) = 1 +'010' ** array ( 0 => 1 ) = 1 +'010' ** array ( 0 => 1, 1 => 100 ) = 1 +'010' ** array ( 'foo' => 1, 'bar' => 2 ) = 1 +'010' ** array ( 'bar' => 1, 'foo' => 2 ) = 1 +'010' ** (object) array ( ) = 10 - Notice Object of class stdClass could not be converted to number +'010' ** (object) array ( 'foo' => 1, 'bar' => 2 ) = 10 - Notice Object of class stdClass could not be converted to number +'010' ** (object) array ( 'bar' => 1, 'foo' => 2 ) = 10 - Notice Object of class stdClass could not be converted to number +'010' ** DateTime = 10 - Notice Object of class DateTime could not be converted to number +'010' ** resource = 1000000 +'010' ** NULL = 1 +'10 elephants' ** false = 1 - Notice A non well formed numeric value encountered +'10 elephants' ** true = 10 - Notice A non well formed numeric value encountered +'10 elephants' ** 0 = 1 - Notice A non well formed numeric value encountered +'10 elephants' ** 10 = 10000000000 - Notice A non well formed numeric value encountered +'10 elephants' ** 0.0 = 1.0 - Notice A non well formed numeric value encountered +'10 elephants' ** 10.0 = 10000000000.0 - Notice A non well formed numeric value encountered +'10 elephants' ** 3.14 = 1380.3842646028852 - Notice A non well formed numeric value encountered +'10 elephants' ** '0' = 1 - Notice A non well formed numeric value encountered +'10 elephants' ** '10' = 10000000000 - Notice A non well formed numeric value encountered +'10 elephants' ** '010' = 10000000000 - Notice A non well formed numeric value encountered +'10 elephants' ** '10 elephants' = 10000000000 - Notice A non well formed numeric value encountered +'10 elephants' ** 'foo' = 1 - Warning A non-numeric value encountered +'10 elephants' ** array ( ) = 1 - Notice A non well formed numeric value encountered +'10 elephants' ** array ( 0 => 1 ) = 1 - Notice A non well formed numeric value encountered +'10 elephants' ** array ( 0 => 1, 1 => 100 ) = 1 - Notice A non well formed numeric value encountered +'10 elephants' ** array ( 'foo' => 1, 'bar' => 2 ) = 1 - Notice A non well formed numeric value encountered +'10 elephants' ** array ( 'bar' => 1, 'foo' => 2 ) = 1 - Notice A non well formed numeric value encountered +'10 elephants' ** (object) array ( ) = 10 - Notice Object of class stdClass could not be converted to number +'10 elephants' ** (object) array ( 'foo' => 1, 'bar' => 2 ) = 10 - Notice Object of class stdClass could not be converted to number +'10 elephants' ** (object) array ( 'bar' => 1, 'foo' => 2 ) = 10 - Notice Object of class stdClass could not be converted to number +'10 elephants' ** DateTime = 10 - Notice Object of class DateTime could not be converted to number +'10 elephants' ** resource = 1000000 - Notice A non well formed numeric value encountered +'10 elephants' ** NULL = 1 - Notice A non well formed numeric value encountered +'foo' ** false = 1 - Warning A non-numeric value encountered +'foo' ** true = 0 - Warning A non-numeric value encountered +'foo' ** 0 = 1 - Warning A non-numeric value encountered +'foo' ** 10 = 0 - Warning A non-numeric value encountered +'foo' ** 0.0 = 1.0 - Warning A non-numeric value encountered +'foo' ** 10.0 = 0.0 - Warning A non-numeric value encountered +'foo' ** 3.14 = 0.0 - Warning A non-numeric value encountered +'foo' ** '0' = 1 - Warning A non-numeric value encountered +'foo' ** '10' = 0 - Warning A non-numeric value encountered +'foo' ** '010' = 0 - Warning A non-numeric value encountered +'foo' ** '10 elephants' = 0 - Notice A non well formed numeric value encountered +'foo' ** 'foo' = 1 - Warning A non-numeric value encountered +'foo' ** array ( ) = 1 - Warning A non-numeric value encountered +'foo' ** array ( 0 => 1 ) = 1 - Warning A non-numeric value encountered +'foo' ** array ( 0 => 1, 1 => 100 ) = 1 - Warning A non-numeric value encountered +'foo' ** array ( 'foo' => 1, 'bar' => 2 ) = 1 - Warning A non-numeric value encountered +'foo' ** array ( 'bar' => 1, 'foo' => 2 ) = 1 - Warning A non-numeric value encountered +'foo' ** (object) array ( ) = 0 - Notice Object of class stdClass could not be converted to number +'foo' ** (object) array ( 'foo' => 1, 'bar' => 2 ) = 0 - Notice Object of class stdClass could not be converted to number +'foo' ** (object) array ( 'bar' => 1, 'foo' => 2 ) = 0 - Notice Object of class stdClass could not be converted to number +'foo' ** DateTime = 0 - Notice Object of class DateTime could not be converted to number +'foo' ** resource = 0 - Warning A non-numeric value encountered +'foo' ** NULL = 1 - Warning A non-numeric value encountered +array ( ) ** false = 0 +array ( ) ** true = 0 +array ( ) ** 0 = 0 +array ( ) ** 10 = 0 +array ( ) ** 0.0 = 0 +array ( ) ** 10.0 = 0 +array ( ) ** 3.14 = 0 +array ( ) ** '0' = 0 +array ( ) ** '10' = 0 +array ( ) ** '010' = 0 +array ( ) ** '10 elephants' = 0 +array ( ) ** 'foo' = 0 +array ( ) ** array ( ) = 0 +array ( ) ** array ( 0 => 1 ) = 0 +array ( ) ** array ( 0 => 1, 1 => 100 ) = 0 +array ( ) ** array ( 'foo' => 1, 'bar' => 2 ) = 0 +array ( ) ** array ( 'bar' => 1, 'foo' => 2 ) = 0 +array ( ) ** (object) array ( ) = 0 +array ( ) ** (object) array ( 'foo' => 1, 'bar' => 2 ) = 0 +array ( ) ** (object) array ( 'bar' => 1, 'foo' => 2 ) = 0 +array ( ) ** DateTime = 0 +array ( ) ** resource = 0 +array ( ) ** NULL = 0 +array ( 0 => 1 ) ** false = 0 +array ( 0 => 1 ) ** true = 0 +array ( 0 => 1 ) ** 0 = 0 +array ( 0 => 1 ) ** 10 = 0 +array ( 0 => 1 ) ** 0.0 = 0 +array ( 0 => 1 ) ** 10.0 = 0 +array ( 0 => 1 ) ** 3.14 = 0 +array ( 0 => 1 ) ** '0' = 0 +array ( 0 => 1 ) ** '10' = 0 +array ( 0 => 1 ) ** '010' = 0 +array ( 0 => 1 ) ** '10 elephants' = 0 +array ( 0 => 1 ) ** 'foo' = 0 +array ( 0 => 1 ) ** array ( ) = 0 +array ( 0 => 1 ) ** array ( 0 => 1 ) = 0 +array ( 0 => 1 ) ** array ( 0 => 1, 1 => 100 ) = 0 +array ( 0 => 1 ) ** array ( 'foo' => 1, 'bar' => 2 ) = 0 +array ( 0 => 1 ) ** array ( 'bar' => 1, 'foo' => 2 ) = 0 +array ( 0 => 1 ) ** (object) array ( ) = 0 +array ( 0 => 1 ) ** (object) array ( 'foo' => 1, 'bar' => 2 ) = 0 +array ( 0 => 1 ) ** (object) array ( 'bar' => 1, 'foo' => 2 ) = 0 +array ( 0 => 1 ) ** DateTime = 0 +array ( 0 => 1 ) ** resource = 0 +array ( 0 => 1 ) ** NULL = 0 +array ( 0 => 1, 1 => 100 ) ** false = 0 +array ( 0 => 1, 1 => 100 ) ** true = 0 +array ( 0 => 1, 1 => 100 ) ** 0 = 0 +array ( 0 => 1, 1 => 100 ) ** 10 = 0 +array ( 0 => 1, 1 => 100 ) ** 0.0 = 0 +array ( 0 => 1, 1 => 100 ) ** 10.0 = 0 +array ( 0 => 1, 1 => 100 ) ** 3.14 = 0 +array ( 0 => 1, 1 => 100 ) ** '0' = 0 +array ( 0 => 1, 1 => 100 ) ** '10' = 0 +array ( 0 => 1, 1 => 100 ) ** '010' = 0 +array ( 0 => 1, 1 => 100 ) ** '10 elephants' = 0 +array ( 0 => 1, 1 => 100 ) ** 'foo' = 0 +array ( 0 => 1, 1 => 100 ) ** array ( ) = 0 +array ( 0 => 1, 1 => 100 ) ** array ( 0 => 1 ) = 0 +array ( 0 => 1, 1 => 100 ) ** array ( 0 => 1, 1 => 100 ) = 0 +array ( 0 => 1, 1 => 100 ) ** array ( 'foo' => 1, 'bar' => 2 ) = 0 +array ( 0 => 1, 1 => 100 ) ** array ( 'bar' => 1, 'foo' => 2 ) = 0 +array ( 0 => 1, 1 => 100 ) ** (object) array ( ) = 0 +array ( 0 => 1, 1 => 100 ) ** (object) array ( 'foo' => 1, 'bar' => 2 ) = 0 +array ( 0 => 1, 1 => 100 ) ** (object) array ( 'bar' => 1, 'foo' => 2 ) = 0 +array ( 0 => 1, 1 => 100 ) ** DateTime = 0 +array ( 0 => 1, 1 => 100 ) ** resource = 0 +array ( 0 => 1, 1 => 100 ) ** NULL = 0 +array ( 'foo' => 1, 'bar' => 2 ) ** false = 0 +array ( 'foo' => 1, 'bar' => 2 ) ** true = 0 +array ( 'foo' => 1, 'bar' => 2 ) ** 0 = 0 +array ( 'foo' => 1, 'bar' => 2 ) ** 10 = 0 +array ( 'foo' => 1, 'bar' => 2 ) ** 0.0 = 0 +array ( 'foo' => 1, 'bar' => 2 ) ** 10.0 = 0 +array ( 'foo' => 1, 'bar' => 2 ) ** 3.14 = 0 +array ( 'foo' => 1, 'bar' => 2 ) ** '0' = 0 +array ( 'foo' => 1, 'bar' => 2 ) ** '10' = 0 +array ( 'foo' => 1, 'bar' => 2 ) ** '010' = 0 +array ( 'foo' => 1, 'bar' => 2 ) ** '10 elephants' = 0 +array ( 'foo' => 1, 'bar' => 2 ) ** 'foo' = 0 +array ( 'foo' => 1, 'bar' => 2 ) ** array ( ) = 0 +array ( 'foo' => 1, 'bar' => 2 ) ** array ( 0 => 1 ) = 0 +array ( 'foo' => 1, 'bar' => 2 ) ** array ( 0 => 1, 1 => 100 ) = 0 +array ( 'foo' => 1, 'bar' => 2 ) ** array ( 'foo' => 1, 'bar' => 2 ) = 0 +array ( 'foo' => 1, 'bar' => 2 ) ** array ( 'bar' => 1, 'foo' => 2 ) = 0 +array ( 'foo' => 1, 'bar' => 2 ) ** (object) array ( ) = 0 +array ( 'foo' => 1, 'bar' => 2 ) ** (object) array ( 'foo' => 1, 'bar' => 2 ) = 0 +array ( 'foo' => 1, 'bar' => 2 ) ** (object) array ( 'bar' => 1, 'foo' => 2 ) = 0 +array ( 'foo' => 1, 'bar' => 2 ) ** DateTime = 0 +array ( 'foo' => 1, 'bar' => 2 ) ** resource = 0 +array ( 'foo' => 1, 'bar' => 2 ) ** NULL = 0 +array ( 'bar' => 1, 'foo' => 2 ) ** false = 0 +array ( 'bar' => 1, 'foo' => 2 ) ** true = 0 +array ( 'bar' => 1, 'foo' => 2 ) ** 0 = 0 +array ( 'bar' => 1, 'foo' => 2 ) ** 10 = 0 +array ( 'bar' => 1, 'foo' => 2 ) ** 0.0 = 0 +array ( 'bar' => 1, 'foo' => 2 ) ** 10.0 = 0 +array ( 'bar' => 1, 'foo' => 2 ) ** 3.14 = 0 +array ( 'bar' => 1, 'foo' => 2 ) ** '0' = 0 +array ( 'bar' => 1, 'foo' => 2 ) ** '10' = 0 +array ( 'bar' => 1, 'foo' => 2 ) ** '010' = 0 +array ( 'bar' => 1, 'foo' => 2 ) ** '10 elephants' = 0 +array ( 'bar' => 1, 'foo' => 2 ) ** 'foo' = 0 +array ( 'bar' => 1, 'foo' => 2 ) ** array ( ) = 0 +array ( 'bar' => 1, 'foo' => 2 ) ** array ( 0 => 1 ) = 0 +array ( 'bar' => 1, 'foo' => 2 ) ** array ( 0 => 1, 1 => 100 ) = 0 +array ( 'bar' => 1, 'foo' => 2 ) ** array ( 'foo' => 1, 'bar' => 2 ) = 0 +array ( 'bar' => 1, 'foo' => 2 ) ** array ( 'bar' => 1, 'foo' => 2 ) = 0 +array ( 'bar' => 1, 'foo' => 2 ) ** (object) array ( ) = 0 +array ( 'bar' => 1, 'foo' => 2 ) ** (object) array ( 'foo' => 1, 'bar' => 2 ) = 0 +array ( 'bar' => 1, 'foo' => 2 ) ** (object) array ( 'bar' => 1, 'foo' => 2 ) = 0 +array ( 'bar' => 1, 'foo' => 2 ) ** DateTime = 0 +array ( 'bar' => 1, 'foo' => 2 ) ** resource = 0 +array ( 'bar' => 1, 'foo' => 2 ) ** NULL = 0 +(object) array ( ) ** false = 1 - Notice Object of class stdClass could not be converted to number +(object) array ( ) ** true = 1 - Notice Object of class stdClass could not be converted to number +(object) array ( ) ** 0 = 1 - Notice Object of class stdClass could not be converted to number +(object) array ( ) ** 10 = 1 - Notice Object of class stdClass could not be converted to number +(object) array ( ) ** 0.0 = 1.0 - Notice Object of class stdClass could not be converted to number +(object) array ( ) ** 10.0 = 1.0 - Notice Object of class stdClass could not be converted to number +(object) array ( ) ** 3.14 = 1.0 - Notice Object of class stdClass could not be converted to number +(object) array ( ) ** '0' = 1 - Notice Object of class stdClass could not be converted to number +(object) array ( ) ** '10' = 1 - Notice Object of class stdClass could not be converted to number +(object) array ( ) ** '010' = 1 - Notice Object of class stdClass could not be converted to number +(object) array ( ) ** '10 elephants' = 1 - Notice A non well formed numeric value encountered +(object) array ( ) ** 'foo' = 1 - Warning A non-numeric value encountered +(object) array ( ) ** array ( ) = 1 - Notice Object of class stdClass could not be converted to number +(object) array ( ) ** array ( 0 => 1 ) = 1 - Notice Object of class stdClass could not be converted to number +(object) array ( ) ** array ( 0 => 1, 1 => 100 ) = 1 - Notice Object of class stdClass could not be converted to number +(object) array ( ) ** array ( 'foo' => 1, 'bar' => 2 ) = 1 - Notice Object of class stdClass could not be converted to number +(object) array ( ) ** array ( 'bar' => 1, 'foo' => 2 ) = 1 - Notice Object of class stdClass could not be converted to number +(object) array ( ) ** (object) array ( ) = 1 - Notice Object of class stdClass could not be converted to number +(object) array ( ) ** (object) array ( 'foo' => 1, 'bar' => 2 ) = 1 - Notice Object of class stdClass could not be converted to number +(object) array ( ) ** (object) array ( 'bar' => 1, 'foo' => 2 ) = 1 - Notice Object of class stdClass could not be converted to number +(object) array ( ) ** DateTime = 1 - Notice Object of class DateTime could not be converted to number +(object) array ( ) ** resource = 1 - Notice Object of class stdClass could not be converted to number +(object) array ( ) ** NULL = 1 - Notice Object of class stdClass could not be converted to number +(object) array ( 'foo' => 1, 'bar' => 2 ) ** false = 1 - Notice Object of class stdClass could not be converted to number +(object) array ( 'foo' => 1, 'bar' => 2 ) ** true = 1 - Notice Object of class stdClass could not be converted to number +(object) array ( 'foo' => 1, 'bar' => 2 ) ** 0 = 1 - Notice Object of class stdClass could not be converted to number +(object) array ( 'foo' => 1, 'bar' => 2 ) ** 10 = 1 - Notice Object of class stdClass could not be converted to number +(object) array ( 'foo' => 1, 'bar' => 2 ) ** 0.0 = 1.0 - Notice Object of class stdClass could not be converted to number +(object) array ( 'foo' => 1, 'bar' => 2 ) ** 10.0 = 1.0 - Notice Object of class stdClass could not be converted to number +(object) array ( 'foo' => 1, 'bar' => 2 ) ** 3.14 = 1.0 - Notice Object of class stdClass could not be converted to number +(object) array ( 'foo' => 1, 'bar' => 2 ) ** '0' = 1 - Notice Object of class stdClass could not be converted to number +(object) array ( 'foo' => 1, 'bar' => 2 ) ** '10' = 1 - Notice Object of class stdClass could not be converted to number +(object) array ( 'foo' => 1, 'bar' => 2 ) ** '010' = 1 - Notice Object of class stdClass could not be converted to number +(object) array ( 'foo' => 1, 'bar' => 2 ) ** '10 elephants' = 1 - Notice A non well formed numeric value encountered +(object) array ( 'foo' => 1, 'bar' => 2 ) ** 'foo' = 1 - Warning A non-numeric value encountered +(object) array ( 'foo' => 1, 'bar' => 2 ) ** array ( ) = 1 - Notice Object of class stdClass could not be converted to number +(object) array ( 'foo' => 1, 'bar' => 2 ) ** array ( 0 => 1 ) = 1 - Notice Object of class stdClass could not be converted to number +(object) array ( 'foo' => 1, 'bar' => 2 ) ** array ( 0 => 1, 1 => 100 ) = 1 - Notice Object of class stdClass could not be converted to number +(object) array ( 'foo' => 1, 'bar' => 2 ) ** array ( 'foo' => 1, 'bar' => 2 ) = 1 - Notice Object of class stdClass could not be converted to number +(object) array ( 'foo' => 1, 'bar' => 2 ) ** array ( 'bar' => 1, 'foo' => 2 ) = 1 - Notice Object of class stdClass could not be converted to number +(object) array ( 'foo' => 1, 'bar' => 2 ) ** (object) array ( ) = 1 - Notice Object of class stdClass could not be converted to number +(object) array ( 'foo' => 1, 'bar' => 2 ) ** (object) array ( 'foo' => 1, 'bar' => 2 ) = 1 - Notice Object of class stdClass could not be converted to number +(object) array ( 'foo' => 1, 'bar' => 2 ) ** (object) array ( 'bar' => 1, 'foo' => 2 ) = 1 - Notice Object of class stdClass could not be converted to number +(object) array ( 'foo' => 1, 'bar' => 2 ) ** DateTime = 1 - Notice Object of class DateTime could not be converted to number +(object) array ( 'foo' => 1, 'bar' => 2 ) ** resource = 1 - Notice Object of class stdClass could not be converted to number +(object) array ( 'foo' => 1, 'bar' => 2 ) ** NULL = 1 - Notice Object of class stdClass could not be converted to number +(object) array ( 'bar' => 1, 'foo' => 2 ) ** false = 1 - Notice Object of class stdClass could not be converted to number +(object) array ( 'bar' => 1, 'foo' => 2 ) ** true = 1 - Notice Object of class stdClass could not be converted to number +(object) array ( 'bar' => 1, 'foo' => 2 ) ** 0 = 1 - Notice Object of class stdClass could not be converted to number +(object) array ( 'bar' => 1, 'foo' => 2 ) ** 10 = 1 - Notice Object of class stdClass could not be converted to number +(object) array ( 'bar' => 1, 'foo' => 2 ) ** 0.0 = 1.0 - Notice Object of class stdClass could not be converted to number +(object) array ( 'bar' => 1, 'foo' => 2 ) ** 10.0 = 1.0 - Notice Object of class stdClass could not be converted to number +(object) array ( 'bar' => 1, 'foo' => 2 ) ** 3.14 = 1.0 - Notice Object of class stdClass could not be converted to number +(object) array ( 'bar' => 1, 'foo' => 2 ) ** '0' = 1 - Notice Object of class stdClass could not be converted to number +(object) array ( 'bar' => 1, 'foo' => 2 ) ** '10' = 1 - Notice Object of class stdClass could not be converted to number +(object) array ( 'bar' => 1, 'foo' => 2 ) ** '010' = 1 - Notice Object of class stdClass could not be converted to number +(object) array ( 'bar' => 1, 'foo' => 2 ) ** '10 elephants' = 1 - Notice A non well formed numeric value encountered +(object) array ( 'bar' => 1, 'foo' => 2 ) ** 'foo' = 1 - Warning A non-numeric value encountered +(object) array ( 'bar' => 1, 'foo' => 2 ) ** array ( ) = 1 - Notice Object of class stdClass could not be converted to number +(object) array ( 'bar' => 1, 'foo' => 2 ) ** array ( 0 => 1 ) = 1 - Notice Object of class stdClass could not be converted to number +(object) array ( 'bar' => 1, 'foo' => 2 ) ** array ( 0 => 1, 1 => 100 ) = 1 - Notice Object of class stdClass could not be converted to number +(object) array ( 'bar' => 1, 'foo' => 2 ) ** array ( 'foo' => 1, 'bar' => 2 ) = 1 - Notice Object of class stdClass could not be converted to number +(object) array ( 'bar' => 1, 'foo' => 2 ) ** array ( 'bar' => 1, 'foo' => 2 ) = 1 - Notice Object of class stdClass could not be converted to number +(object) array ( 'bar' => 1, 'foo' => 2 ) ** (object) array ( ) = 1 - Notice Object of class stdClass could not be converted to number +(object) array ( 'bar' => 1, 'foo' => 2 ) ** (object) array ( 'foo' => 1, 'bar' => 2 ) = 1 - Notice Object of class stdClass could not be converted to number +(object) array ( 'bar' => 1, 'foo' => 2 ) ** (object) array ( 'bar' => 1, 'foo' => 2 ) = 1 - Notice Object of class stdClass could not be converted to number +(object) array ( 'bar' => 1, 'foo' => 2 ) ** DateTime = 1 - Notice Object of class DateTime could not be converted to number +(object) array ( 'bar' => 1, 'foo' => 2 ) ** resource = 1 - Notice Object of class stdClass could not be converted to number +(object) array ( 'bar' => 1, 'foo' => 2 ) ** NULL = 1 - Notice Object of class stdClass could not be converted to number +DateTime ** false = 1 - Notice Object of class DateTime could not be converted to number +DateTime ** true = 1 - Notice Object of class DateTime could not be converted to number +DateTime ** 0 = 1 - Notice Object of class DateTime could not be converted to number +DateTime ** 10 = 1 - Notice Object of class DateTime could not be converted to number +DateTime ** 0.0 = 1.0 - Notice Object of class DateTime could not be converted to number +DateTime ** 10.0 = 1.0 - Notice Object of class DateTime could not be converted to number +DateTime ** 3.14 = 1.0 - Notice Object of class DateTime could not be converted to number +DateTime ** '0' = 1 - Notice Object of class DateTime could not be converted to number +DateTime ** '10' = 1 - Notice Object of class DateTime could not be converted to number +DateTime ** '010' = 1 - Notice Object of class DateTime could not be converted to number +DateTime ** '10 elephants' = 1 - Notice A non well formed numeric value encountered +DateTime ** 'foo' = 1 - Warning A non-numeric value encountered +DateTime ** array ( ) = 1 - Notice Object of class DateTime could not be converted to number +DateTime ** array ( 0 => 1 ) = 1 - Notice Object of class DateTime could not be converted to number +DateTime ** array ( 0 => 1, 1 => 100 ) = 1 - Notice Object of class DateTime could not be converted to number +DateTime ** array ( 'foo' => 1, 'bar' => 2 ) = 1 - Notice Object of class DateTime could not be converted to number +DateTime ** array ( 'bar' => 1, 'foo' => 2 ) = 1 - Notice Object of class DateTime could not be converted to number +DateTime ** (object) array ( ) = 1 - Notice Object of class stdClass could not be converted to number +DateTime ** (object) array ( 'foo' => 1, 'bar' => 2 ) = 1 - Notice Object of class stdClass could not be converted to number +DateTime ** (object) array ( 'bar' => 1, 'foo' => 2 ) = 1 - Notice Object of class stdClass could not be converted to number +DateTime ** DateTime = 1 - Notice Object of class DateTime could not be converted to number +DateTime ** resource = 1 - Notice Object of class DateTime could not be converted to number +DateTime ** NULL = 1 - Notice Object of class DateTime could not be converted to number +resource ** false = 1 +resource ** true = 6 +resource ** 0 = 1 +resource ** 10 = 60466176 +resource ** 0.0 = 1.0 +resource ** 10.0 = 60466176.0 +resource ** 3.14 = 277.5843173597815 +resource ** '0' = 1 +resource ** '10' = 60466176 +resource ** '010' = 60466176 +resource ** '10 elephants' = 60466176 - Notice A non well formed numeric value encountered +resource ** 'foo' = 1 - Warning A non-numeric value encountered +resource ** array ( ) = 1 +resource ** array ( 0 => 1 ) = 1 +resource ** array ( 0 => 1, 1 => 100 ) = 1 +resource ** array ( 'foo' => 1, 'bar' => 2 ) = 1 +resource ** array ( 'bar' => 1, 'foo' => 2 ) = 1 +resource ** (object) array ( ) = 6 - Notice Object of class stdClass could not be converted to number +resource ** (object) array ( 'foo' => 1, 'bar' => 2 ) = 6 - Notice Object of class stdClass could not be converted to number +resource ** (object) array ( 'bar' => 1, 'foo' => 2 ) = 6 - Notice Object of class stdClass could not be converted to number +resource ** DateTime = 6 - Notice Object of class DateTime could not be converted to number +resource ** resource = 46656 +resource ** NULL = 1 +NULL ** false = 1 +NULL ** true = 0 +NULL ** 0 = 1 +NULL ** 10 = 0 +NULL ** 0.0 = 1.0 +NULL ** 10.0 = 0.0 +NULL ** 3.14 = 0.0 +NULL ** '0' = 1 +NULL ** '10' = 0 +NULL ** '010' = 0 +NULL ** '10 elephants' = 0 - Notice A non well formed numeric value encountered +NULL ** 'foo' = 1 - Warning A non-numeric value encountered +NULL ** array ( ) = 1 +NULL ** array ( 0 => 1 ) = 1 +NULL ** array ( 0 => 1, 1 => 100 ) = 1 +NULL ** array ( 'foo' => 1, 'bar' => 2 ) = 1 +NULL ** array ( 'bar' => 1, 'foo' => 2 ) = 1 +NULL ** (object) array ( ) = 0 - Notice Object of class stdClass could not be converted to number +NULL ** (object) array ( 'foo' => 1, 'bar' => 2 ) = 0 - Notice Object of class stdClass could not be converted to number +NULL ** (object) array ( 'bar' => 1, 'foo' => 2 ) = 0 - Notice Object of class stdClass could not be converted to number +NULL ** DateTime = 0 - Notice Object of class DateTime could not be converted to number +NULL ** resource = 0 +NULL ** NULL = 1 \ No newline at end of file diff --git a/Zend/tests/operators/arithmetic/exponentiation_strict.phpt b/Zend/tests/operators/arithmetic/exponentiation_strict.phpt new file mode 100644 index 000000000000..36375b7dd2fd --- /dev/null +++ b/Zend/tests/operators/arithmetic/exponentiation_strict.phpt @@ -0,0 +1,544 @@ +--TEST-- +exponentiation '**' operator with strict_operators +--INI-- +precision=14 +--FILE-- + 1 ) - TypeError Unsupported operand type bool for exponentiation +false ** array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type bool for exponentiation +false ** array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type bool for exponentiation +false ** array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type bool for exponentiation +false ** (object) array ( ) - TypeError Unsupported operand type bool for exponentiation +false ** (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type bool for exponentiation +false ** (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type bool for exponentiation +false ** DateTime - TypeError Unsupported operand type bool for exponentiation +false ** resource - TypeError Unsupported operand type bool for exponentiation +false ** NULL - TypeError Unsupported operand type bool for exponentiation +true ** false - TypeError Unsupported operand type bool for exponentiation +true ** true - TypeError Unsupported operand type bool for exponentiation +true ** 0 - TypeError Unsupported operand type bool for exponentiation +true ** 10 - TypeError Unsupported operand type bool for exponentiation +true ** 0.0 - TypeError Unsupported operand type bool for exponentiation +true ** 10.0 - TypeError Unsupported operand type bool for exponentiation +true ** 3.14 - TypeError Unsupported operand type bool for exponentiation +true ** '0' - TypeError Unsupported operand type bool for exponentiation +true ** '10' - TypeError Unsupported operand type bool for exponentiation +true ** '010' - TypeError Unsupported operand type bool for exponentiation +true ** '10 elephants' - TypeError Unsupported operand type bool for exponentiation +true ** 'foo' - TypeError Unsupported operand type bool for exponentiation +true ** array ( ) - TypeError Unsupported operand type bool for exponentiation +true ** array ( 0 => 1 ) - TypeError Unsupported operand type bool for exponentiation +true ** array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type bool for exponentiation +true ** array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type bool for exponentiation +true ** array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type bool for exponentiation +true ** (object) array ( ) - TypeError Unsupported operand type bool for exponentiation +true ** (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type bool for exponentiation +true ** (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type bool for exponentiation +true ** DateTime - TypeError Unsupported operand type bool for exponentiation +true ** resource - TypeError Unsupported operand type bool for exponentiation +true ** NULL - TypeError Unsupported operand type bool for exponentiation +0 ** false - TypeError Unsupported operand type bool for exponentiation +0 ** true - TypeError Unsupported operand type bool for exponentiation +0 ** 0 = 1 +0 ** 10 = 0 +0 ** 0.0 = 1.0 +0 ** 10.0 = 0.0 +0 ** 3.14 = 0.0 +0 ** '0' - TypeError Unsupported operand type string for exponentiation +0 ** '10' - TypeError Unsupported operand type string for exponentiation +0 ** '010' - TypeError Unsupported operand type string for exponentiation +0 ** '10 elephants' - TypeError Unsupported operand type string for exponentiation +0 ** 'foo' - TypeError Unsupported operand type string for exponentiation +0 ** array ( ) - TypeError Unsupported operand type array for exponentiation +0 ** array ( 0 => 1 ) - TypeError Unsupported operand type array for exponentiation +0 ** array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for exponentiation +0 ** array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for exponentiation +0 ** array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for exponentiation +0 ** (object) array ( ) - TypeError Unsupported operand type object for exponentiation +0 ** (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for exponentiation +0 ** (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for exponentiation +0 ** DateTime - TypeError Unsupported operand type object for exponentiation +0 ** resource - TypeError Unsupported operand type resource for exponentiation +0 ** NULL - TypeError Unsupported operand type null for exponentiation +10 ** false - TypeError Unsupported operand type bool for exponentiation +10 ** true - TypeError Unsupported operand type bool for exponentiation +10 ** 0 = 1 +10 ** 10 = 10000000000 +10 ** 0.0 = 1.0 +10 ** 10.0 = 10000000000.0 +10 ** 3.14 = 1380.3842646028852 +10 ** '0' - TypeError Unsupported operand type string for exponentiation +10 ** '10' - TypeError Unsupported operand type string for exponentiation +10 ** '010' - TypeError Unsupported operand type string for exponentiation +10 ** '10 elephants' - TypeError Unsupported operand type string for exponentiation +10 ** 'foo' - TypeError Unsupported operand type string for exponentiation +10 ** array ( ) - TypeError Unsupported operand type array for exponentiation +10 ** array ( 0 => 1 ) - TypeError Unsupported operand type array for exponentiation +10 ** array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for exponentiation +10 ** array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for exponentiation +10 ** array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for exponentiation +10 ** (object) array ( ) - TypeError Unsupported operand type object for exponentiation +10 ** (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for exponentiation +10 ** (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for exponentiation +10 ** DateTime - TypeError Unsupported operand type object for exponentiation +10 ** resource - TypeError Unsupported operand type resource for exponentiation +10 ** NULL - TypeError Unsupported operand type null for exponentiation +0.0 ** false - TypeError Unsupported operand type bool for exponentiation +0.0 ** true - TypeError Unsupported operand type bool for exponentiation +0.0 ** 0 = 1.0 +0.0 ** 10 = 0.0 +0.0 ** 0.0 = 1.0 +0.0 ** 10.0 = 0.0 +0.0 ** 3.14 = 0.0 +0.0 ** '0' - TypeError Unsupported operand type string for exponentiation +0.0 ** '10' - TypeError Unsupported operand type string for exponentiation +0.0 ** '010' - TypeError Unsupported operand type string for exponentiation +0.0 ** '10 elephants' - TypeError Unsupported operand type string for exponentiation +0.0 ** 'foo' - TypeError Unsupported operand type string for exponentiation +0.0 ** array ( ) - TypeError Unsupported operand type array for exponentiation +0.0 ** array ( 0 => 1 ) - TypeError Unsupported operand type array for exponentiation +0.0 ** array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for exponentiation +0.0 ** array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for exponentiation +0.0 ** array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for exponentiation +0.0 ** (object) array ( ) - TypeError Unsupported operand type object for exponentiation +0.0 ** (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for exponentiation +0.0 ** (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for exponentiation +0.0 ** DateTime - TypeError Unsupported operand type object for exponentiation +0.0 ** resource - TypeError Unsupported operand type resource for exponentiation +0.0 ** NULL - TypeError Unsupported operand type null for exponentiation +10.0 ** false - TypeError Unsupported operand type bool for exponentiation +10.0 ** true - TypeError Unsupported operand type bool for exponentiation +10.0 ** 0 = 1.0 +10.0 ** 10 = 10000000000.0 +10.0 ** 0.0 = 1.0 +10.0 ** 10.0 = 10000000000.0 +10.0 ** 3.14 = 1380.3842646028852 +10.0 ** '0' - TypeError Unsupported operand type string for exponentiation +10.0 ** '10' - TypeError Unsupported operand type string for exponentiation +10.0 ** '010' - TypeError Unsupported operand type string for exponentiation +10.0 ** '10 elephants' - TypeError Unsupported operand type string for exponentiation +10.0 ** 'foo' - TypeError Unsupported operand type string for exponentiation +10.0 ** array ( ) - TypeError Unsupported operand type array for exponentiation +10.0 ** array ( 0 => 1 ) - TypeError Unsupported operand type array for exponentiation +10.0 ** array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for exponentiation +10.0 ** array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for exponentiation +10.0 ** array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for exponentiation +10.0 ** (object) array ( ) - TypeError Unsupported operand type object for exponentiation +10.0 ** (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for exponentiation +10.0 ** (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for exponentiation +10.0 ** DateTime - TypeError Unsupported operand type object for exponentiation +10.0 ** resource - TypeError Unsupported operand type resource for exponentiation +10.0 ** NULL - TypeError Unsupported operand type null for exponentiation +3.14 ** false - TypeError Unsupported operand type bool for exponentiation +3.14 ** true - TypeError Unsupported operand type bool for exponentiation +3.14 ** 0 = 1.0 +3.14 ** 10 = 93174.3733866435 +3.14 ** 0.0 = 1.0 +3.14 ** 10.0 = 93174.3733866435 +3.14 ** 3.14 = 36.33783888017471 +3.14 ** '0' - TypeError Unsupported operand type string for exponentiation +3.14 ** '10' - TypeError Unsupported operand type string for exponentiation +3.14 ** '010' - TypeError Unsupported operand type string for exponentiation +3.14 ** '10 elephants' - TypeError Unsupported operand type string for exponentiation +3.14 ** 'foo' - TypeError Unsupported operand type string for exponentiation +3.14 ** array ( ) - TypeError Unsupported operand type array for exponentiation +3.14 ** array ( 0 => 1 ) - TypeError Unsupported operand type array for exponentiation +3.14 ** array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for exponentiation +3.14 ** array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for exponentiation +3.14 ** array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for exponentiation +3.14 ** (object) array ( ) - TypeError Unsupported operand type object for exponentiation +3.14 ** (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for exponentiation +3.14 ** (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for exponentiation +3.14 ** DateTime - TypeError Unsupported operand type object for exponentiation +3.14 ** resource - TypeError Unsupported operand type resource for exponentiation +3.14 ** NULL - TypeError Unsupported operand type null for exponentiation +'0' ** false - TypeError Unsupported operand type string for exponentiation +'0' ** true - TypeError Unsupported operand type string for exponentiation +'0' ** 0 - TypeError Unsupported operand type string for exponentiation +'0' ** 10 - TypeError Unsupported operand type string for exponentiation +'0' ** 0.0 - TypeError Unsupported operand type string for exponentiation +'0' ** 10.0 - TypeError Unsupported operand type string for exponentiation +'0' ** 3.14 - TypeError Unsupported operand type string for exponentiation +'0' ** '0' - TypeError Unsupported operand type string for exponentiation +'0' ** '10' - TypeError Unsupported operand type string for exponentiation +'0' ** '010' - TypeError Unsupported operand type string for exponentiation +'0' ** '10 elephants' - TypeError Unsupported operand type string for exponentiation +'0' ** 'foo' - TypeError Unsupported operand type string for exponentiation +'0' ** array ( ) - TypeError Unsupported operand type string for exponentiation +'0' ** array ( 0 => 1 ) - TypeError Unsupported operand type string for exponentiation +'0' ** array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type string for exponentiation +'0' ** array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type string for exponentiation +'0' ** array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type string for exponentiation +'0' ** (object) array ( ) - TypeError Unsupported operand type string for exponentiation +'0' ** (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type string for exponentiation +'0' ** (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type string for exponentiation +'0' ** DateTime - TypeError Unsupported operand type string for exponentiation +'0' ** resource - TypeError Unsupported operand type string for exponentiation +'0' ** NULL - TypeError Unsupported operand type string for exponentiation +'10' ** false - TypeError Unsupported operand type string for exponentiation +'10' ** true - TypeError Unsupported operand type string for exponentiation +'10' ** 0 - TypeError Unsupported operand type string for exponentiation +'10' ** 10 - TypeError Unsupported operand type string for exponentiation +'10' ** 0.0 - TypeError Unsupported operand type string for exponentiation +'10' ** 10.0 - TypeError Unsupported operand type string for exponentiation +'10' ** 3.14 - TypeError Unsupported operand type string for exponentiation +'10' ** '0' - TypeError Unsupported operand type string for exponentiation +'10' ** '10' - TypeError Unsupported operand type string for exponentiation +'10' ** '010' - TypeError Unsupported operand type string for exponentiation +'10' ** '10 elephants' - TypeError Unsupported operand type string for exponentiation +'10' ** 'foo' - TypeError Unsupported operand type string for exponentiation +'10' ** array ( ) - TypeError Unsupported operand type string for exponentiation +'10' ** array ( 0 => 1 ) - TypeError Unsupported operand type string for exponentiation +'10' ** array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type string for exponentiation +'10' ** array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type string for exponentiation +'10' ** array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type string for exponentiation +'10' ** (object) array ( ) - TypeError Unsupported operand type string for exponentiation +'10' ** (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type string for exponentiation +'10' ** (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type string for exponentiation +'10' ** DateTime - TypeError Unsupported operand type string for exponentiation +'10' ** resource - TypeError Unsupported operand type string for exponentiation +'10' ** NULL - TypeError Unsupported operand type string for exponentiation +'010' ** false - TypeError Unsupported operand type string for exponentiation +'010' ** true - TypeError Unsupported operand type string for exponentiation +'010' ** 0 - TypeError Unsupported operand type string for exponentiation +'010' ** 10 - TypeError Unsupported operand type string for exponentiation +'010' ** 0.0 - TypeError Unsupported operand type string for exponentiation +'010' ** 10.0 - TypeError Unsupported operand type string for exponentiation +'010' ** 3.14 - TypeError Unsupported operand type string for exponentiation +'010' ** '0' - TypeError Unsupported operand type string for exponentiation +'010' ** '10' - TypeError Unsupported operand type string for exponentiation +'010' ** '010' - TypeError Unsupported operand type string for exponentiation +'010' ** '10 elephants' - TypeError Unsupported operand type string for exponentiation +'010' ** 'foo' - TypeError Unsupported operand type string for exponentiation +'010' ** array ( ) - TypeError Unsupported operand type string for exponentiation +'010' ** array ( 0 => 1 ) - TypeError Unsupported operand type string for exponentiation +'010' ** array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type string for exponentiation +'010' ** array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type string for exponentiation +'010' ** array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type string for exponentiation +'010' ** (object) array ( ) - TypeError Unsupported operand type string for exponentiation +'010' ** (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type string for exponentiation +'010' ** (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type string for exponentiation +'010' ** DateTime - TypeError Unsupported operand type string for exponentiation +'010' ** resource - TypeError Unsupported operand type string for exponentiation +'010' ** NULL - TypeError Unsupported operand type string for exponentiation +'10 elephants' ** false - TypeError Unsupported operand type string for exponentiation +'10 elephants' ** true - TypeError Unsupported operand type string for exponentiation +'10 elephants' ** 0 - TypeError Unsupported operand type string for exponentiation +'10 elephants' ** 10 - TypeError Unsupported operand type string for exponentiation +'10 elephants' ** 0.0 - TypeError Unsupported operand type string for exponentiation +'10 elephants' ** 10.0 - TypeError Unsupported operand type string for exponentiation +'10 elephants' ** 3.14 - TypeError Unsupported operand type string for exponentiation +'10 elephants' ** '0' - TypeError Unsupported operand type string for exponentiation +'10 elephants' ** '10' - TypeError Unsupported operand type string for exponentiation +'10 elephants' ** '010' - TypeError Unsupported operand type string for exponentiation +'10 elephants' ** '10 elephants' - TypeError Unsupported operand type string for exponentiation +'10 elephants' ** 'foo' - TypeError Unsupported operand type string for exponentiation +'10 elephants' ** array ( ) - TypeError Unsupported operand type string for exponentiation +'10 elephants' ** array ( 0 => 1 ) - TypeError Unsupported operand type string for exponentiation +'10 elephants' ** array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type string for exponentiation +'10 elephants' ** array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type string for exponentiation +'10 elephants' ** array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type string for exponentiation +'10 elephants' ** (object) array ( ) - TypeError Unsupported operand type string for exponentiation +'10 elephants' ** (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type string for exponentiation +'10 elephants' ** (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type string for exponentiation +'10 elephants' ** DateTime - TypeError Unsupported operand type string for exponentiation +'10 elephants' ** resource - TypeError Unsupported operand type string for exponentiation +'10 elephants' ** NULL - TypeError Unsupported operand type string for exponentiation +'foo' ** false - TypeError Unsupported operand type string for exponentiation +'foo' ** true - TypeError Unsupported operand type string for exponentiation +'foo' ** 0 - TypeError Unsupported operand type string for exponentiation +'foo' ** 10 - TypeError Unsupported operand type string for exponentiation +'foo' ** 0.0 - TypeError Unsupported operand type string for exponentiation +'foo' ** 10.0 - TypeError Unsupported operand type string for exponentiation +'foo' ** 3.14 - TypeError Unsupported operand type string for exponentiation +'foo' ** '0' - TypeError Unsupported operand type string for exponentiation +'foo' ** '10' - TypeError Unsupported operand type string for exponentiation +'foo' ** '010' - TypeError Unsupported operand type string for exponentiation +'foo' ** '10 elephants' - TypeError Unsupported operand type string for exponentiation +'foo' ** 'foo' - TypeError Unsupported operand type string for exponentiation +'foo' ** array ( ) - TypeError Unsupported operand type string for exponentiation +'foo' ** array ( 0 => 1 ) - TypeError Unsupported operand type string for exponentiation +'foo' ** array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type string for exponentiation +'foo' ** array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type string for exponentiation +'foo' ** array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type string for exponentiation +'foo' ** (object) array ( ) - TypeError Unsupported operand type string for exponentiation +'foo' ** (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type string for exponentiation +'foo' ** (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type string for exponentiation +'foo' ** DateTime - TypeError Unsupported operand type string for exponentiation +'foo' ** resource - TypeError Unsupported operand type string for exponentiation +'foo' ** NULL - TypeError Unsupported operand type string for exponentiation +array ( ) ** false - TypeError Unsupported operand type array for exponentiation +array ( ) ** true - TypeError Unsupported operand type array for exponentiation +array ( ) ** 0 - TypeError Unsupported operand type array for exponentiation +array ( ) ** 10 - TypeError Unsupported operand type array for exponentiation +array ( ) ** 0.0 - TypeError Unsupported operand type array for exponentiation +array ( ) ** 10.0 - TypeError Unsupported operand type array for exponentiation +array ( ) ** 3.14 - TypeError Unsupported operand type array for exponentiation +array ( ) ** '0' - TypeError Unsupported operand type array for exponentiation +array ( ) ** '10' - TypeError Unsupported operand type array for exponentiation +array ( ) ** '010' - TypeError Unsupported operand type array for exponentiation +array ( ) ** '10 elephants' - TypeError Unsupported operand type array for exponentiation +array ( ) ** 'foo' - TypeError Unsupported operand type array for exponentiation +array ( ) ** array ( ) - TypeError Unsupported operand type array for exponentiation +array ( ) ** array ( 0 => 1 ) - TypeError Unsupported operand type array for exponentiation +array ( ) ** array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for exponentiation +array ( ) ** array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for exponentiation +array ( ) ** array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for exponentiation +array ( ) ** (object) array ( ) - TypeError Unsupported operand type array for exponentiation +array ( ) ** (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for exponentiation +array ( ) ** (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for exponentiation +array ( ) ** DateTime - TypeError Unsupported operand type array for exponentiation +array ( ) ** resource - TypeError Unsupported operand type array for exponentiation +array ( ) ** NULL - TypeError Unsupported operand type array for exponentiation +array ( 0 => 1 ) ** false - TypeError Unsupported operand type array for exponentiation +array ( 0 => 1 ) ** true - TypeError Unsupported operand type array for exponentiation +array ( 0 => 1 ) ** 0 - TypeError Unsupported operand type array for exponentiation +array ( 0 => 1 ) ** 10 - TypeError Unsupported operand type array for exponentiation +array ( 0 => 1 ) ** 0.0 - TypeError Unsupported operand type array for exponentiation +array ( 0 => 1 ) ** 10.0 - TypeError Unsupported operand type array for exponentiation +array ( 0 => 1 ) ** 3.14 - TypeError Unsupported operand type array for exponentiation +array ( 0 => 1 ) ** '0' - TypeError Unsupported operand type array for exponentiation +array ( 0 => 1 ) ** '10' - TypeError Unsupported operand type array for exponentiation +array ( 0 => 1 ) ** '010' - TypeError Unsupported operand type array for exponentiation +array ( 0 => 1 ) ** '10 elephants' - TypeError Unsupported operand type array for exponentiation +array ( 0 => 1 ) ** 'foo' - TypeError Unsupported operand type array for exponentiation +array ( 0 => 1 ) ** array ( ) - TypeError Unsupported operand type array for exponentiation +array ( 0 => 1 ) ** array ( 0 => 1 ) - TypeError Unsupported operand type array for exponentiation +array ( 0 => 1 ) ** array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for exponentiation +array ( 0 => 1 ) ** array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for exponentiation +array ( 0 => 1 ) ** array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for exponentiation +array ( 0 => 1 ) ** (object) array ( ) - TypeError Unsupported operand type array for exponentiation +array ( 0 => 1 ) ** (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for exponentiation +array ( 0 => 1 ) ** (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for exponentiation +array ( 0 => 1 ) ** DateTime - TypeError Unsupported operand type array for exponentiation +array ( 0 => 1 ) ** resource - TypeError Unsupported operand type array for exponentiation +array ( 0 => 1 ) ** NULL - TypeError Unsupported operand type array for exponentiation +array ( 0 => 1, 1 => 100 ) ** false - TypeError Unsupported operand type array for exponentiation +array ( 0 => 1, 1 => 100 ) ** true - TypeError Unsupported operand type array for exponentiation +array ( 0 => 1, 1 => 100 ) ** 0 - TypeError Unsupported operand type array for exponentiation +array ( 0 => 1, 1 => 100 ) ** 10 - TypeError Unsupported operand type array for exponentiation +array ( 0 => 1, 1 => 100 ) ** 0.0 - TypeError Unsupported operand type array for exponentiation +array ( 0 => 1, 1 => 100 ) ** 10.0 - TypeError Unsupported operand type array for exponentiation +array ( 0 => 1, 1 => 100 ) ** 3.14 - TypeError Unsupported operand type array for exponentiation +array ( 0 => 1, 1 => 100 ) ** '0' - TypeError Unsupported operand type array for exponentiation +array ( 0 => 1, 1 => 100 ) ** '10' - TypeError Unsupported operand type array for exponentiation +array ( 0 => 1, 1 => 100 ) ** '010' - TypeError Unsupported operand type array for exponentiation +array ( 0 => 1, 1 => 100 ) ** '10 elephants' - TypeError Unsupported operand type array for exponentiation +array ( 0 => 1, 1 => 100 ) ** 'foo' - TypeError Unsupported operand type array for exponentiation +array ( 0 => 1, 1 => 100 ) ** array ( ) - TypeError Unsupported operand type array for exponentiation +array ( 0 => 1, 1 => 100 ) ** array ( 0 => 1 ) - TypeError Unsupported operand type array for exponentiation +array ( 0 => 1, 1 => 100 ) ** array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for exponentiation +array ( 0 => 1, 1 => 100 ) ** array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for exponentiation +array ( 0 => 1, 1 => 100 ) ** array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for exponentiation +array ( 0 => 1, 1 => 100 ) ** (object) array ( ) - TypeError Unsupported operand type array for exponentiation +array ( 0 => 1, 1 => 100 ) ** (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for exponentiation +array ( 0 => 1, 1 => 100 ) ** (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for exponentiation +array ( 0 => 1, 1 => 100 ) ** DateTime - TypeError Unsupported operand type array for exponentiation +array ( 0 => 1, 1 => 100 ) ** resource - TypeError Unsupported operand type array for exponentiation +array ( 0 => 1, 1 => 100 ) ** NULL - TypeError Unsupported operand type array for exponentiation +array ( 'foo' => 1, 'bar' => 2 ) ** false - TypeError Unsupported operand type array for exponentiation +array ( 'foo' => 1, 'bar' => 2 ) ** true - TypeError Unsupported operand type array for exponentiation +array ( 'foo' => 1, 'bar' => 2 ) ** 0 - TypeError Unsupported operand type array for exponentiation +array ( 'foo' => 1, 'bar' => 2 ) ** 10 - TypeError Unsupported operand type array for exponentiation +array ( 'foo' => 1, 'bar' => 2 ) ** 0.0 - TypeError Unsupported operand type array for exponentiation +array ( 'foo' => 1, 'bar' => 2 ) ** 10.0 - TypeError Unsupported operand type array for exponentiation +array ( 'foo' => 1, 'bar' => 2 ) ** 3.14 - TypeError Unsupported operand type array for exponentiation +array ( 'foo' => 1, 'bar' => 2 ) ** '0' - TypeError Unsupported operand type array for exponentiation +array ( 'foo' => 1, 'bar' => 2 ) ** '10' - TypeError Unsupported operand type array for exponentiation +array ( 'foo' => 1, 'bar' => 2 ) ** '010' - TypeError Unsupported operand type array for exponentiation +array ( 'foo' => 1, 'bar' => 2 ) ** '10 elephants' - TypeError Unsupported operand type array for exponentiation +array ( 'foo' => 1, 'bar' => 2 ) ** 'foo' - TypeError Unsupported operand type array for exponentiation +array ( 'foo' => 1, 'bar' => 2 ) ** array ( ) - TypeError Unsupported operand type array for exponentiation +array ( 'foo' => 1, 'bar' => 2 ) ** array ( 0 => 1 ) - TypeError Unsupported operand type array for exponentiation +array ( 'foo' => 1, 'bar' => 2 ) ** array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for exponentiation +array ( 'foo' => 1, 'bar' => 2 ) ** array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for exponentiation +array ( 'foo' => 1, 'bar' => 2 ) ** array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for exponentiation +array ( 'foo' => 1, 'bar' => 2 ) ** (object) array ( ) - TypeError Unsupported operand type array for exponentiation +array ( 'foo' => 1, 'bar' => 2 ) ** (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for exponentiation +array ( 'foo' => 1, 'bar' => 2 ) ** (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for exponentiation +array ( 'foo' => 1, 'bar' => 2 ) ** DateTime - TypeError Unsupported operand type array for exponentiation +array ( 'foo' => 1, 'bar' => 2 ) ** resource - TypeError Unsupported operand type array for exponentiation +array ( 'foo' => 1, 'bar' => 2 ) ** NULL - TypeError Unsupported operand type array for exponentiation +array ( 'bar' => 1, 'foo' => 2 ) ** false - TypeError Unsupported operand type array for exponentiation +array ( 'bar' => 1, 'foo' => 2 ) ** true - TypeError Unsupported operand type array for exponentiation +array ( 'bar' => 1, 'foo' => 2 ) ** 0 - TypeError Unsupported operand type array for exponentiation +array ( 'bar' => 1, 'foo' => 2 ) ** 10 - TypeError Unsupported operand type array for exponentiation +array ( 'bar' => 1, 'foo' => 2 ) ** 0.0 - TypeError Unsupported operand type array for exponentiation +array ( 'bar' => 1, 'foo' => 2 ) ** 10.0 - TypeError Unsupported operand type array for exponentiation +array ( 'bar' => 1, 'foo' => 2 ) ** 3.14 - TypeError Unsupported operand type array for exponentiation +array ( 'bar' => 1, 'foo' => 2 ) ** '0' - TypeError Unsupported operand type array for exponentiation +array ( 'bar' => 1, 'foo' => 2 ) ** '10' - TypeError Unsupported operand type array for exponentiation +array ( 'bar' => 1, 'foo' => 2 ) ** '010' - TypeError Unsupported operand type array for exponentiation +array ( 'bar' => 1, 'foo' => 2 ) ** '10 elephants' - TypeError Unsupported operand type array for exponentiation +array ( 'bar' => 1, 'foo' => 2 ) ** 'foo' - TypeError Unsupported operand type array for exponentiation +array ( 'bar' => 1, 'foo' => 2 ) ** array ( ) - TypeError Unsupported operand type array for exponentiation +array ( 'bar' => 1, 'foo' => 2 ) ** array ( 0 => 1 ) - TypeError Unsupported operand type array for exponentiation +array ( 'bar' => 1, 'foo' => 2 ) ** array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for exponentiation +array ( 'bar' => 1, 'foo' => 2 ) ** array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for exponentiation +array ( 'bar' => 1, 'foo' => 2 ) ** array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for exponentiation +array ( 'bar' => 1, 'foo' => 2 ) ** (object) array ( ) - TypeError Unsupported operand type array for exponentiation +array ( 'bar' => 1, 'foo' => 2 ) ** (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for exponentiation +array ( 'bar' => 1, 'foo' => 2 ) ** (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for exponentiation +array ( 'bar' => 1, 'foo' => 2 ) ** DateTime - TypeError Unsupported operand type array for exponentiation +array ( 'bar' => 1, 'foo' => 2 ) ** resource - TypeError Unsupported operand type array for exponentiation +array ( 'bar' => 1, 'foo' => 2 ) ** NULL - TypeError Unsupported operand type array for exponentiation +(object) array ( ) ** false - TypeError Unsupported operand type object for exponentiation +(object) array ( ) ** true - TypeError Unsupported operand type object for exponentiation +(object) array ( ) ** 0 - TypeError Unsupported operand type object for exponentiation +(object) array ( ) ** 10 - TypeError Unsupported operand type object for exponentiation +(object) array ( ) ** 0.0 - TypeError Unsupported operand type object for exponentiation +(object) array ( ) ** 10.0 - TypeError Unsupported operand type object for exponentiation +(object) array ( ) ** 3.14 - TypeError Unsupported operand type object for exponentiation +(object) array ( ) ** '0' - TypeError Unsupported operand type object for exponentiation +(object) array ( ) ** '10' - TypeError Unsupported operand type object for exponentiation +(object) array ( ) ** '010' - TypeError Unsupported operand type object for exponentiation +(object) array ( ) ** '10 elephants' - TypeError Unsupported operand type object for exponentiation +(object) array ( ) ** 'foo' - TypeError Unsupported operand type object for exponentiation +(object) array ( ) ** array ( ) - TypeError Unsupported operand type object for exponentiation +(object) array ( ) ** array ( 0 => 1 ) - TypeError Unsupported operand type object for exponentiation +(object) array ( ) ** array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type object for exponentiation +(object) array ( ) ** array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for exponentiation +(object) array ( ) ** array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for exponentiation +(object) array ( ) ** (object) array ( ) - TypeError Unsupported operand type object for exponentiation +(object) array ( ) ** (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for exponentiation +(object) array ( ) ** (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for exponentiation +(object) array ( ) ** DateTime - TypeError Unsupported operand type object for exponentiation +(object) array ( ) ** resource - TypeError Unsupported operand type object for exponentiation +(object) array ( ) ** NULL - TypeError Unsupported operand type object for exponentiation +(object) array ( 'foo' => 1, 'bar' => 2 ) ** false - TypeError Unsupported operand type object for exponentiation +(object) array ( 'foo' => 1, 'bar' => 2 ) ** true - TypeError Unsupported operand type object for exponentiation +(object) array ( 'foo' => 1, 'bar' => 2 ) ** 0 - TypeError Unsupported operand type object for exponentiation +(object) array ( 'foo' => 1, 'bar' => 2 ) ** 10 - TypeError Unsupported operand type object for exponentiation +(object) array ( 'foo' => 1, 'bar' => 2 ) ** 0.0 - TypeError Unsupported operand type object for exponentiation +(object) array ( 'foo' => 1, 'bar' => 2 ) ** 10.0 - TypeError Unsupported operand type object for exponentiation +(object) array ( 'foo' => 1, 'bar' => 2 ) ** 3.14 - TypeError Unsupported operand type object for exponentiation +(object) array ( 'foo' => 1, 'bar' => 2 ) ** '0' - TypeError Unsupported operand type object for exponentiation +(object) array ( 'foo' => 1, 'bar' => 2 ) ** '10' - TypeError Unsupported operand type object for exponentiation +(object) array ( 'foo' => 1, 'bar' => 2 ) ** '010' - TypeError Unsupported operand type object for exponentiation +(object) array ( 'foo' => 1, 'bar' => 2 ) ** '10 elephants' - TypeError Unsupported operand type object for exponentiation +(object) array ( 'foo' => 1, 'bar' => 2 ) ** 'foo' - TypeError Unsupported operand type object for exponentiation +(object) array ( 'foo' => 1, 'bar' => 2 ) ** array ( ) - TypeError Unsupported operand type object for exponentiation +(object) array ( 'foo' => 1, 'bar' => 2 ) ** array ( 0 => 1 ) - TypeError Unsupported operand type object for exponentiation +(object) array ( 'foo' => 1, 'bar' => 2 ) ** array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type object for exponentiation +(object) array ( 'foo' => 1, 'bar' => 2 ) ** array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for exponentiation +(object) array ( 'foo' => 1, 'bar' => 2 ) ** array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for exponentiation +(object) array ( 'foo' => 1, 'bar' => 2 ) ** (object) array ( ) - TypeError Unsupported operand type object for exponentiation +(object) array ( 'foo' => 1, 'bar' => 2 ) ** (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for exponentiation +(object) array ( 'foo' => 1, 'bar' => 2 ) ** (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for exponentiation +(object) array ( 'foo' => 1, 'bar' => 2 ) ** DateTime - TypeError Unsupported operand type object for exponentiation +(object) array ( 'foo' => 1, 'bar' => 2 ) ** resource - TypeError Unsupported operand type object for exponentiation +(object) array ( 'foo' => 1, 'bar' => 2 ) ** NULL - TypeError Unsupported operand type object for exponentiation +(object) array ( 'bar' => 1, 'foo' => 2 ) ** false - TypeError Unsupported operand type object for exponentiation +(object) array ( 'bar' => 1, 'foo' => 2 ) ** true - TypeError Unsupported operand type object for exponentiation +(object) array ( 'bar' => 1, 'foo' => 2 ) ** 0 - TypeError Unsupported operand type object for exponentiation +(object) array ( 'bar' => 1, 'foo' => 2 ) ** 10 - TypeError Unsupported operand type object for exponentiation +(object) array ( 'bar' => 1, 'foo' => 2 ) ** 0.0 - TypeError Unsupported operand type object for exponentiation +(object) array ( 'bar' => 1, 'foo' => 2 ) ** 10.0 - TypeError Unsupported operand type object for exponentiation +(object) array ( 'bar' => 1, 'foo' => 2 ) ** 3.14 - TypeError Unsupported operand type object for exponentiation +(object) array ( 'bar' => 1, 'foo' => 2 ) ** '0' - TypeError Unsupported operand type object for exponentiation +(object) array ( 'bar' => 1, 'foo' => 2 ) ** '10' - TypeError Unsupported operand type object for exponentiation +(object) array ( 'bar' => 1, 'foo' => 2 ) ** '010' - TypeError Unsupported operand type object for exponentiation +(object) array ( 'bar' => 1, 'foo' => 2 ) ** '10 elephants' - TypeError Unsupported operand type object for exponentiation +(object) array ( 'bar' => 1, 'foo' => 2 ) ** 'foo' - TypeError Unsupported operand type object for exponentiation +(object) array ( 'bar' => 1, 'foo' => 2 ) ** array ( ) - TypeError Unsupported operand type object for exponentiation +(object) array ( 'bar' => 1, 'foo' => 2 ) ** array ( 0 => 1 ) - TypeError Unsupported operand type object for exponentiation +(object) array ( 'bar' => 1, 'foo' => 2 ) ** array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type object for exponentiation +(object) array ( 'bar' => 1, 'foo' => 2 ) ** array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for exponentiation +(object) array ( 'bar' => 1, 'foo' => 2 ) ** array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for exponentiation +(object) array ( 'bar' => 1, 'foo' => 2 ) ** (object) array ( ) - TypeError Unsupported operand type object for exponentiation +(object) array ( 'bar' => 1, 'foo' => 2 ) ** (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for exponentiation +(object) array ( 'bar' => 1, 'foo' => 2 ) ** (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for exponentiation +(object) array ( 'bar' => 1, 'foo' => 2 ) ** DateTime - TypeError Unsupported operand type object for exponentiation +(object) array ( 'bar' => 1, 'foo' => 2 ) ** resource - TypeError Unsupported operand type object for exponentiation +(object) array ( 'bar' => 1, 'foo' => 2 ) ** NULL - TypeError Unsupported operand type object for exponentiation +DateTime ** false - TypeError Unsupported operand type object for exponentiation +DateTime ** true - TypeError Unsupported operand type object for exponentiation +DateTime ** 0 - TypeError Unsupported operand type object for exponentiation +DateTime ** 10 - TypeError Unsupported operand type object for exponentiation +DateTime ** 0.0 - TypeError Unsupported operand type object for exponentiation +DateTime ** 10.0 - TypeError Unsupported operand type object for exponentiation +DateTime ** 3.14 - TypeError Unsupported operand type object for exponentiation +DateTime ** '0' - TypeError Unsupported operand type object for exponentiation +DateTime ** '10' - TypeError Unsupported operand type object for exponentiation +DateTime ** '010' - TypeError Unsupported operand type object for exponentiation +DateTime ** '10 elephants' - TypeError Unsupported operand type object for exponentiation +DateTime ** 'foo' - TypeError Unsupported operand type object for exponentiation +DateTime ** array ( ) - TypeError Unsupported operand type object for exponentiation +DateTime ** array ( 0 => 1 ) - TypeError Unsupported operand type object for exponentiation +DateTime ** array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type object for exponentiation +DateTime ** array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for exponentiation +DateTime ** array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for exponentiation +DateTime ** (object) array ( ) - TypeError Unsupported operand type object for exponentiation +DateTime ** (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for exponentiation +DateTime ** (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for exponentiation +DateTime ** DateTime - TypeError Unsupported operand type object for exponentiation +DateTime ** resource - TypeError Unsupported operand type object for exponentiation +DateTime ** NULL - TypeError Unsupported operand type object for exponentiation +resource ** false - TypeError Unsupported operand type resource for exponentiation +resource ** true - TypeError Unsupported operand type resource for exponentiation +resource ** 0 - TypeError Unsupported operand type resource for exponentiation +resource ** 10 - TypeError Unsupported operand type resource for exponentiation +resource ** 0.0 - TypeError Unsupported operand type resource for exponentiation +resource ** 10.0 - TypeError Unsupported operand type resource for exponentiation +resource ** 3.14 - TypeError Unsupported operand type resource for exponentiation +resource ** '0' - TypeError Unsupported operand type resource for exponentiation +resource ** '10' - TypeError Unsupported operand type resource for exponentiation +resource ** '010' - TypeError Unsupported operand type resource for exponentiation +resource ** '10 elephants' - TypeError Unsupported operand type resource for exponentiation +resource ** 'foo' - TypeError Unsupported operand type resource for exponentiation +resource ** array ( ) - TypeError Unsupported operand type resource for exponentiation +resource ** array ( 0 => 1 ) - TypeError Unsupported operand type resource for exponentiation +resource ** array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type resource for exponentiation +resource ** array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type resource for exponentiation +resource ** array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type resource for exponentiation +resource ** (object) array ( ) - TypeError Unsupported operand type resource for exponentiation +resource ** (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type resource for exponentiation +resource ** (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type resource for exponentiation +resource ** DateTime - TypeError Unsupported operand type resource for exponentiation +resource ** resource - TypeError Unsupported operand type resource for exponentiation +resource ** NULL - TypeError Unsupported operand type resource for exponentiation +NULL ** false - TypeError Unsupported operand type null for exponentiation +NULL ** true - TypeError Unsupported operand type null for exponentiation +NULL ** 0 - TypeError Unsupported operand type null for exponentiation +NULL ** 10 - TypeError Unsupported operand type null for exponentiation +NULL ** 0.0 - TypeError Unsupported operand type null for exponentiation +NULL ** 10.0 - TypeError Unsupported operand type null for exponentiation +NULL ** 3.14 - TypeError Unsupported operand type null for exponentiation +NULL ** '0' - TypeError Unsupported operand type null for exponentiation +NULL ** '10' - TypeError Unsupported operand type null for exponentiation +NULL ** '010' - TypeError Unsupported operand type null for exponentiation +NULL ** '10 elephants' - TypeError Unsupported operand type null for exponentiation +NULL ** 'foo' - TypeError Unsupported operand type null for exponentiation +NULL ** array ( ) - TypeError Unsupported operand type null for exponentiation +NULL ** array ( 0 => 1 ) - TypeError Unsupported operand type null for exponentiation +NULL ** array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type null for exponentiation +NULL ** array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type null for exponentiation +NULL ** array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type null for exponentiation +NULL ** (object) array ( ) - TypeError Unsupported operand type null for exponentiation +NULL ** (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type null for exponentiation +NULL ** (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type null for exponentiation +NULL ** DateTime - TypeError Unsupported operand type null for exponentiation +NULL ** resource - TypeError Unsupported operand type null for exponentiation +NULL ** NULL - TypeError Unsupported operand type null for exponentiation \ No newline at end of file diff --git a/Zend/tests/operators/arithmetic/identity.phpt b/Zend/tests/operators/arithmetic/identity.phpt new file mode 100644 index 000000000000..1f33cec8e6c2 --- /dev/null +++ b/Zend/tests/operators/arithmetic/identity.phpt @@ -0,0 +1,34 @@ +--TEST-- +identity operator +--FILE-- + 1 ) - Error Unsupported operand types ++array ( 0 => 1, 1 => 100 ) - Error Unsupported operand types ++array ( 'foo' => 1, 'bar' => 2 ) - Error Unsupported operand types ++array ( 'bar' => 1, 'foo' => 2 ) - Error Unsupported operand types ++(object) array ( ) = 1 - Notice Object of class stdClass could not be converted to number ++(object) array ( 'foo' => 1, 'bar' => 2 ) = 1 - Notice Object of class stdClass could not be converted to number ++(object) array ( 'bar' => 1, 'foo' => 2 ) = 1 - Notice Object of class stdClass could not be converted to number ++DateTime = 1 - Notice Object of class DateTime could not be converted to number ++resource = 6 ++NULL = 0 \ No newline at end of file diff --git a/Zend/tests/operators/arithmetic/identity_strict.phpt b/Zend/tests/operators/arithmetic/identity_strict.phpt new file mode 100644 index 000000000000..6ddd450a395c --- /dev/null +++ b/Zend/tests/operators/arithmetic/identity_strict.phpt @@ -0,0 +1,36 @@ +--TEST-- +identity operator with strict_operators +--FILE-- + 1 ) - TypeError Unsupported operand type array for multiplication ++array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for multiplication ++array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for multiplication ++array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for multiplication ++(object) array ( ) - TypeError Unsupported operand type object for multiplication ++(object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for multiplication ++(object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for multiplication ++DateTime - TypeError Unsupported operand type object for multiplication ++resource - TypeError Unsupported operand type resource for multiplication ++NULL - TypeError Unsupported operand type null for multiplication \ No newline at end of file diff --git a/Zend/tests/operators/arithmetic/modulo.phpt b/Zend/tests/operators/arithmetic/modulo.phpt new file mode 100644 index 000000000000..b275035095a7 --- /dev/null +++ b/Zend/tests/operators/arithmetic/modulo.phpt @@ -0,0 +1,540 @@ +--TEST-- +modulo '%' operator +--FILE-- + 1 ) = 0 +false % array ( 0 => 1, 1 => 100 ) = 0 +false % array ( 'foo' => 1, 'bar' => 2 ) = 0 +false % array ( 'bar' => 1, 'foo' => 2 ) = 0 +false % (object) array ( ) = 0 - Notice Object of class stdClass could not be converted to int +false % (object) array ( 'foo' => 1, 'bar' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +false % (object) array ( 'bar' => 1, 'foo' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +false % DateTime = 0 - Notice Object of class DateTime could not be converted to int +false % resource = 0 +false % NULL - DivisionByZeroError Modulo by zero +true % false - DivisionByZeroError Modulo by zero +true % true = 0 +true % 0 - DivisionByZeroError Modulo by zero +true % 10 = 1 +true % 0.0 - DivisionByZeroError Modulo by zero +true % 10.0 = 1 +true % 3.14 = 1 +true % '0' - DivisionByZeroError Modulo by zero +true % '10' = 1 +true % '010' = 1 +true % '10 elephants' = 1 - Notice A non well formed numeric value encountered +true % 'foo' - DivisionByZeroError Modulo by zero +true % array ( ) - DivisionByZeroError Modulo by zero +true % array ( 0 => 1 ) = 0 +true % array ( 0 => 1, 1 => 100 ) = 0 +true % array ( 'foo' => 1, 'bar' => 2 ) = 0 +true % array ( 'bar' => 1, 'foo' => 2 ) = 0 +true % (object) array ( ) = 0 - Notice Object of class stdClass could not be converted to int +true % (object) array ( 'foo' => 1, 'bar' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +true % (object) array ( 'bar' => 1, 'foo' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +true % DateTime = 0 - Notice Object of class DateTime could not be converted to int +true % resource = 1 +true % NULL - DivisionByZeroError Modulo by zero +0 % false - DivisionByZeroError Modulo by zero +0 % true = 0 +0 % 0 - DivisionByZeroError Modulo by zero +0 % 10 = 0 +0 % 0.0 - DivisionByZeroError Modulo by zero +0 % 10.0 = 0 +0 % 3.14 = 0 +0 % '0' - DivisionByZeroError Modulo by zero +0 % '10' = 0 +0 % '010' = 0 +0 % '10 elephants' = 0 - Notice A non well formed numeric value encountered +0 % 'foo' - DivisionByZeroError Modulo by zero +0 % array ( ) - DivisionByZeroError Modulo by zero +0 % array ( 0 => 1 ) = 0 +0 % array ( 0 => 1, 1 => 100 ) = 0 +0 % array ( 'foo' => 1, 'bar' => 2 ) = 0 +0 % array ( 'bar' => 1, 'foo' => 2 ) = 0 +0 % (object) array ( ) = 0 - Notice Object of class stdClass could not be converted to int +0 % (object) array ( 'foo' => 1, 'bar' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +0 % (object) array ( 'bar' => 1, 'foo' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +0 % DateTime = 0 - Notice Object of class DateTime could not be converted to int +0 % resource = 0 +0 % NULL - DivisionByZeroError Modulo by zero +10 % false - DivisionByZeroError Modulo by zero +10 % true = 0 +10 % 0 - DivisionByZeroError Modulo by zero +10 % 10 = 0 +10 % 0.0 - DivisionByZeroError Modulo by zero +10 % 10.0 = 0 +10 % 3.14 = 1 +10 % '0' - DivisionByZeroError Modulo by zero +10 % '10' = 0 +10 % '010' = 0 +10 % '10 elephants' = 0 - Notice A non well formed numeric value encountered +10 % 'foo' - DivisionByZeroError Modulo by zero +10 % array ( ) - DivisionByZeroError Modulo by zero +10 % array ( 0 => 1 ) = 0 +10 % array ( 0 => 1, 1 => 100 ) = 0 +10 % array ( 'foo' => 1, 'bar' => 2 ) = 0 +10 % array ( 'bar' => 1, 'foo' => 2 ) = 0 +10 % (object) array ( ) = 0 - Notice Object of class stdClass could not be converted to int +10 % (object) array ( 'foo' => 1, 'bar' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +10 % (object) array ( 'bar' => 1, 'foo' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +10 % DateTime = 0 - Notice Object of class DateTime could not be converted to int +10 % resource = 4 +10 % NULL - DivisionByZeroError Modulo by zero +0.0 % false - DivisionByZeroError Modulo by zero +0.0 % true = 0 +0.0 % 0 - DivisionByZeroError Modulo by zero +0.0 % 10 = 0 +0.0 % 0.0 - DivisionByZeroError Modulo by zero +0.0 % 10.0 = 0 +0.0 % 3.14 = 0 +0.0 % '0' - DivisionByZeroError Modulo by zero +0.0 % '10' = 0 +0.0 % '010' = 0 +0.0 % '10 elephants' = 0 - Notice A non well formed numeric value encountered +0.0 % 'foo' - DivisionByZeroError Modulo by zero +0.0 % array ( ) - DivisionByZeroError Modulo by zero +0.0 % array ( 0 => 1 ) = 0 +0.0 % array ( 0 => 1, 1 => 100 ) = 0 +0.0 % array ( 'foo' => 1, 'bar' => 2 ) = 0 +0.0 % array ( 'bar' => 1, 'foo' => 2 ) = 0 +0.0 % (object) array ( ) = 0 - Notice Object of class stdClass could not be converted to int +0.0 % (object) array ( 'foo' => 1, 'bar' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +0.0 % (object) array ( 'bar' => 1, 'foo' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +0.0 % DateTime = 0 - Notice Object of class DateTime could not be converted to int +0.0 % resource = 0 +0.0 % NULL - DivisionByZeroError Modulo by zero +10.0 % false - DivisionByZeroError Modulo by zero +10.0 % true = 0 +10.0 % 0 - DivisionByZeroError Modulo by zero +10.0 % 10 = 0 +10.0 % 0.0 - DivisionByZeroError Modulo by zero +10.0 % 10.0 = 0 +10.0 % 3.14 = 1 +10.0 % '0' - DivisionByZeroError Modulo by zero +10.0 % '10' = 0 +10.0 % '010' = 0 +10.0 % '10 elephants' = 0 - Notice A non well formed numeric value encountered +10.0 % 'foo' - DivisionByZeroError Modulo by zero +10.0 % array ( ) - DivisionByZeroError Modulo by zero +10.0 % array ( 0 => 1 ) = 0 +10.0 % array ( 0 => 1, 1 => 100 ) = 0 +10.0 % array ( 'foo' => 1, 'bar' => 2 ) = 0 +10.0 % array ( 'bar' => 1, 'foo' => 2 ) = 0 +10.0 % (object) array ( ) = 0 - Notice Object of class stdClass could not be converted to int +10.0 % (object) array ( 'foo' => 1, 'bar' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +10.0 % (object) array ( 'bar' => 1, 'foo' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +10.0 % DateTime = 0 - Notice Object of class DateTime could not be converted to int +10.0 % resource = 4 +10.0 % NULL - DivisionByZeroError Modulo by zero +3.14 % false - DivisionByZeroError Modulo by zero +3.14 % true = 0 +3.14 % 0 - DivisionByZeroError Modulo by zero +3.14 % 10 = 3 +3.14 % 0.0 - DivisionByZeroError Modulo by zero +3.14 % 10.0 = 3 +3.14 % 3.14 = 0 +3.14 % '0' - DivisionByZeroError Modulo by zero +3.14 % '10' = 3 +3.14 % '010' = 3 +3.14 % '10 elephants' = 3 - Notice A non well formed numeric value encountered +3.14 % 'foo' - DivisionByZeroError Modulo by zero +3.14 % array ( ) - DivisionByZeroError Modulo by zero +3.14 % array ( 0 => 1 ) = 0 +3.14 % array ( 0 => 1, 1 => 100 ) = 0 +3.14 % array ( 'foo' => 1, 'bar' => 2 ) = 0 +3.14 % array ( 'bar' => 1, 'foo' => 2 ) = 0 +3.14 % (object) array ( ) = 0 - Notice Object of class stdClass could not be converted to int +3.14 % (object) array ( 'foo' => 1, 'bar' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +3.14 % (object) array ( 'bar' => 1, 'foo' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +3.14 % DateTime = 0 - Notice Object of class DateTime could not be converted to int +3.14 % resource = 3 +3.14 % NULL - DivisionByZeroError Modulo by zero +'0' % false - DivisionByZeroError Modulo by zero +'0' % true = 0 +'0' % 0 - DivisionByZeroError Modulo by zero +'0' % 10 = 0 +'0' % 0.0 - DivisionByZeroError Modulo by zero +'0' % 10.0 = 0 +'0' % 3.14 = 0 +'0' % '0' - DivisionByZeroError Modulo by zero +'0' % '10' = 0 +'0' % '010' = 0 +'0' % '10 elephants' = 0 - Notice A non well formed numeric value encountered +'0' % 'foo' - DivisionByZeroError Modulo by zero +'0' % array ( ) - DivisionByZeroError Modulo by zero +'0' % array ( 0 => 1 ) = 0 +'0' % array ( 0 => 1, 1 => 100 ) = 0 +'0' % array ( 'foo' => 1, 'bar' => 2 ) = 0 +'0' % array ( 'bar' => 1, 'foo' => 2 ) = 0 +'0' % (object) array ( ) = 0 - Notice Object of class stdClass could not be converted to int +'0' % (object) array ( 'foo' => 1, 'bar' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +'0' % (object) array ( 'bar' => 1, 'foo' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +'0' % DateTime = 0 - Notice Object of class DateTime could not be converted to int +'0' % resource = 0 +'0' % NULL - DivisionByZeroError Modulo by zero +'10' % false - DivisionByZeroError Modulo by zero +'10' % true = 0 +'10' % 0 - DivisionByZeroError Modulo by zero +'10' % 10 = 0 +'10' % 0.0 - DivisionByZeroError Modulo by zero +'10' % 10.0 = 0 +'10' % 3.14 = 1 +'10' % '0' - DivisionByZeroError Modulo by zero +'10' % '10' = 0 +'10' % '010' = 0 +'10' % '10 elephants' = 0 - Notice A non well formed numeric value encountered +'10' % 'foo' - DivisionByZeroError Modulo by zero +'10' % array ( ) - DivisionByZeroError Modulo by zero +'10' % array ( 0 => 1 ) = 0 +'10' % array ( 0 => 1, 1 => 100 ) = 0 +'10' % array ( 'foo' => 1, 'bar' => 2 ) = 0 +'10' % array ( 'bar' => 1, 'foo' => 2 ) = 0 +'10' % (object) array ( ) = 0 - Notice Object of class stdClass could not be converted to int +'10' % (object) array ( 'foo' => 1, 'bar' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +'10' % (object) array ( 'bar' => 1, 'foo' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +'10' % DateTime = 0 - Notice Object of class DateTime could not be converted to int +'10' % resource = 4 +'10' % NULL - DivisionByZeroError Modulo by zero +'010' % false - DivisionByZeroError Modulo by zero +'010' % true = 0 +'010' % 0 - DivisionByZeroError Modulo by zero +'010' % 10 = 0 +'010' % 0.0 - DivisionByZeroError Modulo by zero +'010' % 10.0 = 0 +'010' % 3.14 = 1 +'010' % '0' - DivisionByZeroError Modulo by zero +'010' % '10' = 0 +'010' % '010' = 0 +'010' % '10 elephants' = 0 - Notice A non well formed numeric value encountered +'010' % 'foo' - DivisionByZeroError Modulo by zero +'010' % array ( ) - DivisionByZeroError Modulo by zero +'010' % array ( 0 => 1 ) = 0 +'010' % array ( 0 => 1, 1 => 100 ) = 0 +'010' % array ( 'foo' => 1, 'bar' => 2 ) = 0 +'010' % array ( 'bar' => 1, 'foo' => 2 ) = 0 +'010' % (object) array ( ) = 0 - Notice Object of class stdClass could not be converted to int +'010' % (object) array ( 'foo' => 1, 'bar' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +'010' % (object) array ( 'bar' => 1, 'foo' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +'010' % DateTime = 0 - Notice Object of class DateTime could not be converted to int +'010' % resource = 4 +'010' % NULL - DivisionByZeroError Modulo by zero +'10 elephants' % false - DivisionByZeroError Modulo by zero +'10 elephants' % true = 0 - Notice A non well formed numeric value encountered +'10 elephants' % 0 - DivisionByZeroError Modulo by zero +'10 elephants' % 10 = 0 - Notice A non well formed numeric value encountered +'10 elephants' % 0.0 - DivisionByZeroError Modulo by zero +'10 elephants' % 10.0 = 0 - Notice A non well formed numeric value encountered +'10 elephants' % 3.14 = 1 - Notice A non well formed numeric value encountered +'10 elephants' % '0' - DivisionByZeroError Modulo by zero +'10 elephants' % '10' = 0 - Notice A non well formed numeric value encountered +'10 elephants' % '010' = 0 - Notice A non well formed numeric value encountered +'10 elephants' % '10 elephants' = 0 - Notice A non well formed numeric value encountered +'10 elephants' % 'foo' - DivisionByZeroError Modulo by zero +'10 elephants' % array ( ) - DivisionByZeroError Modulo by zero +'10 elephants' % array ( 0 => 1 ) = 0 - Notice A non well formed numeric value encountered +'10 elephants' % array ( 0 => 1, 1 => 100 ) = 0 - Notice A non well formed numeric value encountered +'10 elephants' % array ( 'foo' => 1, 'bar' => 2 ) = 0 - Notice A non well formed numeric value encountered +'10 elephants' % array ( 'bar' => 1, 'foo' => 2 ) = 0 - Notice A non well formed numeric value encountered +'10 elephants' % (object) array ( ) = 0 - Notice Object of class stdClass could not be converted to int +'10 elephants' % (object) array ( 'foo' => 1, 'bar' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +'10 elephants' % (object) array ( 'bar' => 1, 'foo' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +'10 elephants' % DateTime = 0 - Notice Object of class DateTime could not be converted to int +'10 elephants' % resource = 4 - Notice A non well formed numeric value encountered +'10 elephants' % NULL - DivisionByZeroError Modulo by zero +'foo' % false - DivisionByZeroError Modulo by zero +'foo' % true = 0 - Warning A non-numeric value encountered +'foo' % 0 - DivisionByZeroError Modulo by zero +'foo' % 10 = 0 - Warning A non-numeric value encountered +'foo' % 0.0 - DivisionByZeroError Modulo by zero +'foo' % 10.0 = 0 - Warning A non-numeric value encountered +'foo' % 3.14 = 0 - Warning A non-numeric value encountered +'foo' % '0' - DivisionByZeroError Modulo by zero +'foo' % '10' = 0 - Warning A non-numeric value encountered +'foo' % '010' = 0 - Warning A non-numeric value encountered +'foo' % '10 elephants' = 0 - Notice A non well formed numeric value encountered +'foo' % 'foo' - DivisionByZeroError Modulo by zero +'foo' % array ( ) - DivisionByZeroError Modulo by zero +'foo' % array ( 0 => 1 ) = 0 - Warning A non-numeric value encountered +'foo' % array ( 0 => 1, 1 => 100 ) = 0 - Warning A non-numeric value encountered +'foo' % array ( 'foo' => 1, 'bar' => 2 ) = 0 - Warning A non-numeric value encountered +'foo' % array ( 'bar' => 1, 'foo' => 2 ) = 0 - Warning A non-numeric value encountered +'foo' % (object) array ( ) = 0 - Notice Object of class stdClass could not be converted to int +'foo' % (object) array ( 'foo' => 1, 'bar' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +'foo' % (object) array ( 'bar' => 1, 'foo' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +'foo' % DateTime = 0 - Notice Object of class DateTime could not be converted to int +'foo' % resource = 0 - Warning A non-numeric value encountered +'foo' % NULL - DivisionByZeroError Modulo by zero +array ( ) % false - DivisionByZeroError Modulo by zero +array ( ) % true = 0 +array ( ) % 0 - DivisionByZeroError Modulo by zero +array ( ) % 10 = 0 +array ( ) % 0.0 - DivisionByZeroError Modulo by zero +array ( ) % 10.0 = 0 +array ( ) % 3.14 = 0 +array ( ) % '0' - DivisionByZeroError Modulo by zero +array ( ) % '10' = 0 +array ( ) % '010' = 0 +array ( ) % '10 elephants' = 0 - Notice A non well formed numeric value encountered +array ( ) % 'foo' - DivisionByZeroError Modulo by zero +array ( ) % array ( ) - DivisionByZeroError Modulo by zero +array ( ) % array ( 0 => 1 ) = 0 +array ( ) % array ( 0 => 1, 1 => 100 ) = 0 +array ( ) % array ( 'foo' => 1, 'bar' => 2 ) = 0 +array ( ) % array ( 'bar' => 1, 'foo' => 2 ) = 0 +array ( ) % (object) array ( ) = 0 - Notice Object of class stdClass could not be converted to int +array ( ) % (object) array ( 'foo' => 1, 'bar' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +array ( ) % (object) array ( 'bar' => 1, 'foo' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +array ( ) % DateTime = 0 - Notice Object of class DateTime could not be converted to int +array ( ) % resource = 0 +array ( ) % NULL - DivisionByZeroError Modulo by zero +array ( 0 => 1 ) % false - DivisionByZeroError Modulo by zero +array ( 0 => 1 ) % true = 0 +array ( 0 => 1 ) % 0 - DivisionByZeroError Modulo by zero +array ( 0 => 1 ) % 10 = 1 +array ( 0 => 1 ) % 0.0 - DivisionByZeroError Modulo by zero +array ( 0 => 1 ) % 10.0 = 1 +array ( 0 => 1 ) % 3.14 = 1 +array ( 0 => 1 ) % '0' - DivisionByZeroError Modulo by zero +array ( 0 => 1 ) % '10' = 1 +array ( 0 => 1 ) % '010' = 1 +array ( 0 => 1 ) % '10 elephants' = 1 - Notice A non well formed numeric value encountered +array ( 0 => 1 ) % 'foo' - DivisionByZeroError Modulo by zero +array ( 0 => 1 ) % array ( ) - DivisionByZeroError Modulo by zero +array ( 0 => 1 ) % array ( 0 => 1 ) = 0 +array ( 0 => 1 ) % array ( 0 => 1, 1 => 100 ) = 0 +array ( 0 => 1 ) % array ( 'foo' => 1, 'bar' => 2 ) = 0 +array ( 0 => 1 ) % array ( 'bar' => 1, 'foo' => 2 ) = 0 +array ( 0 => 1 ) % (object) array ( ) = 0 - Notice Object of class stdClass could not be converted to int +array ( 0 => 1 ) % (object) array ( 'foo' => 1, 'bar' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +array ( 0 => 1 ) % (object) array ( 'bar' => 1, 'foo' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +array ( 0 => 1 ) % DateTime = 0 - Notice Object of class DateTime could not be converted to int +array ( 0 => 1 ) % resource = 1 +array ( 0 => 1 ) % NULL - DivisionByZeroError Modulo by zero +array ( 0 => 1, 1 => 100 ) % false - DivisionByZeroError Modulo by zero +array ( 0 => 1, 1 => 100 ) % true = 0 +array ( 0 => 1, 1 => 100 ) % 0 - DivisionByZeroError Modulo by zero +array ( 0 => 1, 1 => 100 ) % 10 = 1 +array ( 0 => 1, 1 => 100 ) % 0.0 - DivisionByZeroError Modulo by zero +array ( 0 => 1, 1 => 100 ) % 10.0 = 1 +array ( 0 => 1, 1 => 100 ) % 3.14 = 1 +array ( 0 => 1, 1 => 100 ) % '0' - DivisionByZeroError Modulo by zero +array ( 0 => 1, 1 => 100 ) % '10' = 1 +array ( 0 => 1, 1 => 100 ) % '010' = 1 +array ( 0 => 1, 1 => 100 ) % '10 elephants' = 1 - Notice A non well formed numeric value encountered +array ( 0 => 1, 1 => 100 ) % 'foo' - DivisionByZeroError Modulo by zero +array ( 0 => 1, 1 => 100 ) % array ( ) - DivisionByZeroError Modulo by zero +array ( 0 => 1, 1 => 100 ) % array ( 0 => 1 ) = 0 +array ( 0 => 1, 1 => 100 ) % array ( 0 => 1, 1 => 100 ) = 0 +array ( 0 => 1, 1 => 100 ) % array ( 'foo' => 1, 'bar' => 2 ) = 0 +array ( 0 => 1, 1 => 100 ) % array ( 'bar' => 1, 'foo' => 2 ) = 0 +array ( 0 => 1, 1 => 100 ) % (object) array ( ) = 0 - Notice Object of class stdClass could not be converted to int +array ( 0 => 1, 1 => 100 ) % (object) array ( 'foo' => 1, 'bar' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +array ( 0 => 1, 1 => 100 ) % (object) array ( 'bar' => 1, 'foo' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +array ( 0 => 1, 1 => 100 ) % DateTime = 0 - Notice Object of class DateTime could not be converted to int +array ( 0 => 1, 1 => 100 ) % resource = 1 +array ( 0 => 1, 1 => 100 ) % NULL - DivisionByZeroError Modulo by zero +array ( 'foo' => 1, 'bar' => 2 ) % false - DivisionByZeroError Modulo by zero +array ( 'foo' => 1, 'bar' => 2 ) % true = 0 +array ( 'foo' => 1, 'bar' => 2 ) % 0 - DivisionByZeroError Modulo by zero +array ( 'foo' => 1, 'bar' => 2 ) % 10 = 1 +array ( 'foo' => 1, 'bar' => 2 ) % 0.0 - DivisionByZeroError Modulo by zero +array ( 'foo' => 1, 'bar' => 2 ) % 10.0 = 1 +array ( 'foo' => 1, 'bar' => 2 ) % 3.14 = 1 +array ( 'foo' => 1, 'bar' => 2 ) % '0' - DivisionByZeroError Modulo by zero +array ( 'foo' => 1, 'bar' => 2 ) % '10' = 1 +array ( 'foo' => 1, 'bar' => 2 ) % '010' = 1 +array ( 'foo' => 1, 'bar' => 2 ) % '10 elephants' = 1 - Notice A non well formed numeric value encountered +array ( 'foo' => 1, 'bar' => 2 ) % 'foo' - DivisionByZeroError Modulo by zero +array ( 'foo' => 1, 'bar' => 2 ) % array ( ) - DivisionByZeroError Modulo by zero +array ( 'foo' => 1, 'bar' => 2 ) % array ( 0 => 1 ) = 0 +array ( 'foo' => 1, 'bar' => 2 ) % array ( 0 => 1, 1 => 100 ) = 0 +array ( 'foo' => 1, 'bar' => 2 ) % array ( 'foo' => 1, 'bar' => 2 ) = 0 +array ( 'foo' => 1, 'bar' => 2 ) % array ( 'bar' => 1, 'foo' => 2 ) = 0 +array ( 'foo' => 1, 'bar' => 2 ) % (object) array ( ) = 0 - Notice Object of class stdClass could not be converted to int +array ( 'foo' => 1, 'bar' => 2 ) % (object) array ( 'foo' => 1, 'bar' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +array ( 'foo' => 1, 'bar' => 2 ) % (object) array ( 'bar' => 1, 'foo' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +array ( 'foo' => 1, 'bar' => 2 ) % DateTime = 0 - Notice Object of class DateTime could not be converted to int +array ( 'foo' => 1, 'bar' => 2 ) % resource = 1 +array ( 'foo' => 1, 'bar' => 2 ) % NULL - DivisionByZeroError Modulo by zero +array ( 'bar' => 1, 'foo' => 2 ) % false - DivisionByZeroError Modulo by zero +array ( 'bar' => 1, 'foo' => 2 ) % true = 0 +array ( 'bar' => 1, 'foo' => 2 ) % 0 - DivisionByZeroError Modulo by zero +array ( 'bar' => 1, 'foo' => 2 ) % 10 = 1 +array ( 'bar' => 1, 'foo' => 2 ) % 0.0 - DivisionByZeroError Modulo by zero +array ( 'bar' => 1, 'foo' => 2 ) % 10.0 = 1 +array ( 'bar' => 1, 'foo' => 2 ) % 3.14 = 1 +array ( 'bar' => 1, 'foo' => 2 ) % '0' - DivisionByZeroError Modulo by zero +array ( 'bar' => 1, 'foo' => 2 ) % '10' = 1 +array ( 'bar' => 1, 'foo' => 2 ) % '010' = 1 +array ( 'bar' => 1, 'foo' => 2 ) % '10 elephants' = 1 - Notice A non well formed numeric value encountered +array ( 'bar' => 1, 'foo' => 2 ) % 'foo' - DivisionByZeroError Modulo by zero +array ( 'bar' => 1, 'foo' => 2 ) % array ( ) - DivisionByZeroError Modulo by zero +array ( 'bar' => 1, 'foo' => 2 ) % array ( 0 => 1 ) = 0 +array ( 'bar' => 1, 'foo' => 2 ) % array ( 0 => 1, 1 => 100 ) = 0 +array ( 'bar' => 1, 'foo' => 2 ) % array ( 'foo' => 1, 'bar' => 2 ) = 0 +array ( 'bar' => 1, 'foo' => 2 ) % array ( 'bar' => 1, 'foo' => 2 ) = 0 +array ( 'bar' => 1, 'foo' => 2 ) % (object) array ( ) = 0 - Notice Object of class stdClass could not be converted to int +array ( 'bar' => 1, 'foo' => 2 ) % (object) array ( 'foo' => 1, 'bar' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +array ( 'bar' => 1, 'foo' => 2 ) % (object) array ( 'bar' => 1, 'foo' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +array ( 'bar' => 1, 'foo' => 2 ) % DateTime = 0 - Notice Object of class DateTime could not be converted to int +array ( 'bar' => 1, 'foo' => 2 ) % resource = 1 +array ( 'bar' => 1, 'foo' => 2 ) % NULL - DivisionByZeroError Modulo by zero +(object) array ( ) % false - DivisionByZeroError Modulo by zero +(object) array ( ) % true = 0 - Notice Object of class stdClass could not be converted to int +(object) array ( ) % 0 - DivisionByZeroError Modulo by zero +(object) array ( ) % 10 = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( ) % 0.0 - DivisionByZeroError Modulo by zero +(object) array ( ) % 10.0 = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( ) % 3.14 = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( ) % '0' - DivisionByZeroError Modulo by zero +(object) array ( ) % '10' = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( ) % '010' = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( ) % '10 elephants' = 1 - Notice A non well formed numeric value encountered +(object) array ( ) % 'foo' - DivisionByZeroError Modulo by zero +(object) array ( ) % array ( ) - DivisionByZeroError Modulo by zero +(object) array ( ) % array ( 0 => 1 ) = 0 - Notice Object of class stdClass could not be converted to int +(object) array ( ) % array ( 0 => 1, 1 => 100 ) = 0 - Notice Object of class stdClass could not be converted to int +(object) array ( ) % array ( 'foo' => 1, 'bar' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +(object) array ( ) % array ( 'bar' => 1, 'foo' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +(object) array ( ) % (object) array ( ) = 0 - Notice Object of class stdClass could not be converted to int +(object) array ( ) % (object) array ( 'foo' => 1, 'bar' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +(object) array ( ) % (object) array ( 'bar' => 1, 'foo' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +(object) array ( ) % DateTime = 0 - Notice Object of class DateTime could not be converted to int +(object) array ( ) % resource = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( ) % NULL - DivisionByZeroError Modulo by zero +(object) array ( 'foo' => 1, 'bar' => 2 ) % false - DivisionByZeroError Modulo by zero +(object) array ( 'foo' => 1, 'bar' => 2 ) % true = 0 - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) % 0 - DivisionByZeroError Modulo by zero +(object) array ( 'foo' => 1, 'bar' => 2 ) % 10 = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) % 0.0 - DivisionByZeroError Modulo by zero +(object) array ( 'foo' => 1, 'bar' => 2 ) % 10.0 = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) % 3.14 = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) % '0' - DivisionByZeroError Modulo by zero +(object) array ( 'foo' => 1, 'bar' => 2 ) % '10' = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) % '010' = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) % '10 elephants' = 1 - Notice A non well formed numeric value encountered +(object) array ( 'foo' => 1, 'bar' => 2 ) % 'foo' - DivisionByZeroError Modulo by zero +(object) array ( 'foo' => 1, 'bar' => 2 ) % array ( ) - DivisionByZeroError Modulo by zero +(object) array ( 'foo' => 1, 'bar' => 2 ) % array ( 0 => 1 ) = 0 - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) % array ( 0 => 1, 1 => 100 ) = 0 - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) % array ( 'foo' => 1, 'bar' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) % array ( 'bar' => 1, 'foo' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) % (object) array ( ) = 0 - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) % (object) array ( 'foo' => 1, 'bar' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) % (object) array ( 'bar' => 1, 'foo' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) % DateTime = 0 - Notice Object of class DateTime could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) % resource = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) % NULL - DivisionByZeroError Modulo by zero +(object) array ( 'bar' => 1, 'foo' => 2 ) % false - DivisionByZeroError Modulo by zero +(object) array ( 'bar' => 1, 'foo' => 2 ) % true = 0 - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) % 0 - DivisionByZeroError Modulo by zero +(object) array ( 'bar' => 1, 'foo' => 2 ) % 10 = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) % 0.0 - DivisionByZeroError Modulo by zero +(object) array ( 'bar' => 1, 'foo' => 2 ) % 10.0 = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) % 3.14 = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) % '0' - DivisionByZeroError Modulo by zero +(object) array ( 'bar' => 1, 'foo' => 2 ) % '10' = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) % '010' = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) % '10 elephants' = 1 - Notice A non well formed numeric value encountered +(object) array ( 'bar' => 1, 'foo' => 2 ) % 'foo' - DivisionByZeroError Modulo by zero +(object) array ( 'bar' => 1, 'foo' => 2 ) % array ( ) - DivisionByZeroError Modulo by zero +(object) array ( 'bar' => 1, 'foo' => 2 ) % array ( 0 => 1 ) = 0 - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) % array ( 0 => 1, 1 => 100 ) = 0 - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) % array ( 'foo' => 1, 'bar' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) % array ( 'bar' => 1, 'foo' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) % (object) array ( ) = 0 - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) % (object) array ( 'foo' => 1, 'bar' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) % (object) array ( 'bar' => 1, 'foo' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) % DateTime = 0 - Notice Object of class DateTime could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) % resource = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) % NULL - DivisionByZeroError Modulo by zero +DateTime % false - DivisionByZeroError Modulo by zero +DateTime % true = 0 - Notice Object of class DateTime could not be converted to int +DateTime % 0 - DivisionByZeroError Modulo by zero +DateTime % 10 = 1 - Notice Object of class DateTime could not be converted to int +DateTime % 0.0 - DivisionByZeroError Modulo by zero +DateTime % 10.0 = 1 - Notice Object of class DateTime could not be converted to int +DateTime % 3.14 = 1 - Notice Object of class DateTime could not be converted to int +DateTime % '0' - DivisionByZeroError Modulo by zero +DateTime % '10' = 1 - Notice Object of class DateTime could not be converted to int +DateTime % '010' = 1 - Notice Object of class DateTime could not be converted to int +DateTime % '10 elephants' = 1 - Notice A non well formed numeric value encountered +DateTime % 'foo' - DivisionByZeroError Modulo by zero +DateTime % array ( ) - DivisionByZeroError Modulo by zero +DateTime % array ( 0 => 1 ) = 0 - Notice Object of class DateTime could not be converted to int +DateTime % array ( 0 => 1, 1 => 100 ) = 0 - Notice Object of class DateTime could not be converted to int +DateTime % array ( 'foo' => 1, 'bar' => 2 ) = 0 - Notice Object of class DateTime could not be converted to int +DateTime % array ( 'bar' => 1, 'foo' => 2 ) = 0 - Notice Object of class DateTime could not be converted to int +DateTime % (object) array ( ) = 0 - Notice Object of class stdClass could not be converted to int +DateTime % (object) array ( 'foo' => 1, 'bar' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +DateTime % (object) array ( 'bar' => 1, 'foo' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +DateTime % DateTime = 0 - Notice Object of class DateTime could not be converted to int +DateTime % resource = 1 - Notice Object of class DateTime could not be converted to int +DateTime % NULL - DivisionByZeroError Modulo by zero +resource % false - DivisionByZeroError Modulo by zero +resource % true = 0 +resource % 0 - DivisionByZeroError Modulo by zero +resource % 10 = 6 +resource % 0.0 - DivisionByZeroError Modulo by zero +resource % 10.0 = 6 +resource % 3.14 = 0 +resource % '0' - DivisionByZeroError Modulo by zero +resource % '10' = 6 +resource % '010' = 6 +resource % '10 elephants' = 6 - Notice A non well formed numeric value encountered +resource % 'foo' - DivisionByZeroError Modulo by zero +resource % array ( ) - DivisionByZeroError Modulo by zero +resource % array ( 0 => 1 ) = 0 +resource % array ( 0 => 1, 1 => 100 ) = 0 +resource % array ( 'foo' => 1, 'bar' => 2 ) = 0 +resource % array ( 'bar' => 1, 'foo' => 2 ) = 0 +resource % (object) array ( ) = 0 - Notice Object of class stdClass could not be converted to int +resource % (object) array ( 'foo' => 1, 'bar' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +resource % (object) array ( 'bar' => 1, 'foo' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +resource % DateTime = 0 - Notice Object of class DateTime could not be converted to int +resource % resource = 0 +resource % NULL - DivisionByZeroError Modulo by zero +NULL % false - DivisionByZeroError Modulo by zero +NULL % true = 0 +NULL % 0 - DivisionByZeroError Modulo by zero +NULL % 10 = 0 +NULL % 0.0 - DivisionByZeroError Modulo by zero +NULL % 10.0 = 0 +NULL % 3.14 = 0 +NULL % '0' - DivisionByZeroError Modulo by zero +NULL % '10' = 0 +NULL % '010' = 0 +NULL % '10 elephants' = 0 - Notice A non well formed numeric value encountered +NULL % 'foo' - DivisionByZeroError Modulo by zero +NULL % array ( ) - DivisionByZeroError Modulo by zero +NULL % array ( 0 => 1 ) = 0 +NULL % array ( 0 => 1, 1 => 100 ) = 0 +NULL % array ( 'foo' => 1, 'bar' => 2 ) = 0 +NULL % array ( 'bar' => 1, 'foo' => 2 ) = 0 +NULL % (object) array ( ) = 0 - Notice Object of class stdClass could not be converted to int +NULL % (object) array ( 'foo' => 1, 'bar' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +NULL % (object) array ( 'bar' => 1, 'foo' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +NULL % DateTime = 0 - Notice Object of class DateTime could not be converted to int +NULL % resource = 0 +NULL % NULL - DivisionByZeroError Modulo by zero \ No newline at end of file diff --git a/Zend/tests/operators/arithmetic/modulo_strict.phpt b/Zend/tests/operators/arithmetic/modulo_strict.phpt new file mode 100644 index 000000000000..de568b489db6 --- /dev/null +++ b/Zend/tests/operators/arithmetic/modulo_strict.phpt @@ -0,0 +1,542 @@ +--TEST-- +modulo '%' operator with strict_operators +--FILE-- + 1 ) - TypeError Unsupported operand type bool for modulo +false % array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type bool for modulo +false % array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type bool for modulo +false % array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type bool for modulo +false % (object) array ( ) - TypeError Unsupported operand type bool for modulo +false % (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type bool for modulo +false % (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type bool for modulo +false % DateTime - TypeError Unsupported operand type bool for modulo +false % resource - TypeError Unsupported operand type bool for modulo +false % NULL - TypeError Unsupported operand type bool for modulo +true % false - TypeError Unsupported operand type bool for modulo +true % true - TypeError Unsupported operand type bool for modulo +true % 0 - TypeError Unsupported operand type bool for modulo +true % 10 - TypeError Unsupported operand type bool for modulo +true % 0.0 - TypeError Unsupported operand type bool for modulo +true % 10.0 - TypeError Unsupported operand type bool for modulo +true % 3.14 - TypeError Unsupported operand type bool for modulo +true % '0' - TypeError Unsupported operand type bool for modulo +true % '10' - TypeError Unsupported operand type bool for modulo +true % '010' - TypeError Unsupported operand type bool for modulo +true % '10 elephants' - TypeError Unsupported operand type bool for modulo +true % 'foo' - TypeError Unsupported operand type bool for modulo +true % array ( ) - TypeError Unsupported operand type bool for modulo +true % array ( 0 => 1 ) - TypeError Unsupported operand type bool for modulo +true % array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type bool for modulo +true % array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type bool for modulo +true % array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type bool for modulo +true % (object) array ( ) - TypeError Unsupported operand type bool for modulo +true % (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type bool for modulo +true % (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type bool for modulo +true % DateTime - TypeError Unsupported operand type bool for modulo +true % resource - TypeError Unsupported operand type bool for modulo +true % NULL - TypeError Unsupported operand type bool for modulo +0 % false - TypeError Unsupported operand type bool for modulo +0 % true - TypeError Unsupported operand type bool for modulo +0 % 0 - DivisionByZeroError Modulo by zero +0 % 10 = 0 +0 % 0.0 - TypeError Unsupported operand type float for modulo +0 % 10.0 - TypeError Unsupported operand type float for modulo +0 % 3.14 - TypeError Unsupported operand type float for modulo +0 % '0' - TypeError Unsupported operand type string for modulo +0 % '10' - TypeError Unsupported operand type string for modulo +0 % '010' - TypeError Unsupported operand type string for modulo +0 % '10 elephants' - TypeError Unsupported operand type string for modulo +0 % 'foo' - TypeError Unsupported operand type string for modulo +0 % array ( ) - TypeError Unsupported operand type array for modulo +0 % array ( 0 => 1 ) - TypeError Unsupported operand type array for modulo +0 % array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for modulo +0 % array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for modulo +0 % array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for modulo +0 % (object) array ( ) - TypeError Unsupported operand type object for modulo +0 % (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for modulo +0 % (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for modulo +0 % DateTime - TypeError Unsupported operand type object for modulo +0 % resource - TypeError Unsupported operand type resource for modulo +0 % NULL - TypeError Unsupported operand type null for modulo +10 % false - TypeError Unsupported operand type bool for modulo +10 % true - TypeError Unsupported operand type bool for modulo +10 % 0 - DivisionByZeroError Modulo by zero +10 % 10 = 0 +10 % 0.0 - TypeError Unsupported operand type float for modulo +10 % 10.0 - TypeError Unsupported operand type float for modulo +10 % 3.14 - TypeError Unsupported operand type float for modulo +10 % '0' - TypeError Unsupported operand type string for modulo +10 % '10' - TypeError Unsupported operand type string for modulo +10 % '010' - TypeError Unsupported operand type string for modulo +10 % '10 elephants' - TypeError Unsupported operand type string for modulo +10 % 'foo' - TypeError Unsupported operand type string for modulo +10 % array ( ) - TypeError Unsupported operand type array for modulo +10 % array ( 0 => 1 ) - TypeError Unsupported operand type array for modulo +10 % array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for modulo +10 % array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for modulo +10 % array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for modulo +10 % (object) array ( ) - TypeError Unsupported operand type object for modulo +10 % (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for modulo +10 % (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for modulo +10 % DateTime - TypeError Unsupported operand type object for modulo +10 % resource - TypeError Unsupported operand type resource for modulo +10 % NULL - TypeError Unsupported operand type null for modulo +0.0 % false - TypeError Unsupported operand type bool for modulo +0.0 % true - TypeError Unsupported operand type bool for modulo +0.0 % 0 - TypeError Unsupported operand type int for modulo +0.0 % 10 - TypeError Unsupported operand type int for modulo +0.0 % 0.0 - TypeError Unsupported operand type float for modulo +0.0 % 10.0 - TypeError Unsupported operand type float for modulo +0.0 % 3.14 - TypeError Unsupported operand type float for modulo +0.0 % '0' - TypeError Unsupported operand type string for modulo +0.0 % '10' - TypeError Unsupported operand type string for modulo +0.0 % '010' - TypeError Unsupported operand type string for modulo +0.0 % '10 elephants' - TypeError Unsupported operand type string for modulo +0.0 % 'foo' - TypeError Unsupported operand type string for modulo +0.0 % array ( ) - TypeError Unsupported operand type array for modulo +0.0 % array ( 0 => 1 ) - TypeError Unsupported operand type array for modulo +0.0 % array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for modulo +0.0 % array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for modulo +0.0 % array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for modulo +0.0 % (object) array ( ) - TypeError Unsupported operand type object for modulo +0.0 % (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for modulo +0.0 % (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for modulo +0.0 % DateTime - TypeError Unsupported operand type object for modulo +0.0 % resource - TypeError Unsupported operand type resource for modulo +0.0 % NULL - TypeError Unsupported operand type null for modulo +10.0 % false - TypeError Unsupported operand type bool for modulo +10.0 % true - TypeError Unsupported operand type bool for modulo +10.0 % 0 - TypeError Unsupported operand type int for modulo +10.0 % 10 - TypeError Unsupported operand type int for modulo +10.0 % 0.0 - TypeError Unsupported operand type float for modulo +10.0 % 10.0 - TypeError Unsupported operand type float for modulo +10.0 % 3.14 - TypeError Unsupported operand type float for modulo +10.0 % '0' - TypeError Unsupported operand type string for modulo +10.0 % '10' - TypeError Unsupported operand type string for modulo +10.0 % '010' - TypeError Unsupported operand type string for modulo +10.0 % '10 elephants' - TypeError Unsupported operand type string for modulo +10.0 % 'foo' - TypeError Unsupported operand type string for modulo +10.0 % array ( ) - TypeError Unsupported operand type array for modulo +10.0 % array ( 0 => 1 ) - TypeError Unsupported operand type array for modulo +10.0 % array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for modulo +10.0 % array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for modulo +10.0 % array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for modulo +10.0 % (object) array ( ) - TypeError Unsupported operand type object for modulo +10.0 % (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for modulo +10.0 % (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for modulo +10.0 % DateTime - TypeError Unsupported operand type object for modulo +10.0 % resource - TypeError Unsupported operand type resource for modulo +10.0 % NULL - TypeError Unsupported operand type null for modulo +3.14 % false - TypeError Unsupported operand type bool for modulo +3.14 % true - TypeError Unsupported operand type bool for modulo +3.14 % 0 - TypeError Unsupported operand type int for modulo +3.14 % 10 - TypeError Unsupported operand type int for modulo +3.14 % 0.0 - TypeError Unsupported operand type float for modulo +3.14 % 10.0 - TypeError Unsupported operand type float for modulo +3.14 % 3.14 - TypeError Unsupported operand type float for modulo +3.14 % '0' - TypeError Unsupported operand type string for modulo +3.14 % '10' - TypeError Unsupported operand type string for modulo +3.14 % '010' - TypeError Unsupported operand type string for modulo +3.14 % '10 elephants' - TypeError Unsupported operand type string for modulo +3.14 % 'foo' - TypeError Unsupported operand type string for modulo +3.14 % array ( ) - TypeError Unsupported operand type array for modulo +3.14 % array ( 0 => 1 ) - TypeError Unsupported operand type array for modulo +3.14 % array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for modulo +3.14 % array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for modulo +3.14 % array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for modulo +3.14 % (object) array ( ) - TypeError Unsupported operand type object for modulo +3.14 % (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for modulo +3.14 % (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for modulo +3.14 % DateTime - TypeError Unsupported operand type object for modulo +3.14 % resource - TypeError Unsupported operand type resource for modulo +3.14 % NULL - TypeError Unsupported operand type null for modulo +'0' % false - TypeError Unsupported operand type string for modulo +'0' % true - TypeError Unsupported operand type string for modulo +'0' % 0 - TypeError Unsupported operand type string for modulo +'0' % 10 - TypeError Unsupported operand type string for modulo +'0' % 0.0 - TypeError Unsupported operand type string for modulo +'0' % 10.0 - TypeError Unsupported operand type string for modulo +'0' % 3.14 - TypeError Unsupported operand type string for modulo +'0' % '0' - TypeError Unsupported operand type string for modulo +'0' % '10' - TypeError Unsupported operand type string for modulo +'0' % '010' - TypeError Unsupported operand type string for modulo +'0' % '10 elephants' - TypeError Unsupported operand type string for modulo +'0' % 'foo' - TypeError Unsupported operand type string for modulo +'0' % array ( ) - TypeError Unsupported operand type string for modulo +'0' % array ( 0 => 1 ) - TypeError Unsupported operand type string for modulo +'0' % array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type string for modulo +'0' % array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type string for modulo +'0' % array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type string for modulo +'0' % (object) array ( ) - TypeError Unsupported operand type string for modulo +'0' % (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type string for modulo +'0' % (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type string for modulo +'0' % DateTime - TypeError Unsupported operand type string for modulo +'0' % resource - TypeError Unsupported operand type string for modulo +'0' % NULL - TypeError Unsupported operand type string for modulo +'10' % false - TypeError Unsupported operand type string for modulo +'10' % true - TypeError Unsupported operand type string for modulo +'10' % 0 - TypeError Unsupported operand type string for modulo +'10' % 10 - TypeError Unsupported operand type string for modulo +'10' % 0.0 - TypeError Unsupported operand type string for modulo +'10' % 10.0 - TypeError Unsupported operand type string for modulo +'10' % 3.14 - TypeError Unsupported operand type string for modulo +'10' % '0' - TypeError Unsupported operand type string for modulo +'10' % '10' - TypeError Unsupported operand type string for modulo +'10' % '010' - TypeError Unsupported operand type string for modulo +'10' % '10 elephants' - TypeError Unsupported operand type string for modulo +'10' % 'foo' - TypeError Unsupported operand type string for modulo +'10' % array ( ) - TypeError Unsupported operand type string for modulo +'10' % array ( 0 => 1 ) - TypeError Unsupported operand type string for modulo +'10' % array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type string for modulo +'10' % array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type string for modulo +'10' % array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type string for modulo +'10' % (object) array ( ) - TypeError Unsupported operand type string for modulo +'10' % (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type string for modulo +'10' % (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type string for modulo +'10' % DateTime - TypeError Unsupported operand type string for modulo +'10' % resource - TypeError Unsupported operand type string for modulo +'10' % NULL - TypeError Unsupported operand type string for modulo +'010' % false - TypeError Unsupported operand type string for modulo +'010' % true - TypeError Unsupported operand type string for modulo +'010' % 0 - TypeError Unsupported operand type string for modulo +'010' % 10 - TypeError Unsupported operand type string for modulo +'010' % 0.0 - TypeError Unsupported operand type string for modulo +'010' % 10.0 - TypeError Unsupported operand type string for modulo +'010' % 3.14 - TypeError Unsupported operand type string for modulo +'010' % '0' - TypeError Unsupported operand type string for modulo +'010' % '10' - TypeError Unsupported operand type string for modulo +'010' % '010' - TypeError Unsupported operand type string for modulo +'010' % '10 elephants' - TypeError Unsupported operand type string for modulo +'010' % 'foo' - TypeError Unsupported operand type string for modulo +'010' % array ( ) - TypeError Unsupported operand type string for modulo +'010' % array ( 0 => 1 ) - TypeError Unsupported operand type string for modulo +'010' % array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type string for modulo +'010' % array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type string for modulo +'010' % array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type string for modulo +'010' % (object) array ( ) - TypeError Unsupported operand type string for modulo +'010' % (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type string for modulo +'010' % (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type string for modulo +'010' % DateTime - TypeError Unsupported operand type string for modulo +'010' % resource - TypeError Unsupported operand type string for modulo +'010' % NULL - TypeError Unsupported operand type string for modulo +'10 elephants' % false - TypeError Unsupported operand type string for modulo +'10 elephants' % true - TypeError Unsupported operand type string for modulo +'10 elephants' % 0 - TypeError Unsupported operand type string for modulo +'10 elephants' % 10 - TypeError Unsupported operand type string for modulo +'10 elephants' % 0.0 - TypeError Unsupported operand type string for modulo +'10 elephants' % 10.0 - TypeError Unsupported operand type string for modulo +'10 elephants' % 3.14 - TypeError Unsupported operand type string for modulo +'10 elephants' % '0' - TypeError Unsupported operand type string for modulo +'10 elephants' % '10' - TypeError Unsupported operand type string for modulo +'10 elephants' % '010' - TypeError Unsupported operand type string for modulo +'10 elephants' % '10 elephants' - TypeError Unsupported operand type string for modulo +'10 elephants' % 'foo' - TypeError Unsupported operand type string for modulo +'10 elephants' % array ( ) - TypeError Unsupported operand type string for modulo +'10 elephants' % array ( 0 => 1 ) - TypeError Unsupported operand type string for modulo +'10 elephants' % array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type string for modulo +'10 elephants' % array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type string for modulo +'10 elephants' % array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type string for modulo +'10 elephants' % (object) array ( ) - TypeError Unsupported operand type string for modulo +'10 elephants' % (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type string for modulo +'10 elephants' % (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type string for modulo +'10 elephants' % DateTime - TypeError Unsupported operand type string for modulo +'10 elephants' % resource - TypeError Unsupported operand type string for modulo +'10 elephants' % NULL - TypeError Unsupported operand type string for modulo +'foo' % false - TypeError Unsupported operand type string for modulo +'foo' % true - TypeError Unsupported operand type string for modulo +'foo' % 0 - TypeError Unsupported operand type string for modulo +'foo' % 10 - TypeError Unsupported operand type string for modulo +'foo' % 0.0 - TypeError Unsupported operand type string for modulo +'foo' % 10.0 - TypeError Unsupported operand type string for modulo +'foo' % 3.14 - TypeError Unsupported operand type string for modulo +'foo' % '0' - TypeError Unsupported operand type string for modulo +'foo' % '10' - TypeError Unsupported operand type string for modulo +'foo' % '010' - TypeError Unsupported operand type string for modulo +'foo' % '10 elephants' - TypeError Unsupported operand type string for modulo +'foo' % 'foo' - TypeError Unsupported operand type string for modulo +'foo' % array ( ) - TypeError Unsupported operand type string for modulo +'foo' % array ( 0 => 1 ) - TypeError Unsupported operand type string for modulo +'foo' % array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type string for modulo +'foo' % array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type string for modulo +'foo' % array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type string for modulo +'foo' % (object) array ( ) - TypeError Unsupported operand type string for modulo +'foo' % (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type string for modulo +'foo' % (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type string for modulo +'foo' % DateTime - TypeError Unsupported operand type string for modulo +'foo' % resource - TypeError Unsupported operand type string for modulo +'foo' % NULL - TypeError Unsupported operand type string for modulo +array ( ) % false - TypeError Unsupported operand type array for modulo +array ( ) % true - TypeError Unsupported operand type array for modulo +array ( ) % 0 - TypeError Unsupported operand type array for modulo +array ( ) % 10 - TypeError Unsupported operand type array for modulo +array ( ) % 0.0 - TypeError Unsupported operand type array for modulo +array ( ) % 10.0 - TypeError Unsupported operand type array for modulo +array ( ) % 3.14 - TypeError Unsupported operand type array for modulo +array ( ) % '0' - TypeError Unsupported operand type array for modulo +array ( ) % '10' - TypeError Unsupported operand type array for modulo +array ( ) % '010' - TypeError Unsupported operand type array for modulo +array ( ) % '10 elephants' - TypeError Unsupported operand type array for modulo +array ( ) % 'foo' - TypeError Unsupported operand type array for modulo +array ( ) % array ( ) - TypeError Unsupported operand type array for modulo +array ( ) % array ( 0 => 1 ) - TypeError Unsupported operand type array for modulo +array ( ) % array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for modulo +array ( ) % array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for modulo +array ( ) % array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for modulo +array ( ) % (object) array ( ) - TypeError Unsupported operand type array for modulo +array ( ) % (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for modulo +array ( ) % (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for modulo +array ( ) % DateTime - TypeError Unsupported operand type array for modulo +array ( ) % resource - TypeError Unsupported operand type array for modulo +array ( ) % NULL - TypeError Unsupported operand type array for modulo +array ( 0 => 1 ) % false - TypeError Unsupported operand type array for modulo +array ( 0 => 1 ) % true - TypeError Unsupported operand type array for modulo +array ( 0 => 1 ) % 0 - TypeError Unsupported operand type array for modulo +array ( 0 => 1 ) % 10 - TypeError Unsupported operand type array for modulo +array ( 0 => 1 ) % 0.0 - TypeError Unsupported operand type array for modulo +array ( 0 => 1 ) % 10.0 - TypeError Unsupported operand type array for modulo +array ( 0 => 1 ) % 3.14 - TypeError Unsupported operand type array for modulo +array ( 0 => 1 ) % '0' - TypeError Unsupported operand type array for modulo +array ( 0 => 1 ) % '10' - TypeError Unsupported operand type array for modulo +array ( 0 => 1 ) % '010' - TypeError Unsupported operand type array for modulo +array ( 0 => 1 ) % '10 elephants' - TypeError Unsupported operand type array for modulo +array ( 0 => 1 ) % 'foo' - TypeError Unsupported operand type array for modulo +array ( 0 => 1 ) % array ( ) - TypeError Unsupported operand type array for modulo +array ( 0 => 1 ) % array ( 0 => 1 ) - TypeError Unsupported operand type array for modulo +array ( 0 => 1 ) % array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for modulo +array ( 0 => 1 ) % array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for modulo +array ( 0 => 1 ) % array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for modulo +array ( 0 => 1 ) % (object) array ( ) - TypeError Unsupported operand type array for modulo +array ( 0 => 1 ) % (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for modulo +array ( 0 => 1 ) % (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for modulo +array ( 0 => 1 ) % DateTime - TypeError Unsupported operand type array for modulo +array ( 0 => 1 ) % resource - TypeError Unsupported operand type array for modulo +array ( 0 => 1 ) % NULL - TypeError Unsupported operand type array for modulo +array ( 0 => 1, 1 => 100 ) % false - TypeError Unsupported operand type array for modulo +array ( 0 => 1, 1 => 100 ) % true - TypeError Unsupported operand type array for modulo +array ( 0 => 1, 1 => 100 ) % 0 - TypeError Unsupported operand type array for modulo +array ( 0 => 1, 1 => 100 ) % 10 - TypeError Unsupported operand type array for modulo +array ( 0 => 1, 1 => 100 ) % 0.0 - TypeError Unsupported operand type array for modulo +array ( 0 => 1, 1 => 100 ) % 10.0 - TypeError Unsupported operand type array for modulo +array ( 0 => 1, 1 => 100 ) % 3.14 - TypeError Unsupported operand type array for modulo +array ( 0 => 1, 1 => 100 ) % '0' - TypeError Unsupported operand type array for modulo +array ( 0 => 1, 1 => 100 ) % '10' - TypeError Unsupported operand type array for modulo +array ( 0 => 1, 1 => 100 ) % '010' - TypeError Unsupported operand type array for modulo +array ( 0 => 1, 1 => 100 ) % '10 elephants' - TypeError Unsupported operand type array for modulo +array ( 0 => 1, 1 => 100 ) % 'foo' - TypeError Unsupported operand type array for modulo +array ( 0 => 1, 1 => 100 ) % array ( ) - TypeError Unsupported operand type array for modulo +array ( 0 => 1, 1 => 100 ) % array ( 0 => 1 ) - TypeError Unsupported operand type array for modulo +array ( 0 => 1, 1 => 100 ) % array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for modulo +array ( 0 => 1, 1 => 100 ) % array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for modulo +array ( 0 => 1, 1 => 100 ) % array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for modulo +array ( 0 => 1, 1 => 100 ) % (object) array ( ) - TypeError Unsupported operand type array for modulo +array ( 0 => 1, 1 => 100 ) % (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for modulo +array ( 0 => 1, 1 => 100 ) % (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for modulo +array ( 0 => 1, 1 => 100 ) % DateTime - TypeError Unsupported operand type array for modulo +array ( 0 => 1, 1 => 100 ) % resource - TypeError Unsupported operand type array for modulo +array ( 0 => 1, 1 => 100 ) % NULL - TypeError Unsupported operand type array for modulo +array ( 'foo' => 1, 'bar' => 2 ) % false - TypeError Unsupported operand type array for modulo +array ( 'foo' => 1, 'bar' => 2 ) % true - TypeError Unsupported operand type array for modulo +array ( 'foo' => 1, 'bar' => 2 ) % 0 - TypeError Unsupported operand type array for modulo +array ( 'foo' => 1, 'bar' => 2 ) % 10 - TypeError Unsupported operand type array for modulo +array ( 'foo' => 1, 'bar' => 2 ) % 0.0 - TypeError Unsupported operand type array for modulo +array ( 'foo' => 1, 'bar' => 2 ) % 10.0 - TypeError Unsupported operand type array for modulo +array ( 'foo' => 1, 'bar' => 2 ) % 3.14 - TypeError Unsupported operand type array for modulo +array ( 'foo' => 1, 'bar' => 2 ) % '0' - TypeError Unsupported operand type array for modulo +array ( 'foo' => 1, 'bar' => 2 ) % '10' - TypeError Unsupported operand type array for modulo +array ( 'foo' => 1, 'bar' => 2 ) % '010' - TypeError Unsupported operand type array for modulo +array ( 'foo' => 1, 'bar' => 2 ) % '10 elephants' - TypeError Unsupported operand type array for modulo +array ( 'foo' => 1, 'bar' => 2 ) % 'foo' - TypeError Unsupported operand type array for modulo +array ( 'foo' => 1, 'bar' => 2 ) % array ( ) - TypeError Unsupported operand type array for modulo +array ( 'foo' => 1, 'bar' => 2 ) % array ( 0 => 1 ) - TypeError Unsupported operand type array for modulo +array ( 'foo' => 1, 'bar' => 2 ) % array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for modulo +array ( 'foo' => 1, 'bar' => 2 ) % array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for modulo +array ( 'foo' => 1, 'bar' => 2 ) % array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for modulo +array ( 'foo' => 1, 'bar' => 2 ) % (object) array ( ) - TypeError Unsupported operand type array for modulo +array ( 'foo' => 1, 'bar' => 2 ) % (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for modulo +array ( 'foo' => 1, 'bar' => 2 ) % (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for modulo +array ( 'foo' => 1, 'bar' => 2 ) % DateTime - TypeError Unsupported operand type array for modulo +array ( 'foo' => 1, 'bar' => 2 ) % resource - TypeError Unsupported operand type array for modulo +array ( 'foo' => 1, 'bar' => 2 ) % NULL - TypeError Unsupported operand type array for modulo +array ( 'bar' => 1, 'foo' => 2 ) % false - TypeError Unsupported operand type array for modulo +array ( 'bar' => 1, 'foo' => 2 ) % true - TypeError Unsupported operand type array for modulo +array ( 'bar' => 1, 'foo' => 2 ) % 0 - TypeError Unsupported operand type array for modulo +array ( 'bar' => 1, 'foo' => 2 ) % 10 - TypeError Unsupported operand type array for modulo +array ( 'bar' => 1, 'foo' => 2 ) % 0.0 - TypeError Unsupported operand type array for modulo +array ( 'bar' => 1, 'foo' => 2 ) % 10.0 - TypeError Unsupported operand type array for modulo +array ( 'bar' => 1, 'foo' => 2 ) % 3.14 - TypeError Unsupported operand type array for modulo +array ( 'bar' => 1, 'foo' => 2 ) % '0' - TypeError Unsupported operand type array for modulo +array ( 'bar' => 1, 'foo' => 2 ) % '10' - TypeError Unsupported operand type array for modulo +array ( 'bar' => 1, 'foo' => 2 ) % '010' - TypeError Unsupported operand type array for modulo +array ( 'bar' => 1, 'foo' => 2 ) % '10 elephants' - TypeError Unsupported operand type array for modulo +array ( 'bar' => 1, 'foo' => 2 ) % 'foo' - TypeError Unsupported operand type array for modulo +array ( 'bar' => 1, 'foo' => 2 ) % array ( ) - TypeError Unsupported operand type array for modulo +array ( 'bar' => 1, 'foo' => 2 ) % array ( 0 => 1 ) - TypeError Unsupported operand type array for modulo +array ( 'bar' => 1, 'foo' => 2 ) % array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for modulo +array ( 'bar' => 1, 'foo' => 2 ) % array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for modulo +array ( 'bar' => 1, 'foo' => 2 ) % array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for modulo +array ( 'bar' => 1, 'foo' => 2 ) % (object) array ( ) - TypeError Unsupported operand type array for modulo +array ( 'bar' => 1, 'foo' => 2 ) % (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for modulo +array ( 'bar' => 1, 'foo' => 2 ) % (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for modulo +array ( 'bar' => 1, 'foo' => 2 ) % DateTime - TypeError Unsupported operand type array for modulo +array ( 'bar' => 1, 'foo' => 2 ) % resource - TypeError Unsupported operand type array for modulo +array ( 'bar' => 1, 'foo' => 2 ) % NULL - TypeError Unsupported operand type array for modulo +(object) array ( ) % false - TypeError Unsupported operand type object for modulo +(object) array ( ) % true - TypeError Unsupported operand type object for modulo +(object) array ( ) % 0 - TypeError Unsupported operand type object for modulo +(object) array ( ) % 10 - TypeError Unsupported operand type object for modulo +(object) array ( ) % 0.0 - TypeError Unsupported operand type object for modulo +(object) array ( ) % 10.0 - TypeError Unsupported operand type object for modulo +(object) array ( ) % 3.14 - TypeError Unsupported operand type object for modulo +(object) array ( ) % '0' - TypeError Unsupported operand type object for modulo +(object) array ( ) % '10' - TypeError Unsupported operand type object for modulo +(object) array ( ) % '010' - TypeError Unsupported operand type object for modulo +(object) array ( ) % '10 elephants' - TypeError Unsupported operand type object for modulo +(object) array ( ) % 'foo' - TypeError Unsupported operand type object for modulo +(object) array ( ) % array ( ) - TypeError Unsupported operand type object for modulo +(object) array ( ) % array ( 0 => 1 ) - TypeError Unsupported operand type object for modulo +(object) array ( ) % array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type object for modulo +(object) array ( ) % array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for modulo +(object) array ( ) % array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for modulo +(object) array ( ) % (object) array ( ) - TypeError Unsupported operand type object for modulo +(object) array ( ) % (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for modulo +(object) array ( ) % (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for modulo +(object) array ( ) % DateTime - TypeError Unsupported operand type object for modulo +(object) array ( ) % resource - TypeError Unsupported operand type object for modulo +(object) array ( ) % NULL - TypeError Unsupported operand type object for modulo +(object) array ( 'foo' => 1, 'bar' => 2 ) % false - TypeError Unsupported operand type object for modulo +(object) array ( 'foo' => 1, 'bar' => 2 ) % true - TypeError Unsupported operand type object for modulo +(object) array ( 'foo' => 1, 'bar' => 2 ) % 0 - TypeError Unsupported operand type object for modulo +(object) array ( 'foo' => 1, 'bar' => 2 ) % 10 - TypeError Unsupported operand type object for modulo +(object) array ( 'foo' => 1, 'bar' => 2 ) % 0.0 - TypeError Unsupported operand type object for modulo +(object) array ( 'foo' => 1, 'bar' => 2 ) % 10.0 - TypeError Unsupported operand type object for modulo +(object) array ( 'foo' => 1, 'bar' => 2 ) % 3.14 - TypeError Unsupported operand type object for modulo +(object) array ( 'foo' => 1, 'bar' => 2 ) % '0' - TypeError Unsupported operand type object for modulo +(object) array ( 'foo' => 1, 'bar' => 2 ) % '10' - TypeError Unsupported operand type object for modulo +(object) array ( 'foo' => 1, 'bar' => 2 ) % '010' - TypeError Unsupported operand type object for modulo +(object) array ( 'foo' => 1, 'bar' => 2 ) % '10 elephants' - TypeError Unsupported operand type object for modulo +(object) array ( 'foo' => 1, 'bar' => 2 ) % 'foo' - TypeError Unsupported operand type object for modulo +(object) array ( 'foo' => 1, 'bar' => 2 ) % array ( ) - TypeError Unsupported operand type object for modulo +(object) array ( 'foo' => 1, 'bar' => 2 ) % array ( 0 => 1 ) - TypeError Unsupported operand type object for modulo +(object) array ( 'foo' => 1, 'bar' => 2 ) % array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type object for modulo +(object) array ( 'foo' => 1, 'bar' => 2 ) % array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for modulo +(object) array ( 'foo' => 1, 'bar' => 2 ) % array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for modulo +(object) array ( 'foo' => 1, 'bar' => 2 ) % (object) array ( ) - TypeError Unsupported operand type object for modulo +(object) array ( 'foo' => 1, 'bar' => 2 ) % (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for modulo +(object) array ( 'foo' => 1, 'bar' => 2 ) % (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for modulo +(object) array ( 'foo' => 1, 'bar' => 2 ) % DateTime - TypeError Unsupported operand type object for modulo +(object) array ( 'foo' => 1, 'bar' => 2 ) % resource - TypeError Unsupported operand type object for modulo +(object) array ( 'foo' => 1, 'bar' => 2 ) % NULL - TypeError Unsupported operand type object for modulo +(object) array ( 'bar' => 1, 'foo' => 2 ) % false - TypeError Unsupported operand type object for modulo +(object) array ( 'bar' => 1, 'foo' => 2 ) % true - TypeError Unsupported operand type object for modulo +(object) array ( 'bar' => 1, 'foo' => 2 ) % 0 - TypeError Unsupported operand type object for modulo +(object) array ( 'bar' => 1, 'foo' => 2 ) % 10 - TypeError Unsupported operand type object for modulo +(object) array ( 'bar' => 1, 'foo' => 2 ) % 0.0 - TypeError Unsupported operand type object for modulo +(object) array ( 'bar' => 1, 'foo' => 2 ) % 10.0 - TypeError Unsupported operand type object for modulo +(object) array ( 'bar' => 1, 'foo' => 2 ) % 3.14 - TypeError Unsupported operand type object for modulo +(object) array ( 'bar' => 1, 'foo' => 2 ) % '0' - TypeError Unsupported operand type object for modulo +(object) array ( 'bar' => 1, 'foo' => 2 ) % '10' - TypeError Unsupported operand type object for modulo +(object) array ( 'bar' => 1, 'foo' => 2 ) % '010' - TypeError Unsupported operand type object for modulo +(object) array ( 'bar' => 1, 'foo' => 2 ) % '10 elephants' - TypeError Unsupported operand type object for modulo +(object) array ( 'bar' => 1, 'foo' => 2 ) % 'foo' - TypeError Unsupported operand type object for modulo +(object) array ( 'bar' => 1, 'foo' => 2 ) % array ( ) - TypeError Unsupported operand type object for modulo +(object) array ( 'bar' => 1, 'foo' => 2 ) % array ( 0 => 1 ) - TypeError Unsupported operand type object for modulo +(object) array ( 'bar' => 1, 'foo' => 2 ) % array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type object for modulo +(object) array ( 'bar' => 1, 'foo' => 2 ) % array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for modulo +(object) array ( 'bar' => 1, 'foo' => 2 ) % array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for modulo +(object) array ( 'bar' => 1, 'foo' => 2 ) % (object) array ( ) - TypeError Unsupported operand type object for modulo +(object) array ( 'bar' => 1, 'foo' => 2 ) % (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for modulo +(object) array ( 'bar' => 1, 'foo' => 2 ) % (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for modulo +(object) array ( 'bar' => 1, 'foo' => 2 ) % DateTime - TypeError Unsupported operand type object for modulo +(object) array ( 'bar' => 1, 'foo' => 2 ) % resource - TypeError Unsupported operand type object for modulo +(object) array ( 'bar' => 1, 'foo' => 2 ) % NULL - TypeError Unsupported operand type object for modulo +DateTime % false - TypeError Unsupported operand type object for modulo +DateTime % true - TypeError Unsupported operand type object for modulo +DateTime % 0 - TypeError Unsupported operand type object for modulo +DateTime % 10 - TypeError Unsupported operand type object for modulo +DateTime % 0.0 - TypeError Unsupported operand type object for modulo +DateTime % 10.0 - TypeError Unsupported operand type object for modulo +DateTime % 3.14 - TypeError Unsupported operand type object for modulo +DateTime % '0' - TypeError Unsupported operand type object for modulo +DateTime % '10' - TypeError Unsupported operand type object for modulo +DateTime % '010' - TypeError Unsupported operand type object for modulo +DateTime % '10 elephants' - TypeError Unsupported operand type object for modulo +DateTime % 'foo' - TypeError Unsupported operand type object for modulo +DateTime % array ( ) - TypeError Unsupported operand type object for modulo +DateTime % array ( 0 => 1 ) - TypeError Unsupported operand type object for modulo +DateTime % array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type object for modulo +DateTime % array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for modulo +DateTime % array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for modulo +DateTime % (object) array ( ) - TypeError Unsupported operand type object for modulo +DateTime % (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for modulo +DateTime % (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for modulo +DateTime % DateTime - TypeError Unsupported operand type object for modulo +DateTime % resource - TypeError Unsupported operand type object for modulo +DateTime % NULL - TypeError Unsupported operand type object for modulo +resource % false - TypeError Unsupported operand type resource for modulo +resource % true - TypeError Unsupported operand type resource for modulo +resource % 0 - TypeError Unsupported operand type resource for modulo +resource % 10 - TypeError Unsupported operand type resource for modulo +resource % 0.0 - TypeError Unsupported operand type resource for modulo +resource % 10.0 - TypeError Unsupported operand type resource for modulo +resource % 3.14 - TypeError Unsupported operand type resource for modulo +resource % '0' - TypeError Unsupported operand type resource for modulo +resource % '10' - TypeError Unsupported operand type resource for modulo +resource % '010' - TypeError Unsupported operand type resource for modulo +resource % '10 elephants' - TypeError Unsupported operand type resource for modulo +resource % 'foo' - TypeError Unsupported operand type resource for modulo +resource % array ( ) - TypeError Unsupported operand type resource for modulo +resource % array ( 0 => 1 ) - TypeError Unsupported operand type resource for modulo +resource % array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type resource for modulo +resource % array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type resource for modulo +resource % array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type resource for modulo +resource % (object) array ( ) - TypeError Unsupported operand type resource for modulo +resource % (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type resource for modulo +resource % (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type resource for modulo +resource % DateTime - TypeError Unsupported operand type resource for modulo +resource % resource - TypeError Unsupported operand type resource for modulo +resource % NULL - TypeError Unsupported operand type resource for modulo +NULL % false - TypeError Unsupported operand type null for modulo +NULL % true - TypeError Unsupported operand type null for modulo +NULL % 0 - TypeError Unsupported operand type null for modulo +NULL % 10 - TypeError Unsupported operand type null for modulo +NULL % 0.0 - TypeError Unsupported operand type null for modulo +NULL % 10.0 - TypeError Unsupported operand type null for modulo +NULL % 3.14 - TypeError Unsupported operand type null for modulo +NULL % '0' - TypeError Unsupported operand type null for modulo +NULL % '10' - TypeError Unsupported operand type null for modulo +NULL % '010' - TypeError Unsupported operand type null for modulo +NULL % '10 elephants' - TypeError Unsupported operand type null for modulo +NULL % 'foo' - TypeError Unsupported operand type null for modulo +NULL % array ( ) - TypeError Unsupported operand type null for modulo +NULL % array ( 0 => 1 ) - TypeError Unsupported operand type null for modulo +NULL % array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type null for modulo +NULL % array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type null for modulo +NULL % array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type null for modulo +NULL % (object) array ( ) - TypeError Unsupported operand type null for modulo +NULL % (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type null for modulo +NULL % (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type null for modulo +NULL % DateTime - TypeError Unsupported operand type null for modulo +NULL % resource - TypeError Unsupported operand type null for modulo +NULL % NULL - TypeError Unsupported operand type null for modulo \ No newline at end of file diff --git a/Zend/tests/operators/arithmetic/multiplication.phpt b/Zend/tests/operators/arithmetic/multiplication.phpt new file mode 100644 index 000000000000..ca3c904d4355 --- /dev/null +++ b/Zend/tests/operators/arithmetic/multiplication.phpt @@ -0,0 +1,542 @@ +--TEST-- +multiplication '*' operator +--INI-- +precision=14 +--FILE-- + 1 ) - Error Unsupported operand types +false * array ( 0 => 1, 1 => 100 ) - Error Unsupported operand types +false * array ( 'foo' => 1, 'bar' => 2 ) - Error Unsupported operand types +false * array ( 'bar' => 1, 'foo' => 2 ) - Error Unsupported operand types +false * (object) array ( ) = 0 - Notice Object of class stdClass could not be converted to number +false * (object) array ( 'foo' => 1, 'bar' => 2 ) = 0 - Notice Object of class stdClass could not be converted to number +false * (object) array ( 'bar' => 1, 'foo' => 2 ) = 0 - Notice Object of class stdClass could not be converted to number +false * DateTime = 0 - Notice Object of class DateTime could not be converted to number +false * resource = 0 +false * NULL = 0 +true * false = 0 +true * true = 1 +true * 0 = 0 +true * 10 = 10 +true * 0.0 = 0.0 +true * 10.0 = 10.0 +true * 3.14 = 3.14 +true * '0' = 0 +true * '10' = 10 +true * '010' = 10 +true * '10 elephants' = 10 - Notice A non well formed numeric value encountered +true * 'foo' = 0 - Warning A non-numeric value encountered +true * array ( ) - Error Unsupported operand types +true * array ( 0 => 1 ) - Error Unsupported operand types +true * array ( 0 => 1, 1 => 100 ) - Error Unsupported operand types +true * array ( 'foo' => 1, 'bar' => 2 ) - Error Unsupported operand types +true * array ( 'bar' => 1, 'foo' => 2 ) - Error Unsupported operand types +true * (object) array ( ) = 1 - Notice Object of class stdClass could not be converted to number +true * (object) array ( 'foo' => 1, 'bar' => 2 ) = 1 - Notice Object of class stdClass could not be converted to number +true * (object) array ( 'bar' => 1, 'foo' => 2 ) = 1 - Notice Object of class stdClass could not be converted to number +true * DateTime = 1 - Notice Object of class DateTime could not be converted to number +true * resource = 6 +true * NULL = 0 +0 * false = 0 +0 * true = 0 +0 * 0 = 0 +0 * 10 = 0 +0 * 0.0 = 0.0 +0 * 10.0 = 0.0 +0 * 3.14 = 0.0 +0 * '0' = 0 +0 * '10' = 0 +0 * '010' = 0 +0 * '10 elephants' = 0 - Notice A non well formed numeric value encountered +0 * 'foo' = 0 - Warning A non-numeric value encountered +0 * array ( ) - Error Unsupported operand types +0 * array ( 0 => 1 ) - Error Unsupported operand types +0 * array ( 0 => 1, 1 => 100 ) - Error Unsupported operand types +0 * array ( 'foo' => 1, 'bar' => 2 ) - Error Unsupported operand types +0 * array ( 'bar' => 1, 'foo' => 2 ) - Error Unsupported operand types +0 * (object) array ( ) = 0 - Notice Object of class stdClass could not be converted to number +0 * (object) array ( 'foo' => 1, 'bar' => 2 ) = 0 - Notice Object of class stdClass could not be converted to number +0 * (object) array ( 'bar' => 1, 'foo' => 2 ) = 0 - Notice Object of class stdClass could not be converted to number +0 * DateTime = 0 - Notice Object of class DateTime could not be converted to number +0 * resource = 0 +0 * NULL = 0 +10 * false = 0 +10 * true = 10 +10 * 0 = 0 +10 * 10 = 100 +10 * 0.0 = 0.0 +10 * 10.0 = 100.0 +10 * 3.14 = 31.400000000000002 +10 * '0' = 0 +10 * '10' = 100 +10 * '010' = 100 +10 * '10 elephants' = 100 - Notice A non well formed numeric value encountered +10 * 'foo' = 0 - Warning A non-numeric value encountered +10 * array ( ) - Error Unsupported operand types +10 * array ( 0 => 1 ) - Error Unsupported operand types +10 * array ( 0 => 1, 1 => 100 ) - Error Unsupported operand types +10 * array ( 'foo' => 1, 'bar' => 2 ) - Error Unsupported operand types +10 * array ( 'bar' => 1, 'foo' => 2 ) - Error Unsupported operand types +10 * (object) array ( ) = 10 - Notice Object of class stdClass could not be converted to number +10 * (object) array ( 'foo' => 1, 'bar' => 2 ) = 10 - Notice Object of class stdClass could not be converted to number +10 * (object) array ( 'bar' => 1, 'foo' => 2 ) = 10 - Notice Object of class stdClass could not be converted to number +10 * DateTime = 10 - Notice Object of class DateTime could not be converted to number +10 * resource = 60 +10 * NULL = 0 +0.0 * false = 0.0 +0.0 * true = 0.0 +0.0 * 0 = 0.0 +0.0 * 10 = 0.0 +0.0 * 0.0 = 0.0 +0.0 * 10.0 = 0.0 +0.0 * 3.14 = 0.0 +0.0 * '0' = 0.0 +0.0 * '10' = 0.0 +0.0 * '010' = 0.0 +0.0 * '10 elephants' = 0.0 - Notice A non well formed numeric value encountered +0.0 * 'foo' = 0.0 - Warning A non-numeric value encountered +0.0 * array ( ) - Error Unsupported operand types +0.0 * array ( 0 => 1 ) - Error Unsupported operand types +0.0 * array ( 0 => 1, 1 => 100 ) - Error Unsupported operand types +0.0 * array ( 'foo' => 1, 'bar' => 2 ) - Error Unsupported operand types +0.0 * array ( 'bar' => 1, 'foo' => 2 ) - Error Unsupported operand types +0.0 * (object) array ( ) = 0.0 - Notice Object of class stdClass could not be converted to number +0.0 * (object) array ( 'foo' => 1, 'bar' => 2 ) = 0.0 - Notice Object of class stdClass could not be converted to number +0.0 * (object) array ( 'bar' => 1, 'foo' => 2 ) = 0.0 - Notice Object of class stdClass could not be converted to number +0.0 * DateTime = 0.0 - Notice Object of class DateTime could not be converted to number +0.0 * resource = 0.0 +0.0 * NULL = 0.0 +10.0 * false = 0.0 +10.0 * true = 10.0 +10.0 * 0 = 0.0 +10.0 * 10 = 100.0 +10.0 * 0.0 = 0.0 +10.0 * 10.0 = 100.0 +10.0 * 3.14 = 31.400000000000002 +10.0 * '0' = 0.0 +10.0 * '10' = 100.0 +10.0 * '010' = 100.0 +10.0 * '10 elephants' = 100.0 - Notice A non well formed numeric value encountered +10.0 * 'foo' = 0.0 - Warning A non-numeric value encountered +10.0 * array ( ) - Error Unsupported operand types +10.0 * array ( 0 => 1 ) - Error Unsupported operand types +10.0 * array ( 0 => 1, 1 => 100 ) - Error Unsupported operand types +10.0 * array ( 'foo' => 1, 'bar' => 2 ) - Error Unsupported operand types +10.0 * array ( 'bar' => 1, 'foo' => 2 ) - Error Unsupported operand types +10.0 * (object) array ( ) = 10.0 - Notice Object of class stdClass could not be converted to number +10.0 * (object) array ( 'foo' => 1, 'bar' => 2 ) = 10.0 - Notice Object of class stdClass could not be converted to number +10.0 * (object) array ( 'bar' => 1, 'foo' => 2 ) = 10.0 - Notice Object of class stdClass could not be converted to number +10.0 * DateTime = 10.0 - Notice Object of class DateTime could not be converted to number +10.0 * resource = 60.0 +10.0 * NULL = 0.0 +3.14 * false = 0.0 +3.14 * true = 3.14 +3.14 * 0 = 0.0 +3.14 * 10 = 31.400000000000002 +3.14 * 0.0 = 0.0 +3.14 * 10.0 = 31.400000000000002 +3.14 * 3.14 = 9.8596 +3.14 * '0' = 0.0 +3.14 * '10' = 31.400000000000002 +3.14 * '010' = 31.400000000000002 +3.14 * '10 elephants' = 31.400000000000002 - Notice A non well formed numeric value encountered +3.14 * 'foo' = 0.0 - Warning A non-numeric value encountered +3.14 * array ( ) - Error Unsupported operand types +3.14 * array ( 0 => 1 ) - Error Unsupported operand types +3.14 * array ( 0 => 1, 1 => 100 ) - Error Unsupported operand types +3.14 * array ( 'foo' => 1, 'bar' => 2 ) - Error Unsupported operand types +3.14 * array ( 'bar' => 1, 'foo' => 2 ) - Error Unsupported operand types +3.14 * (object) array ( ) = 3.14 - Notice Object of class stdClass could not be converted to number +3.14 * (object) array ( 'foo' => 1, 'bar' => 2 ) = 3.14 - Notice Object of class stdClass could not be converted to number +3.14 * (object) array ( 'bar' => 1, 'foo' => 2 ) = 3.14 - Notice Object of class stdClass could not be converted to number +3.14 * DateTime = 3.14 - Notice Object of class DateTime could not be converted to number +3.14 * resource = 18.84 +3.14 * NULL = 0.0 +'0' * false = 0 +'0' * true = 0 +'0' * 0 = 0 +'0' * 10 = 0 +'0' * 0.0 = 0.0 +'0' * 10.0 = 0.0 +'0' * 3.14 = 0.0 +'0' * '0' = 0 +'0' * '10' = 0 +'0' * '010' = 0 +'0' * '10 elephants' = 0 - Notice A non well formed numeric value encountered +'0' * 'foo' = 0 - Warning A non-numeric value encountered +'0' * array ( ) - Error Unsupported operand types +'0' * array ( 0 => 1 ) - Error Unsupported operand types +'0' * array ( 0 => 1, 1 => 100 ) - Error Unsupported operand types +'0' * array ( 'foo' => 1, 'bar' => 2 ) - Error Unsupported operand types +'0' * array ( 'bar' => 1, 'foo' => 2 ) - Error Unsupported operand types +'0' * (object) array ( ) = 0 - Notice Object of class stdClass could not be converted to number +'0' * (object) array ( 'foo' => 1, 'bar' => 2 ) = 0 - Notice Object of class stdClass could not be converted to number +'0' * (object) array ( 'bar' => 1, 'foo' => 2 ) = 0 - Notice Object of class stdClass could not be converted to number +'0' * DateTime = 0 - Notice Object of class DateTime could not be converted to number +'0' * resource = 0 +'0' * NULL = 0 +'10' * false = 0 +'10' * true = 10 +'10' * 0 = 0 +'10' * 10 = 100 +'10' * 0.0 = 0.0 +'10' * 10.0 = 100.0 +'10' * 3.14 = 31.400000000000002 +'10' * '0' = 0 +'10' * '10' = 100 +'10' * '010' = 100 +'10' * '10 elephants' = 100 - Notice A non well formed numeric value encountered +'10' * 'foo' = 0 - Warning A non-numeric value encountered +'10' * array ( ) - Error Unsupported operand types +'10' * array ( 0 => 1 ) - Error Unsupported operand types +'10' * array ( 0 => 1, 1 => 100 ) - Error Unsupported operand types +'10' * array ( 'foo' => 1, 'bar' => 2 ) - Error Unsupported operand types +'10' * array ( 'bar' => 1, 'foo' => 2 ) - Error Unsupported operand types +'10' * (object) array ( ) = 10 - Notice Object of class stdClass could not be converted to number +'10' * (object) array ( 'foo' => 1, 'bar' => 2 ) = 10 - Notice Object of class stdClass could not be converted to number +'10' * (object) array ( 'bar' => 1, 'foo' => 2 ) = 10 - Notice Object of class stdClass could not be converted to number +'10' * DateTime = 10 - Notice Object of class DateTime could not be converted to number +'10' * resource = 60 +'10' * NULL = 0 +'010' * false = 0 +'010' * true = 10 +'010' * 0 = 0 +'010' * 10 = 100 +'010' * 0.0 = 0.0 +'010' * 10.0 = 100.0 +'010' * 3.14 = 31.400000000000002 +'010' * '0' = 0 +'010' * '10' = 100 +'010' * '010' = 100 +'010' * '10 elephants' = 100 - Notice A non well formed numeric value encountered +'010' * 'foo' = 0 - Warning A non-numeric value encountered +'010' * array ( ) - Error Unsupported operand types +'010' * array ( 0 => 1 ) - Error Unsupported operand types +'010' * array ( 0 => 1, 1 => 100 ) - Error Unsupported operand types +'010' * array ( 'foo' => 1, 'bar' => 2 ) - Error Unsupported operand types +'010' * array ( 'bar' => 1, 'foo' => 2 ) - Error Unsupported operand types +'010' * (object) array ( ) = 10 - Notice Object of class stdClass could not be converted to number +'010' * (object) array ( 'foo' => 1, 'bar' => 2 ) = 10 - Notice Object of class stdClass could not be converted to number +'010' * (object) array ( 'bar' => 1, 'foo' => 2 ) = 10 - Notice Object of class stdClass could not be converted to number +'010' * DateTime = 10 - Notice Object of class DateTime could not be converted to number +'010' * resource = 60 +'010' * NULL = 0 +'10 elephants' * false = 0 - Notice A non well formed numeric value encountered +'10 elephants' * true = 10 - Notice A non well formed numeric value encountered +'10 elephants' * 0 = 0 - Notice A non well formed numeric value encountered +'10 elephants' * 10 = 100 - Notice A non well formed numeric value encountered +'10 elephants' * 0.0 = 0.0 - Notice A non well formed numeric value encountered +'10 elephants' * 10.0 = 100.0 - Notice A non well formed numeric value encountered +'10 elephants' * 3.14 = 31.400000000000002 - Notice A non well formed numeric value encountered +'10 elephants' * '0' = 0 - Notice A non well formed numeric value encountered +'10 elephants' * '10' = 100 - Notice A non well formed numeric value encountered +'10 elephants' * '010' = 100 - Notice A non well formed numeric value encountered +'10 elephants' * '10 elephants' = 100 - Notice A non well formed numeric value encountered +'10 elephants' * 'foo' = 0 - Warning A non-numeric value encountered +'10 elephants' * array ( ) - Error Unsupported operand types +'10 elephants' * array ( 0 => 1 ) - Error Unsupported operand types +'10 elephants' * array ( 0 => 1, 1 => 100 ) - Error Unsupported operand types +'10 elephants' * array ( 'foo' => 1, 'bar' => 2 ) - Error Unsupported operand types +'10 elephants' * array ( 'bar' => 1, 'foo' => 2 ) - Error Unsupported operand types +'10 elephants' * (object) array ( ) = 10 - Notice Object of class stdClass could not be converted to number +'10 elephants' * (object) array ( 'foo' => 1, 'bar' => 2 ) = 10 - Notice Object of class stdClass could not be converted to number +'10 elephants' * (object) array ( 'bar' => 1, 'foo' => 2 ) = 10 - Notice Object of class stdClass could not be converted to number +'10 elephants' * DateTime = 10 - Notice Object of class DateTime could not be converted to number +'10 elephants' * resource = 60 - Notice A non well formed numeric value encountered +'10 elephants' * NULL = 0 - Notice A non well formed numeric value encountered +'foo' * false = 0 - Warning A non-numeric value encountered +'foo' * true = 0 - Warning A non-numeric value encountered +'foo' * 0 = 0 - Warning A non-numeric value encountered +'foo' * 10 = 0 - Warning A non-numeric value encountered +'foo' * 0.0 = 0.0 - Warning A non-numeric value encountered +'foo' * 10.0 = 0.0 - Warning A non-numeric value encountered +'foo' * 3.14 = 0.0 - Warning A non-numeric value encountered +'foo' * '0' = 0 - Warning A non-numeric value encountered +'foo' * '10' = 0 - Warning A non-numeric value encountered +'foo' * '010' = 0 - Warning A non-numeric value encountered +'foo' * '10 elephants' = 0 - Notice A non well formed numeric value encountered +'foo' * 'foo' = 0 - Warning A non-numeric value encountered +'foo' * array ( ) - Error Unsupported operand types +'foo' * array ( 0 => 1 ) - Error Unsupported operand types +'foo' * array ( 0 => 1, 1 => 100 ) - Error Unsupported operand types +'foo' * array ( 'foo' => 1, 'bar' => 2 ) - Error Unsupported operand types +'foo' * array ( 'bar' => 1, 'foo' => 2 ) - Error Unsupported operand types +'foo' * (object) array ( ) = 0 - Notice Object of class stdClass could not be converted to number +'foo' * (object) array ( 'foo' => 1, 'bar' => 2 ) = 0 - Notice Object of class stdClass could not be converted to number +'foo' * (object) array ( 'bar' => 1, 'foo' => 2 ) = 0 - Notice Object of class stdClass could not be converted to number +'foo' * DateTime = 0 - Notice Object of class DateTime could not be converted to number +'foo' * resource = 0 - Warning A non-numeric value encountered +'foo' * NULL = 0 - Warning A non-numeric value encountered +array ( ) * false - Error Unsupported operand types +array ( ) * true - Error Unsupported operand types +array ( ) * 0 - Error Unsupported operand types +array ( ) * 10 - Error Unsupported operand types +array ( ) * 0.0 - Error Unsupported operand types +array ( ) * 10.0 - Error Unsupported operand types +array ( ) * 3.14 - Error Unsupported operand types +array ( ) * '0' - Error Unsupported operand types +array ( ) * '10' - Error Unsupported operand types +array ( ) * '010' - Error Unsupported operand types +array ( ) * '10 elephants' - Error Unsupported operand types +array ( ) * 'foo' - Error Unsupported operand types +array ( ) * array ( ) - Error Unsupported operand types +array ( ) * array ( 0 => 1 ) - Error Unsupported operand types +array ( ) * array ( 0 => 1, 1 => 100 ) - Error Unsupported operand types +array ( ) * array ( 'foo' => 1, 'bar' => 2 ) - Error Unsupported operand types +array ( ) * array ( 'bar' => 1, 'foo' => 2 ) - Error Unsupported operand types +array ( ) * (object) array ( ) - Error Unsupported operand types +array ( ) * (object) array ( 'foo' => 1, 'bar' => 2 ) - Error Unsupported operand types +array ( ) * (object) array ( 'bar' => 1, 'foo' => 2 ) - Error Unsupported operand types +array ( ) * DateTime - Error Unsupported operand types +array ( ) * resource - Error Unsupported operand types +array ( ) * NULL - Error Unsupported operand types +array ( 0 => 1 ) * false - Error Unsupported operand types +array ( 0 => 1 ) * true - Error Unsupported operand types +array ( 0 => 1 ) * 0 - Error Unsupported operand types +array ( 0 => 1 ) * 10 - Error Unsupported operand types +array ( 0 => 1 ) * 0.0 - Error Unsupported operand types +array ( 0 => 1 ) * 10.0 - Error Unsupported operand types +array ( 0 => 1 ) * 3.14 - Error Unsupported operand types +array ( 0 => 1 ) * '0' - Error Unsupported operand types +array ( 0 => 1 ) * '10' - Error Unsupported operand types +array ( 0 => 1 ) * '010' - Error Unsupported operand types +array ( 0 => 1 ) * '10 elephants' - Error Unsupported operand types +array ( 0 => 1 ) * 'foo' - Error Unsupported operand types +array ( 0 => 1 ) * array ( ) - Error Unsupported operand types +array ( 0 => 1 ) * array ( 0 => 1 ) - Error Unsupported operand types +array ( 0 => 1 ) * array ( 0 => 1, 1 => 100 ) - Error Unsupported operand types +array ( 0 => 1 ) * array ( 'foo' => 1, 'bar' => 2 ) - Error Unsupported operand types +array ( 0 => 1 ) * array ( 'bar' => 1, 'foo' => 2 ) - Error Unsupported operand types +array ( 0 => 1 ) * (object) array ( ) - Error Unsupported operand types +array ( 0 => 1 ) * (object) array ( 'foo' => 1, 'bar' => 2 ) - Error Unsupported operand types +array ( 0 => 1 ) * (object) array ( 'bar' => 1, 'foo' => 2 ) - Error Unsupported operand types +array ( 0 => 1 ) * DateTime - Error Unsupported operand types +array ( 0 => 1 ) * resource - Error Unsupported operand types +array ( 0 => 1 ) * NULL - Error Unsupported operand types +array ( 0 => 1, 1 => 100 ) * false - Error Unsupported operand types +array ( 0 => 1, 1 => 100 ) * true - Error Unsupported operand types +array ( 0 => 1, 1 => 100 ) * 0 - Error Unsupported operand types +array ( 0 => 1, 1 => 100 ) * 10 - Error Unsupported operand types +array ( 0 => 1, 1 => 100 ) * 0.0 - Error Unsupported operand types +array ( 0 => 1, 1 => 100 ) * 10.0 - Error Unsupported operand types +array ( 0 => 1, 1 => 100 ) * 3.14 - Error Unsupported operand types +array ( 0 => 1, 1 => 100 ) * '0' - Error Unsupported operand types +array ( 0 => 1, 1 => 100 ) * '10' - Error Unsupported operand types +array ( 0 => 1, 1 => 100 ) * '010' - Error Unsupported operand types +array ( 0 => 1, 1 => 100 ) * '10 elephants' - Error Unsupported operand types +array ( 0 => 1, 1 => 100 ) * 'foo' - Error Unsupported operand types +array ( 0 => 1, 1 => 100 ) * array ( ) - Error Unsupported operand types +array ( 0 => 1, 1 => 100 ) * array ( 0 => 1 ) - Error Unsupported operand types +array ( 0 => 1, 1 => 100 ) * array ( 0 => 1, 1 => 100 ) - Error Unsupported operand types +array ( 0 => 1, 1 => 100 ) * array ( 'foo' => 1, 'bar' => 2 ) - Error Unsupported operand types +array ( 0 => 1, 1 => 100 ) * array ( 'bar' => 1, 'foo' => 2 ) - Error Unsupported operand types +array ( 0 => 1, 1 => 100 ) * (object) array ( ) - Error Unsupported operand types +array ( 0 => 1, 1 => 100 ) * (object) array ( 'foo' => 1, 'bar' => 2 ) - Error Unsupported operand types +array ( 0 => 1, 1 => 100 ) * (object) array ( 'bar' => 1, 'foo' => 2 ) - Error Unsupported operand types +array ( 0 => 1, 1 => 100 ) * DateTime - Error Unsupported operand types +array ( 0 => 1, 1 => 100 ) * resource - Error Unsupported operand types +array ( 0 => 1, 1 => 100 ) * NULL - Error Unsupported operand types +array ( 'foo' => 1, 'bar' => 2 ) * false - Error Unsupported operand types +array ( 'foo' => 1, 'bar' => 2 ) * true - Error Unsupported operand types +array ( 'foo' => 1, 'bar' => 2 ) * 0 - Error Unsupported operand types +array ( 'foo' => 1, 'bar' => 2 ) * 10 - Error Unsupported operand types +array ( 'foo' => 1, 'bar' => 2 ) * 0.0 - Error Unsupported operand types +array ( 'foo' => 1, 'bar' => 2 ) * 10.0 - Error Unsupported operand types +array ( 'foo' => 1, 'bar' => 2 ) * 3.14 - Error Unsupported operand types +array ( 'foo' => 1, 'bar' => 2 ) * '0' - Error Unsupported operand types +array ( 'foo' => 1, 'bar' => 2 ) * '10' - Error Unsupported operand types +array ( 'foo' => 1, 'bar' => 2 ) * '010' - Error Unsupported operand types +array ( 'foo' => 1, 'bar' => 2 ) * '10 elephants' - Error Unsupported operand types +array ( 'foo' => 1, 'bar' => 2 ) * 'foo' - Error Unsupported operand types +array ( 'foo' => 1, 'bar' => 2 ) * array ( ) - Error Unsupported operand types +array ( 'foo' => 1, 'bar' => 2 ) * array ( 0 => 1 ) - Error Unsupported operand types +array ( 'foo' => 1, 'bar' => 2 ) * array ( 0 => 1, 1 => 100 ) - Error Unsupported operand types +array ( 'foo' => 1, 'bar' => 2 ) * array ( 'foo' => 1, 'bar' => 2 ) - Error Unsupported operand types +array ( 'foo' => 1, 'bar' => 2 ) * array ( 'bar' => 1, 'foo' => 2 ) - Error Unsupported operand types +array ( 'foo' => 1, 'bar' => 2 ) * (object) array ( ) - Error Unsupported operand types +array ( 'foo' => 1, 'bar' => 2 ) * (object) array ( 'foo' => 1, 'bar' => 2 ) - Error Unsupported operand types +array ( 'foo' => 1, 'bar' => 2 ) * (object) array ( 'bar' => 1, 'foo' => 2 ) - Error Unsupported operand types +array ( 'foo' => 1, 'bar' => 2 ) * DateTime - Error Unsupported operand types +array ( 'foo' => 1, 'bar' => 2 ) * resource - Error Unsupported operand types +array ( 'foo' => 1, 'bar' => 2 ) * NULL - Error Unsupported operand types +array ( 'bar' => 1, 'foo' => 2 ) * false - Error Unsupported operand types +array ( 'bar' => 1, 'foo' => 2 ) * true - Error Unsupported operand types +array ( 'bar' => 1, 'foo' => 2 ) * 0 - Error Unsupported operand types +array ( 'bar' => 1, 'foo' => 2 ) * 10 - Error Unsupported operand types +array ( 'bar' => 1, 'foo' => 2 ) * 0.0 - Error Unsupported operand types +array ( 'bar' => 1, 'foo' => 2 ) * 10.0 - Error Unsupported operand types +array ( 'bar' => 1, 'foo' => 2 ) * 3.14 - Error Unsupported operand types +array ( 'bar' => 1, 'foo' => 2 ) * '0' - Error Unsupported operand types +array ( 'bar' => 1, 'foo' => 2 ) * '10' - Error Unsupported operand types +array ( 'bar' => 1, 'foo' => 2 ) * '010' - Error Unsupported operand types +array ( 'bar' => 1, 'foo' => 2 ) * '10 elephants' - Error Unsupported operand types +array ( 'bar' => 1, 'foo' => 2 ) * 'foo' - Error Unsupported operand types +array ( 'bar' => 1, 'foo' => 2 ) * array ( ) - Error Unsupported operand types +array ( 'bar' => 1, 'foo' => 2 ) * array ( 0 => 1 ) - Error Unsupported operand types +array ( 'bar' => 1, 'foo' => 2 ) * array ( 0 => 1, 1 => 100 ) - Error Unsupported operand types +array ( 'bar' => 1, 'foo' => 2 ) * array ( 'foo' => 1, 'bar' => 2 ) - Error Unsupported operand types +array ( 'bar' => 1, 'foo' => 2 ) * array ( 'bar' => 1, 'foo' => 2 ) - Error Unsupported operand types +array ( 'bar' => 1, 'foo' => 2 ) * (object) array ( ) - Error Unsupported operand types +array ( 'bar' => 1, 'foo' => 2 ) * (object) array ( 'foo' => 1, 'bar' => 2 ) - Error Unsupported operand types +array ( 'bar' => 1, 'foo' => 2 ) * (object) array ( 'bar' => 1, 'foo' => 2 ) - Error Unsupported operand types +array ( 'bar' => 1, 'foo' => 2 ) * DateTime - Error Unsupported operand types +array ( 'bar' => 1, 'foo' => 2 ) * resource - Error Unsupported operand types +array ( 'bar' => 1, 'foo' => 2 ) * NULL - Error Unsupported operand types +(object) array ( ) * false = 0 - Notice Object of class stdClass could not be converted to number +(object) array ( ) * true = 1 - Notice Object of class stdClass could not be converted to number +(object) array ( ) * 0 = 0 - Notice Object of class stdClass could not be converted to number +(object) array ( ) * 10 = 10 - Notice Object of class stdClass could not be converted to number +(object) array ( ) * 0.0 = 0.0 - Notice Object of class stdClass could not be converted to number +(object) array ( ) * 10.0 = 10.0 - Notice Object of class stdClass could not be converted to number +(object) array ( ) * 3.14 = 3.14 - Notice Object of class stdClass could not be converted to number +(object) array ( ) * '0' = 0 - Notice Object of class stdClass could not be converted to number +(object) array ( ) * '10' = 10 - Notice Object of class stdClass could not be converted to number +(object) array ( ) * '010' = 10 - Notice Object of class stdClass could not be converted to number +(object) array ( ) * '10 elephants' = 10 - Notice A non well formed numeric value encountered +(object) array ( ) * 'foo' = 0 - Warning A non-numeric value encountered +(object) array ( ) * array ( ) - Error Unsupported operand types +(object) array ( ) * array ( 0 => 1 ) - Error Unsupported operand types +(object) array ( ) * array ( 0 => 1, 1 => 100 ) - Error Unsupported operand types +(object) array ( ) * array ( 'foo' => 1, 'bar' => 2 ) - Error Unsupported operand types +(object) array ( ) * array ( 'bar' => 1, 'foo' => 2 ) - Error Unsupported operand types +(object) array ( ) * (object) array ( ) = 1 - Notice Object of class stdClass could not be converted to number +(object) array ( ) * (object) array ( 'foo' => 1, 'bar' => 2 ) = 1 - Notice Object of class stdClass could not be converted to number +(object) array ( ) * (object) array ( 'bar' => 1, 'foo' => 2 ) = 1 - Notice Object of class stdClass could not be converted to number +(object) array ( ) * DateTime = 1 - Notice Object of class DateTime could not be converted to number +(object) array ( ) * resource = 6 - Notice Object of class stdClass could not be converted to number +(object) array ( ) * NULL = 0 - Notice Object of class stdClass could not be converted to number +(object) array ( 'foo' => 1, 'bar' => 2 ) * false = 0 - Notice Object of class stdClass could not be converted to number +(object) array ( 'foo' => 1, 'bar' => 2 ) * true = 1 - Notice Object of class stdClass could not be converted to number +(object) array ( 'foo' => 1, 'bar' => 2 ) * 0 = 0 - Notice Object of class stdClass could not be converted to number +(object) array ( 'foo' => 1, 'bar' => 2 ) * 10 = 10 - Notice Object of class stdClass could not be converted to number +(object) array ( 'foo' => 1, 'bar' => 2 ) * 0.0 = 0.0 - Notice Object of class stdClass could not be converted to number +(object) array ( 'foo' => 1, 'bar' => 2 ) * 10.0 = 10.0 - Notice Object of class stdClass could not be converted to number +(object) array ( 'foo' => 1, 'bar' => 2 ) * 3.14 = 3.14 - Notice Object of class stdClass could not be converted to number +(object) array ( 'foo' => 1, 'bar' => 2 ) * '0' = 0 - Notice Object of class stdClass could not be converted to number +(object) array ( 'foo' => 1, 'bar' => 2 ) * '10' = 10 - Notice Object of class stdClass could not be converted to number +(object) array ( 'foo' => 1, 'bar' => 2 ) * '010' = 10 - Notice Object of class stdClass could not be converted to number +(object) array ( 'foo' => 1, 'bar' => 2 ) * '10 elephants' = 10 - Notice A non well formed numeric value encountered +(object) array ( 'foo' => 1, 'bar' => 2 ) * 'foo' = 0 - Warning A non-numeric value encountered +(object) array ( 'foo' => 1, 'bar' => 2 ) * array ( ) - Error Unsupported operand types +(object) array ( 'foo' => 1, 'bar' => 2 ) * array ( 0 => 1 ) - Error Unsupported operand types +(object) array ( 'foo' => 1, 'bar' => 2 ) * array ( 0 => 1, 1 => 100 ) - Error Unsupported operand types +(object) array ( 'foo' => 1, 'bar' => 2 ) * array ( 'foo' => 1, 'bar' => 2 ) - Error Unsupported operand types +(object) array ( 'foo' => 1, 'bar' => 2 ) * array ( 'bar' => 1, 'foo' => 2 ) - Error Unsupported operand types +(object) array ( 'foo' => 1, 'bar' => 2 ) * (object) array ( ) = 1 - Notice Object of class stdClass could not be converted to number +(object) array ( 'foo' => 1, 'bar' => 2 ) * (object) array ( 'foo' => 1, 'bar' => 2 ) = 1 - Notice Object of class stdClass could not be converted to number +(object) array ( 'foo' => 1, 'bar' => 2 ) * (object) array ( 'bar' => 1, 'foo' => 2 ) = 1 - Notice Object of class stdClass could not be converted to number +(object) array ( 'foo' => 1, 'bar' => 2 ) * DateTime = 1 - Notice Object of class DateTime could not be converted to number +(object) array ( 'foo' => 1, 'bar' => 2 ) * resource = 6 - Notice Object of class stdClass could not be converted to number +(object) array ( 'foo' => 1, 'bar' => 2 ) * NULL = 0 - Notice Object of class stdClass could not be converted to number +(object) array ( 'bar' => 1, 'foo' => 2 ) * false = 0 - Notice Object of class stdClass could not be converted to number +(object) array ( 'bar' => 1, 'foo' => 2 ) * true = 1 - Notice Object of class stdClass could not be converted to number +(object) array ( 'bar' => 1, 'foo' => 2 ) * 0 = 0 - Notice Object of class stdClass could not be converted to number +(object) array ( 'bar' => 1, 'foo' => 2 ) * 10 = 10 - Notice Object of class stdClass could not be converted to number +(object) array ( 'bar' => 1, 'foo' => 2 ) * 0.0 = 0.0 - Notice Object of class stdClass could not be converted to number +(object) array ( 'bar' => 1, 'foo' => 2 ) * 10.0 = 10.0 - Notice Object of class stdClass could not be converted to number +(object) array ( 'bar' => 1, 'foo' => 2 ) * 3.14 = 3.14 - Notice Object of class stdClass could not be converted to number +(object) array ( 'bar' => 1, 'foo' => 2 ) * '0' = 0 - Notice Object of class stdClass could not be converted to number +(object) array ( 'bar' => 1, 'foo' => 2 ) * '10' = 10 - Notice Object of class stdClass could not be converted to number +(object) array ( 'bar' => 1, 'foo' => 2 ) * '010' = 10 - Notice Object of class stdClass could not be converted to number +(object) array ( 'bar' => 1, 'foo' => 2 ) * '10 elephants' = 10 - Notice A non well formed numeric value encountered +(object) array ( 'bar' => 1, 'foo' => 2 ) * 'foo' = 0 - Warning A non-numeric value encountered +(object) array ( 'bar' => 1, 'foo' => 2 ) * array ( ) - Error Unsupported operand types +(object) array ( 'bar' => 1, 'foo' => 2 ) * array ( 0 => 1 ) - Error Unsupported operand types +(object) array ( 'bar' => 1, 'foo' => 2 ) * array ( 0 => 1, 1 => 100 ) - Error Unsupported operand types +(object) array ( 'bar' => 1, 'foo' => 2 ) * array ( 'foo' => 1, 'bar' => 2 ) - Error Unsupported operand types +(object) array ( 'bar' => 1, 'foo' => 2 ) * array ( 'bar' => 1, 'foo' => 2 ) - Error Unsupported operand types +(object) array ( 'bar' => 1, 'foo' => 2 ) * (object) array ( ) = 1 - Notice Object of class stdClass could not be converted to number +(object) array ( 'bar' => 1, 'foo' => 2 ) * (object) array ( 'foo' => 1, 'bar' => 2 ) = 1 - Notice Object of class stdClass could not be converted to number +(object) array ( 'bar' => 1, 'foo' => 2 ) * (object) array ( 'bar' => 1, 'foo' => 2 ) = 1 - Notice Object of class stdClass could not be converted to number +(object) array ( 'bar' => 1, 'foo' => 2 ) * DateTime = 1 - Notice Object of class DateTime could not be converted to number +(object) array ( 'bar' => 1, 'foo' => 2 ) * resource = 6 - Notice Object of class stdClass could not be converted to number +(object) array ( 'bar' => 1, 'foo' => 2 ) * NULL = 0 - Notice Object of class stdClass could not be converted to number +DateTime * false = 0 - Notice Object of class DateTime could not be converted to number +DateTime * true = 1 - Notice Object of class DateTime could not be converted to number +DateTime * 0 = 0 - Notice Object of class DateTime could not be converted to number +DateTime * 10 = 10 - Notice Object of class DateTime could not be converted to number +DateTime * 0.0 = 0.0 - Notice Object of class DateTime could not be converted to number +DateTime * 10.0 = 10.0 - Notice Object of class DateTime could not be converted to number +DateTime * 3.14 = 3.14 - Notice Object of class DateTime could not be converted to number +DateTime * '0' = 0 - Notice Object of class DateTime could not be converted to number +DateTime * '10' = 10 - Notice Object of class DateTime could not be converted to number +DateTime * '010' = 10 - Notice Object of class DateTime could not be converted to number +DateTime * '10 elephants' = 10 - Notice A non well formed numeric value encountered +DateTime * 'foo' = 0 - Warning A non-numeric value encountered +DateTime * array ( ) - Error Unsupported operand types +DateTime * array ( 0 => 1 ) - Error Unsupported operand types +DateTime * array ( 0 => 1, 1 => 100 ) - Error Unsupported operand types +DateTime * array ( 'foo' => 1, 'bar' => 2 ) - Error Unsupported operand types +DateTime * array ( 'bar' => 1, 'foo' => 2 ) - Error Unsupported operand types +DateTime * (object) array ( ) = 1 - Notice Object of class stdClass could not be converted to number +DateTime * (object) array ( 'foo' => 1, 'bar' => 2 ) = 1 - Notice Object of class stdClass could not be converted to number +DateTime * (object) array ( 'bar' => 1, 'foo' => 2 ) = 1 - Notice Object of class stdClass could not be converted to number +DateTime * DateTime = 1 - Notice Object of class DateTime could not be converted to number +DateTime * resource = 6 - Notice Object of class DateTime could not be converted to number +DateTime * NULL = 0 - Notice Object of class DateTime could not be converted to number +resource * false = 0 +resource * true = 6 +resource * 0 = 0 +resource * 10 = 60 +resource * 0.0 = 0.0 +resource * 10.0 = 60.0 +resource * 3.14 = 18.84 +resource * '0' = 0 +resource * '10' = 60 +resource * '010' = 60 +resource * '10 elephants' = 60 - Notice A non well formed numeric value encountered +resource * 'foo' = 0 - Warning A non-numeric value encountered +resource * array ( ) - Error Unsupported operand types +resource * array ( 0 => 1 ) - Error Unsupported operand types +resource * array ( 0 => 1, 1 => 100 ) - Error Unsupported operand types +resource * array ( 'foo' => 1, 'bar' => 2 ) - Error Unsupported operand types +resource * array ( 'bar' => 1, 'foo' => 2 ) - Error Unsupported operand types +resource * (object) array ( ) = 6 - Notice Object of class stdClass could not be converted to number +resource * (object) array ( 'foo' => 1, 'bar' => 2 ) = 6 - Notice Object of class stdClass could not be converted to number +resource * (object) array ( 'bar' => 1, 'foo' => 2 ) = 6 - Notice Object of class stdClass could not be converted to number +resource * DateTime = 6 - Notice Object of class DateTime could not be converted to number +resource * resource = 36 +resource * NULL = 0 +NULL * false = 0 +NULL * true = 0 +NULL * 0 = 0 +NULL * 10 = 0 +NULL * 0.0 = 0.0 +NULL * 10.0 = 0.0 +NULL * 3.14 = 0.0 +NULL * '0' = 0 +NULL * '10' = 0 +NULL * '010' = 0 +NULL * '10 elephants' = 0 - Notice A non well formed numeric value encountered +NULL * 'foo' = 0 - Warning A non-numeric value encountered +NULL * array ( ) - Error Unsupported operand types +NULL * array ( 0 => 1 ) - Error Unsupported operand types +NULL * array ( 0 => 1, 1 => 100 ) - Error Unsupported operand types +NULL * array ( 'foo' => 1, 'bar' => 2 ) - Error Unsupported operand types +NULL * array ( 'bar' => 1, 'foo' => 2 ) - Error Unsupported operand types +NULL * (object) array ( ) = 0 - Notice Object of class stdClass could not be converted to number +NULL * (object) array ( 'foo' => 1, 'bar' => 2 ) = 0 - Notice Object of class stdClass could not be converted to number +NULL * (object) array ( 'bar' => 1, 'foo' => 2 ) = 0 - Notice Object of class stdClass could not be converted to number +NULL * DateTime = 0 - Notice Object of class DateTime could not be converted to number +NULL * resource = 0 +NULL * NULL = 0 \ No newline at end of file diff --git a/Zend/tests/operators/arithmetic/multiplication_strict.phpt b/Zend/tests/operators/arithmetic/multiplication_strict.phpt new file mode 100644 index 000000000000..869d446c1c41 --- /dev/null +++ b/Zend/tests/operators/arithmetic/multiplication_strict.phpt @@ -0,0 +1,544 @@ +--TEST-- +multiplication '*' operator with strict_operators +--INI-- +precision=14 +--FILE-- + 1 ) - TypeError Unsupported operand type bool for multiplication +false * array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type bool for multiplication +false * array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type bool for multiplication +false * array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type bool for multiplication +false * (object) array ( ) - TypeError Unsupported operand type bool for multiplication +false * (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type bool for multiplication +false * (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type bool for multiplication +false * DateTime - TypeError Unsupported operand type bool for multiplication +false * resource - TypeError Unsupported operand type bool for multiplication +false * NULL - TypeError Unsupported operand type bool for multiplication +true * false - TypeError Unsupported operand type bool for multiplication +true * true - TypeError Unsupported operand type bool for multiplication +true * 0 - TypeError Unsupported operand type bool for multiplication +true * 10 - TypeError Unsupported operand type bool for multiplication +true * 0.0 - TypeError Unsupported operand type bool for multiplication +true * 10.0 - TypeError Unsupported operand type bool for multiplication +true * 3.14 - TypeError Unsupported operand type bool for multiplication +true * '0' - TypeError Unsupported operand type bool for multiplication +true * '10' - TypeError Unsupported operand type bool for multiplication +true * '010' - TypeError Unsupported operand type bool for multiplication +true * '10 elephants' - TypeError Unsupported operand type bool for multiplication +true * 'foo' - TypeError Unsupported operand type bool for multiplication +true * array ( ) - TypeError Unsupported operand type bool for multiplication +true * array ( 0 => 1 ) - TypeError Unsupported operand type bool for multiplication +true * array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type bool for multiplication +true * array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type bool for multiplication +true * array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type bool for multiplication +true * (object) array ( ) - TypeError Unsupported operand type bool for multiplication +true * (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type bool for multiplication +true * (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type bool for multiplication +true * DateTime - TypeError Unsupported operand type bool for multiplication +true * resource - TypeError Unsupported operand type bool for multiplication +true * NULL - TypeError Unsupported operand type bool for multiplication +0 * false - TypeError Unsupported operand type bool for multiplication +0 * true - TypeError Unsupported operand type bool for multiplication +0 * 0 = 0 +0 * 10 = 0 +0 * 0.0 = 0.0 +0 * 10.0 = 0.0 +0 * 3.14 = 0.0 +0 * '0' - TypeError Unsupported operand type string for multiplication +0 * '10' - TypeError Unsupported operand type string for multiplication +0 * '010' - TypeError Unsupported operand type string for multiplication +0 * '10 elephants' - TypeError Unsupported operand type string for multiplication +0 * 'foo' - TypeError Unsupported operand type string for multiplication +0 * array ( ) - TypeError Unsupported operand type array for multiplication +0 * array ( 0 => 1 ) - TypeError Unsupported operand type array for multiplication +0 * array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for multiplication +0 * array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for multiplication +0 * array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for multiplication +0 * (object) array ( ) - TypeError Unsupported operand type object for multiplication +0 * (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for multiplication +0 * (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for multiplication +0 * DateTime - TypeError Unsupported operand type object for multiplication +0 * resource - TypeError Unsupported operand type resource for multiplication +0 * NULL - TypeError Unsupported operand type null for multiplication +10 * false - TypeError Unsupported operand type bool for multiplication +10 * true - TypeError Unsupported operand type bool for multiplication +10 * 0 = 0 +10 * 10 = 100 +10 * 0.0 = 0.0 +10 * 10.0 = 100.0 +10 * 3.14 = 31.400000000000002 +10 * '0' - TypeError Unsupported operand type string for multiplication +10 * '10' - TypeError Unsupported operand type string for multiplication +10 * '010' - TypeError Unsupported operand type string for multiplication +10 * '10 elephants' - TypeError Unsupported operand type string for multiplication +10 * 'foo' - TypeError Unsupported operand type string for multiplication +10 * array ( ) - TypeError Unsupported operand type array for multiplication +10 * array ( 0 => 1 ) - TypeError Unsupported operand type array for multiplication +10 * array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for multiplication +10 * array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for multiplication +10 * array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for multiplication +10 * (object) array ( ) - TypeError Unsupported operand type object for multiplication +10 * (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for multiplication +10 * (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for multiplication +10 * DateTime - TypeError Unsupported operand type object for multiplication +10 * resource - TypeError Unsupported operand type resource for multiplication +10 * NULL - TypeError Unsupported operand type null for multiplication +0.0 * false - TypeError Unsupported operand type bool for multiplication +0.0 * true - TypeError Unsupported operand type bool for multiplication +0.0 * 0 = 0.0 +0.0 * 10 = 0.0 +0.0 * 0.0 = 0.0 +0.0 * 10.0 = 0.0 +0.0 * 3.14 = 0.0 +0.0 * '0' - TypeError Unsupported operand type string for multiplication +0.0 * '10' - TypeError Unsupported operand type string for multiplication +0.0 * '010' - TypeError Unsupported operand type string for multiplication +0.0 * '10 elephants' - TypeError Unsupported operand type string for multiplication +0.0 * 'foo' - TypeError Unsupported operand type string for multiplication +0.0 * array ( ) - TypeError Unsupported operand type array for multiplication +0.0 * array ( 0 => 1 ) - TypeError Unsupported operand type array for multiplication +0.0 * array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for multiplication +0.0 * array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for multiplication +0.0 * array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for multiplication +0.0 * (object) array ( ) - TypeError Unsupported operand type object for multiplication +0.0 * (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for multiplication +0.0 * (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for multiplication +0.0 * DateTime - TypeError Unsupported operand type object for multiplication +0.0 * resource - TypeError Unsupported operand type resource for multiplication +0.0 * NULL - TypeError Unsupported operand type null for multiplication +10.0 * false - TypeError Unsupported operand type bool for multiplication +10.0 * true - TypeError Unsupported operand type bool for multiplication +10.0 * 0 = 0.0 +10.0 * 10 = 100.0 +10.0 * 0.0 = 0.0 +10.0 * 10.0 = 100.0 +10.0 * 3.14 = 31.400000000000002 +10.0 * '0' - TypeError Unsupported operand type string for multiplication +10.0 * '10' - TypeError Unsupported operand type string for multiplication +10.0 * '010' - TypeError Unsupported operand type string for multiplication +10.0 * '10 elephants' - TypeError Unsupported operand type string for multiplication +10.0 * 'foo' - TypeError Unsupported operand type string for multiplication +10.0 * array ( ) - TypeError Unsupported operand type array for multiplication +10.0 * array ( 0 => 1 ) - TypeError Unsupported operand type array for multiplication +10.0 * array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for multiplication +10.0 * array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for multiplication +10.0 * array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for multiplication +10.0 * (object) array ( ) - TypeError Unsupported operand type object for multiplication +10.0 * (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for multiplication +10.0 * (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for multiplication +10.0 * DateTime - TypeError Unsupported operand type object for multiplication +10.0 * resource - TypeError Unsupported operand type resource for multiplication +10.0 * NULL - TypeError Unsupported operand type null for multiplication +3.14 * false - TypeError Unsupported operand type bool for multiplication +3.14 * true - TypeError Unsupported operand type bool for multiplication +3.14 * 0 = 0.0 +3.14 * 10 = 31.400000000000002 +3.14 * 0.0 = 0.0 +3.14 * 10.0 = 31.400000000000002 +3.14 * 3.14 = 9.8596 +3.14 * '0' - TypeError Unsupported operand type string for multiplication +3.14 * '10' - TypeError Unsupported operand type string for multiplication +3.14 * '010' - TypeError Unsupported operand type string for multiplication +3.14 * '10 elephants' - TypeError Unsupported operand type string for multiplication +3.14 * 'foo' - TypeError Unsupported operand type string for multiplication +3.14 * array ( ) - TypeError Unsupported operand type array for multiplication +3.14 * array ( 0 => 1 ) - TypeError Unsupported operand type array for multiplication +3.14 * array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for multiplication +3.14 * array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for multiplication +3.14 * array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for multiplication +3.14 * (object) array ( ) - TypeError Unsupported operand type object for multiplication +3.14 * (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for multiplication +3.14 * (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for multiplication +3.14 * DateTime - TypeError Unsupported operand type object for multiplication +3.14 * resource - TypeError Unsupported operand type resource for multiplication +3.14 * NULL - TypeError Unsupported operand type null for multiplication +'0' * false - TypeError Unsupported operand type string for multiplication +'0' * true - TypeError Unsupported operand type string for multiplication +'0' * 0 - TypeError Unsupported operand type string for multiplication +'0' * 10 - TypeError Unsupported operand type string for multiplication +'0' * 0.0 - TypeError Unsupported operand type string for multiplication +'0' * 10.0 - TypeError Unsupported operand type string for multiplication +'0' * 3.14 - TypeError Unsupported operand type string for multiplication +'0' * '0' - TypeError Unsupported operand type string for multiplication +'0' * '10' - TypeError Unsupported operand type string for multiplication +'0' * '010' - TypeError Unsupported operand type string for multiplication +'0' * '10 elephants' - TypeError Unsupported operand type string for multiplication +'0' * 'foo' - TypeError Unsupported operand type string for multiplication +'0' * array ( ) - TypeError Unsupported operand type string for multiplication +'0' * array ( 0 => 1 ) - TypeError Unsupported operand type string for multiplication +'0' * array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type string for multiplication +'0' * array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type string for multiplication +'0' * array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type string for multiplication +'0' * (object) array ( ) - TypeError Unsupported operand type string for multiplication +'0' * (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type string for multiplication +'0' * (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type string for multiplication +'0' * DateTime - TypeError Unsupported operand type string for multiplication +'0' * resource - TypeError Unsupported operand type string for multiplication +'0' * NULL - TypeError Unsupported operand type string for multiplication +'10' * false - TypeError Unsupported operand type string for multiplication +'10' * true - TypeError Unsupported operand type string for multiplication +'10' * 0 - TypeError Unsupported operand type string for multiplication +'10' * 10 - TypeError Unsupported operand type string for multiplication +'10' * 0.0 - TypeError Unsupported operand type string for multiplication +'10' * 10.0 - TypeError Unsupported operand type string for multiplication +'10' * 3.14 - TypeError Unsupported operand type string for multiplication +'10' * '0' - TypeError Unsupported operand type string for multiplication +'10' * '10' - TypeError Unsupported operand type string for multiplication +'10' * '010' - TypeError Unsupported operand type string for multiplication +'10' * '10 elephants' - TypeError Unsupported operand type string for multiplication +'10' * 'foo' - TypeError Unsupported operand type string for multiplication +'10' * array ( ) - TypeError Unsupported operand type string for multiplication +'10' * array ( 0 => 1 ) - TypeError Unsupported operand type string for multiplication +'10' * array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type string for multiplication +'10' * array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type string for multiplication +'10' * array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type string for multiplication +'10' * (object) array ( ) - TypeError Unsupported operand type string for multiplication +'10' * (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type string for multiplication +'10' * (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type string for multiplication +'10' * DateTime - TypeError Unsupported operand type string for multiplication +'10' * resource - TypeError Unsupported operand type string for multiplication +'10' * NULL - TypeError Unsupported operand type string for multiplication +'010' * false - TypeError Unsupported operand type string for multiplication +'010' * true - TypeError Unsupported operand type string for multiplication +'010' * 0 - TypeError Unsupported operand type string for multiplication +'010' * 10 - TypeError Unsupported operand type string for multiplication +'010' * 0.0 - TypeError Unsupported operand type string for multiplication +'010' * 10.0 - TypeError Unsupported operand type string for multiplication +'010' * 3.14 - TypeError Unsupported operand type string for multiplication +'010' * '0' - TypeError Unsupported operand type string for multiplication +'010' * '10' - TypeError Unsupported operand type string for multiplication +'010' * '010' - TypeError Unsupported operand type string for multiplication +'010' * '10 elephants' - TypeError Unsupported operand type string for multiplication +'010' * 'foo' - TypeError Unsupported operand type string for multiplication +'010' * array ( ) - TypeError Unsupported operand type string for multiplication +'010' * array ( 0 => 1 ) - TypeError Unsupported operand type string for multiplication +'010' * array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type string for multiplication +'010' * array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type string for multiplication +'010' * array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type string for multiplication +'010' * (object) array ( ) - TypeError Unsupported operand type string for multiplication +'010' * (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type string for multiplication +'010' * (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type string for multiplication +'010' * DateTime - TypeError Unsupported operand type string for multiplication +'010' * resource - TypeError Unsupported operand type string for multiplication +'010' * NULL - TypeError Unsupported operand type string for multiplication +'10 elephants' * false - TypeError Unsupported operand type string for multiplication +'10 elephants' * true - TypeError Unsupported operand type string for multiplication +'10 elephants' * 0 - TypeError Unsupported operand type string for multiplication +'10 elephants' * 10 - TypeError Unsupported operand type string for multiplication +'10 elephants' * 0.0 - TypeError Unsupported operand type string for multiplication +'10 elephants' * 10.0 - TypeError Unsupported operand type string for multiplication +'10 elephants' * 3.14 - TypeError Unsupported operand type string for multiplication +'10 elephants' * '0' - TypeError Unsupported operand type string for multiplication +'10 elephants' * '10' - TypeError Unsupported operand type string for multiplication +'10 elephants' * '010' - TypeError Unsupported operand type string for multiplication +'10 elephants' * '10 elephants' - TypeError Unsupported operand type string for multiplication +'10 elephants' * 'foo' - TypeError Unsupported operand type string for multiplication +'10 elephants' * array ( ) - TypeError Unsupported operand type string for multiplication +'10 elephants' * array ( 0 => 1 ) - TypeError Unsupported operand type string for multiplication +'10 elephants' * array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type string for multiplication +'10 elephants' * array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type string for multiplication +'10 elephants' * array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type string for multiplication +'10 elephants' * (object) array ( ) - TypeError Unsupported operand type string for multiplication +'10 elephants' * (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type string for multiplication +'10 elephants' * (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type string for multiplication +'10 elephants' * DateTime - TypeError Unsupported operand type string for multiplication +'10 elephants' * resource - TypeError Unsupported operand type string for multiplication +'10 elephants' * NULL - TypeError Unsupported operand type string for multiplication +'foo' * false - TypeError Unsupported operand type string for multiplication +'foo' * true - TypeError Unsupported operand type string for multiplication +'foo' * 0 - TypeError Unsupported operand type string for multiplication +'foo' * 10 - TypeError Unsupported operand type string for multiplication +'foo' * 0.0 - TypeError Unsupported operand type string for multiplication +'foo' * 10.0 - TypeError Unsupported operand type string for multiplication +'foo' * 3.14 - TypeError Unsupported operand type string for multiplication +'foo' * '0' - TypeError Unsupported operand type string for multiplication +'foo' * '10' - TypeError Unsupported operand type string for multiplication +'foo' * '010' - TypeError Unsupported operand type string for multiplication +'foo' * '10 elephants' - TypeError Unsupported operand type string for multiplication +'foo' * 'foo' - TypeError Unsupported operand type string for multiplication +'foo' * array ( ) - TypeError Unsupported operand type string for multiplication +'foo' * array ( 0 => 1 ) - TypeError Unsupported operand type string for multiplication +'foo' * array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type string for multiplication +'foo' * array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type string for multiplication +'foo' * array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type string for multiplication +'foo' * (object) array ( ) - TypeError Unsupported operand type string for multiplication +'foo' * (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type string for multiplication +'foo' * (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type string for multiplication +'foo' * DateTime - TypeError Unsupported operand type string for multiplication +'foo' * resource - TypeError Unsupported operand type string for multiplication +'foo' * NULL - TypeError Unsupported operand type string for multiplication +array ( ) * false - TypeError Unsupported operand type array for multiplication +array ( ) * true - TypeError Unsupported operand type array for multiplication +array ( ) * 0 - TypeError Unsupported operand type array for multiplication +array ( ) * 10 - TypeError Unsupported operand type array for multiplication +array ( ) * 0.0 - TypeError Unsupported operand type array for multiplication +array ( ) * 10.0 - TypeError Unsupported operand type array for multiplication +array ( ) * 3.14 - TypeError Unsupported operand type array for multiplication +array ( ) * '0' - TypeError Unsupported operand type array for multiplication +array ( ) * '10' - TypeError Unsupported operand type array for multiplication +array ( ) * '010' - TypeError Unsupported operand type array for multiplication +array ( ) * '10 elephants' - TypeError Unsupported operand type array for multiplication +array ( ) * 'foo' - TypeError Unsupported operand type array for multiplication +array ( ) * array ( ) - TypeError Unsupported operand type array for multiplication +array ( ) * array ( 0 => 1 ) - TypeError Unsupported operand type array for multiplication +array ( ) * array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for multiplication +array ( ) * array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for multiplication +array ( ) * array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for multiplication +array ( ) * (object) array ( ) - TypeError Unsupported operand type array for multiplication +array ( ) * (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for multiplication +array ( ) * (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for multiplication +array ( ) * DateTime - TypeError Unsupported operand type array for multiplication +array ( ) * resource - TypeError Unsupported operand type array for multiplication +array ( ) * NULL - TypeError Unsupported operand type array for multiplication +array ( 0 => 1 ) * false - TypeError Unsupported operand type array for multiplication +array ( 0 => 1 ) * true - TypeError Unsupported operand type array for multiplication +array ( 0 => 1 ) * 0 - TypeError Unsupported operand type array for multiplication +array ( 0 => 1 ) * 10 - TypeError Unsupported operand type array for multiplication +array ( 0 => 1 ) * 0.0 - TypeError Unsupported operand type array for multiplication +array ( 0 => 1 ) * 10.0 - TypeError Unsupported operand type array for multiplication +array ( 0 => 1 ) * 3.14 - TypeError Unsupported operand type array for multiplication +array ( 0 => 1 ) * '0' - TypeError Unsupported operand type array for multiplication +array ( 0 => 1 ) * '10' - TypeError Unsupported operand type array for multiplication +array ( 0 => 1 ) * '010' - TypeError Unsupported operand type array for multiplication +array ( 0 => 1 ) * '10 elephants' - TypeError Unsupported operand type array for multiplication +array ( 0 => 1 ) * 'foo' - TypeError Unsupported operand type array for multiplication +array ( 0 => 1 ) * array ( ) - TypeError Unsupported operand type array for multiplication +array ( 0 => 1 ) * array ( 0 => 1 ) - TypeError Unsupported operand type array for multiplication +array ( 0 => 1 ) * array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for multiplication +array ( 0 => 1 ) * array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for multiplication +array ( 0 => 1 ) * array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for multiplication +array ( 0 => 1 ) * (object) array ( ) - TypeError Unsupported operand type array for multiplication +array ( 0 => 1 ) * (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for multiplication +array ( 0 => 1 ) * (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for multiplication +array ( 0 => 1 ) * DateTime - TypeError Unsupported operand type array for multiplication +array ( 0 => 1 ) * resource - TypeError Unsupported operand type array for multiplication +array ( 0 => 1 ) * NULL - TypeError Unsupported operand type array for multiplication +array ( 0 => 1, 1 => 100 ) * false - TypeError Unsupported operand type array for multiplication +array ( 0 => 1, 1 => 100 ) * true - TypeError Unsupported operand type array for multiplication +array ( 0 => 1, 1 => 100 ) * 0 - TypeError Unsupported operand type array for multiplication +array ( 0 => 1, 1 => 100 ) * 10 - TypeError Unsupported operand type array for multiplication +array ( 0 => 1, 1 => 100 ) * 0.0 - TypeError Unsupported operand type array for multiplication +array ( 0 => 1, 1 => 100 ) * 10.0 - TypeError Unsupported operand type array for multiplication +array ( 0 => 1, 1 => 100 ) * 3.14 - TypeError Unsupported operand type array for multiplication +array ( 0 => 1, 1 => 100 ) * '0' - TypeError Unsupported operand type array for multiplication +array ( 0 => 1, 1 => 100 ) * '10' - TypeError Unsupported operand type array for multiplication +array ( 0 => 1, 1 => 100 ) * '010' - TypeError Unsupported operand type array for multiplication +array ( 0 => 1, 1 => 100 ) * '10 elephants' - TypeError Unsupported operand type array for multiplication +array ( 0 => 1, 1 => 100 ) * 'foo' - TypeError Unsupported operand type array for multiplication +array ( 0 => 1, 1 => 100 ) * array ( ) - TypeError Unsupported operand type array for multiplication +array ( 0 => 1, 1 => 100 ) * array ( 0 => 1 ) - TypeError Unsupported operand type array for multiplication +array ( 0 => 1, 1 => 100 ) * array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for multiplication +array ( 0 => 1, 1 => 100 ) * array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for multiplication +array ( 0 => 1, 1 => 100 ) * array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for multiplication +array ( 0 => 1, 1 => 100 ) * (object) array ( ) - TypeError Unsupported operand type array for multiplication +array ( 0 => 1, 1 => 100 ) * (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for multiplication +array ( 0 => 1, 1 => 100 ) * (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for multiplication +array ( 0 => 1, 1 => 100 ) * DateTime - TypeError Unsupported operand type array for multiplication +array ( 0 => 1, 1 => 100 ) * resource - TypeError Unsupported operand type array for multiplication +array ( 0 => 1, 1 => 100 ) * NULL - TypeError Unsupported operand type array for multiplication +array ( 'foo' => 1, 'bar' => 2 ) * false - TypeError Unsupported operand type array for multiplication +array ( 'foo' => 1, 'bar' => 2 ) * true - TypeError Unsupported operand type array for multiplication +array ( 'foo' => 1, 'bar' => 2 ) * 0 - TypeError Unsupported operand type array for multiplication +array ( 'foo' => 1, 'bar' => 2 ) * 10 - TypeError Unsupported operand type array for multiplication +array ( 'foo' => 1, 'bar' => 2 ) * 0.0 - TypeError Unsupported operand type array for multiplication +array ( 'foo' => 1, 'bar' => 2 ) * 10.0 - TypeError Unsupported operand type array for multiplication +array ( 'foo' => 1, 'bar' => 2 ) * 3.14 - TypeError Unsupported operand type array for multiplication +array ( 'foo' => 1, 'bar' => 2 ) * '0' - TypeError Unsupported operand type array for multiplication +array ( 'foo' => 1, 'bar' => 2 ) * '10' - TypeError Unsupported operand type array for multiplication +array ( 'foo' => 1, 'bar' => 2 ) * '010' - TypeError Unsupported operand type array for multiplication +array ( 'foo' => 1, 'bar' => 2 ) * '10 elephants' - TypeError Unsupported operand type array for multiplication +array ( 'foo' => 1, 'bar' => 2 ) * 'foo' - TypeError Unsupported operand type array for multiplication +array ( 'foo' => 1, 'bar' => 2 ) * array ( ) - TypeError Unsupported operand type array for multiplication +array ( 'foo' => 1, 'bar' => 2 ) * array ( 0 => 1 ) - TypeError Unsupported operand type array for multiplication +array ( 'foo' => 1, 'bar' => 2 ) * array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for multiplication +array ( 'foo' => 1, 'bar' => 2 ) * array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for multiplication +array ( 'foo' => 1, 'bar' => 2 ) * array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for multiplication +array ( 'foo' => 1, 'bar' => 2 ) * (object) array ( ) - TypeError Unsupported operand type array for multiplication +array ( 'foo' => 1, 'bar' => 2 ) * (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for multiplication +array ( 'foo' => 1, 'bar' => 2 ) * (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for multiplication +array ( 'foo' => 1, 'bar' => 2 ) * DateTime - TypeError Unsupported operand type array for multiplication +array ( 'foo' => 1, 'bar' => 2 ) * resource - TypeError Unsupported operand type array for multiplication +array ( 'foo' => 1, 'bar' => 2 ) * NULL - TypeError Unsupported operand type array for multiplication +array ( 'bar' => 1, 'foo' => 2 ) * false - TypeError Unsupported operand type array for multiplication +array ( 'bar' => 1, 'foo' => 2 ) * true - TypeError Unsupported operand type array for multiplication +array ( 'bar' => 1, 'foo' => 2 ) * 0 - TypeError Unsupported operand type array for multiplication +array ( 'bar' => 1, 'foo' => 2 ) * 10 - TypeError Unsupported operand type array for multiplication +array ( 'bar' => 1, 'foo' => 2 ) * 0.0 - TypeError Unsupported operand type array for multiplication +array ( 'bar' => 1, 'foo' => 2 ) * 10.0 - TypeError Unsupported operand type array for multiplication +array ( 'bar' => 1, 'foo' => 2 ) * 3.14 - TypeError Unsupported operand type array for multiplication +array ( 'bar' => 1, 'foo' => 2 ) * '0' - TypeError Unsupported operand type array for multiplication +array ( 'bar' => 1, 'foo' => 2 ) * '10' - TypeError Unsupported operand type array for multiplication +array ( 'bar' => 1, 'foo' => 2 ) * '010' - TypeError Unsupported operand type array for multiplication +array ( 'bar' => 1, 'foo' => 2 ) * '10 elephants' - TypeError Unsupported operand type array for multiplication +array ( 'bar' => 1, 'foo' => 2 ) * 'foo' - TypeError Unsupported operand type array for multiplication +array ( 'bar' => 1, 'foo' => 2 ) * array ( ) - TypeError Unsupported operand type array for multiplication +array ( 'bar' => 1, 'foo' => 2 ) * array ( 0 => 1 ) - TypeError Unsupported operand type array for multiplication +array ( 'bar' => 1, 'foo' => 2 ) * array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for multiplication +array ( 'bar' => 1, 'foo' => 2 ) * array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for multiplication +array ( 'bar' => 1, 'foo' => 2 ) * array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for multiplication +array ( 'bar' => 1, 'foo' => 2 ) * (object) array ( ) - TypeError Unsupported operand type array for multiplication +array ( 'bar' => 1, 'foo' => 2 ) * (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for multiplication +array ( 'bar' => 1, 'foo' => 2 ) * (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for multiplication +array ( 'bar' => 1, 'foo' => 2 ) * DateTime - TypeError Unsupported operand type array for multiplication +array ( 'bar' => 1, 'foo' => 2 ) * resource - TypeError Unsupported operand type array for multiplication +array ( 'bar' => 1, 'foo' => 2 ) * NULL - TypeError Unsupported operand type array for multiplication +(object) array ( ) * false - TypeError Unsupported operand type object for multiplication +(object) array ( ) * true - TypeError Unsupported operand type object for multiplication +(object) array ( ) * 0 - TypeError Unsupported operand type object for multiplication +(object) array ( ) * 10 - TypeError Unsupported operand type object for multiplication +(object) array ( ) * 0.0 - TypeError Unsupported operand type object for multiplication +(object) array ( ) * 10.0 - TypeError Unsupported operand type object for multiplication +(object) array ( ) * 3.14 - TypeError Unsupported operand type object for multiplication +(object) array ( ) * '0' - TypeError Unsupported operand type object for multiplication +(object) array ( ) * '10' - TypeError Unsupported operand type object for multiplication +(object) array ( ) * '010' - TypeError Unsupported operand type object for multiplication +(object) array ( ) * '10 elephants' - TypeError Unsupported operand type object for multiplication +(object) array ( ) * 'foo' - TypeError Unsupported operand type object for multiplication +(object) array ( ) * array ( ) - TypeError Unsupported operand type object for multiplication +(object) array ( ) * array ( 0 => 1 ) - TypeError Unsupported operand type object for multiplication +(object) array ( ) * array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type object for multiplication +(object) array ( ) * array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for multiplication +(object) array ( ) * array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for multiplication +(object) array ( ) * (object) array ( ) - TypeError Unsupported operand type object for multiplication +(object) array ( ) * (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for multiplication +(object) array ( ) * (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for multiplication +(object) array ( ) * DateTime - TypeError Unsupported operand type object for multiplication +(object) array ( ) * resource - TypeError Unsupported operand type object for multiplication +(object) array ( ) * NULL - TypeError Unsupported operand type object for multiplication +(object) array ( 'foo' => 1, 'bar' => 2 ) * false - TypeError Unsupported operand type object for multiplication +(object) array ( 'foo' => 1, 'bar' => 2 ) * true - TypeError Unsupported operand type object for multiplication +(object) array ( 'foo' => 1, 'bar' => 2 ) * 0 - TypeError Unsupported operand type object for multiplication +(object) array ( 'foo' => 1, 'bar' => 2 ) * 10 - TypeError Unsupported operand type object for multiplication +(object) array ( 'foo' => 1, 'bar' => 2 ) * 0.0 - TypeError Unsupported operand type object for multiplication +(object) array ( 'foo' => 1, 'bar' => 2 ) * 10.0 - TypeError Unsupported operand type object for multiplication +(object) array ( 'foo' => 1, 'bar' => 2 ) * 3.14 - TypeError Unsupported operand type object for multiplication +(object) array ( 'foo' => 1, 'bar' => 2 ) * '0' - TypeError Unsupported operand type object for multiplication +(object) array ( 'foo' => 1, 'bar' => 2 ) * '10' - TypeError Unsupported operand type object for multiplication +(object) array ( 'foo' => 1, 'bar' => 2 ) * '010' - TypeError Unsupported operand type object for multiplication +(object) array ( 'foo' => 1, 'bar' => 2 ) * '10 elephants' - TypeError Unsupported operand type object for multiplication +(object) array ( 'foo' => 1, 'bar' => 2 ) * 'foo' - TypeError Unsupported operand type object for multiplication +(object) array ( 'foo' => 1, 'bar' => 2 ) * array ( ) - TypeError Unsupported operand type object for multiplication +(object) array ( 'foo' => 1, 'bar' => 2 ) * array ( 0 => 1 ) - TypeError Unsupported operand type object for multiplication +(object) array ( 'foo' => 1, 'bar' => 2 ) * array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type object for multiplication +(object) array ( 'foo' => 1, 'bar' => 2 ) * array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for multiplication +(object) array ( 'foo' => 1, 'bar' => 2 ) * array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for multiplication +(object) array ( 'foo' => 1, 'bar' => 2 ) * (object) array ( ) - TypeError Unsupported operand type object for multiplication +(object) array ( 'foo' => 1, 'bar' => 2 ) * (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for multiplication +(object) array ( 'foo' => 1, 'bar' => 2 ) * (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for multiplication +(object) array ( 'foo' => 1, 'bar' => 2 ) * DateTime - TypeError Unsupported operand type object for multiplication +(object) array ( 'foo' => 1, 'bar' => 2 ) * resource - TypeError Unsupported operand type object for multiplication +(object) array ( 'foo' => 1, 'bar' => 2 ) * NULL - TypeError Unsupported operand type object for multiplication +(object) array ( 'bar' => 1, 'foo' => 2 ) * false - TypeError Unsupported operand type object for multiplication +(object) array ( 'bar' => 1, 'foo' => 2 ) * true - TypeError Unsupported operand type object for multiplication +(object) array ( 'bar' => 1, 'foo' => 2 ) * 0 - TypeError Unsupported operand type object for multiplication +(object) array ( 'bar' => 1, 'foo' => 2 ) * 10 - TypeError Unsupported operand type object for multiplication +(object) array ( 'bar' => 1, 'foo' => 2 ) * 0.0 - TypeError Unsupported operand type object for multiplication +(object) array ( 'bar' => 1, 'foo' => 2 ) * 10.0 - TypeError Unsupported operand type object for multiplication +(object) array ( 'bar' => 1, 'foo' => 2 ) * 3.14 - TypeError Unsupported operand type object for multiplication +(object) array ( 'bar' => 1, 'foo' => 2 ) * '0' - TypeError Unsupported operand type object for multiplication +(object) array ( 'bar' => 1, 'foo' => 2 ) * '10' - TypeError Unsupported operand type object for multiplication +(object) array ( 'bar' => 1, 'foo' => 2 ) * '010' - TypeError Unsupported operand type object for multiplication +(object) array ( 'bar' => 1, 'foo' => 2 ) * '10 elephants' - TypeError Unsupported operand type object for multiplication +(object) array ( 'bar' => 1, 'foo' => 2 ) * 'foo' - TypeError Unsupported operand type object for multiplication +(object) array ( 'bar' => 1, 'foo' => 2 ) * array ( ) - TypeError Unsupported operand type object for multiplication +(object) array ( 'bar' => 1, 'foo' => 2 ) * array ( 0 => 1 ) - TypeError Unsupported operand type object for multiplication +(object) array ( 'bar' => 1, 'foo' => 2 ) * array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type object for multiplication +(object) array ( 'bar' => 1, 'foo' => 2 ) * array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for multiplication +(object) array ( 'bar' => 1, 'foo' => 2 ) * array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for multiplication +(object) array ( 'bar' => 1, 'foo' => 2 ) * (object) array ( ) - TypeError Unsupported operand type object for multiplication +(object) array ( 'bar' => 1, 'foo' => 2 ) * (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for multiplication +(object) array ( 'bar' => 1, 'foo' => 2 ) * (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for multiplication +(object) array ( 'bar' => 1, 'foo' => 2 ) * DateTime - TypeError Unsupported operand type object for multiplication +(object) array ( 'bar' => 1, 'foo' => 2 ) * resource - TypeError Unsupported operand type object for multiplication +(object) array ( 'bar' => 1, 'foo' => 2 ) * NULL - TypeError Unsupported operand type object for multiplication +DateTime * false - TypeError Unsupported operand type object for multiplication +DateTime * true - TypeError Unsupported operand type object for multiplication +DateTime * 0 - TypeError Unsupported operand type object for multiplication +DateTime * 10 - TypeError Unsupported operand type object for multiplication +DateTime * 0.0 - TypeError Unsupported operand type object for multiplication +DateTime * 10.0 - TypeError Unsupported operand type object for multiplication +DateTime * 3.14 - TypeError Unsupported operand type object for multiplication +DateTime * '0' - TypeError Unsupported operand type object for multiplication +DateTime * '10' - TypeError Unsupported operand type object for multiplication +DateTime * '010' - TypeError Unsupported operand type object for multiplication +DateTime * '10 elephants' - TypeError Unsupported operand type object for multiplication +DateTime * 'foo' - TypeError Unsupported operand type object for multiplication +DateTime * array ( ) - TypeError Unsupported operand type object for multiplication +DateTime * array ( 0 => 1 ) - TypeError Unsupported operand type object for multiplication +DateTime * array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type object for multiplication +DateTime * array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for multiplication +DateTime * array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for multiplication +DateTime * (object) array ( ) - TypeError Unsupported operand type object for multiplication +DateTime * (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for multiplication +DateTime * (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for multiplication +DateTime * DateTime - TypeError Unsupported operand type object for multiplication +DateTime * resource - TypeError Unsupported operand type object for multiplication +DateTime * NULL - TypeError Unsupported operand type object for multiplication +resource * false - TypeError Unsupported operand type resource for multiplication +resource * true - TypeError Unsupported operand type resource for multiplication +resource * 0 - TypeError Unsupported operand type resource for multiplication +resource * 10 - TypeError Unsupported operand type resource for multiplication +resource * 0.0 - TypeError Unsupported operand type resource for multiplication +resource * 10.0 - TypeError Unsupported operand type resource for multiplication +resource * 3.14 - TypeError Unsupported operand type resource for multiplication +resource * '0' - TypeError Unsupported operand type resource for multiplication +resource * '10' - TypeError Unsupported operand type resource for multiplication +resource * '010' - TypeError Unsupported operand type resource for multiplication +resource * '10 elephants' - TypeError Unsupported operand type resource for multiplication +resource * 'foo' - TypeError Unsupported operand type resource for multiplication +resource * array ( ) - TypeError Unsupported operand type resource for multiplication +resource * array ( 0 => 1 ) - TypeError Unsupported operand type resource for multiplication +resource * array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type resource for multiplication +resource * array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type resource for multiplication +resource * array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type resource for multiplication +resource * (object) array ( ) - TypeError Unsupported operand type resource for multiplication +resource * (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type resource for multiplication +resource * (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type resource for multiplication +resource * DateTime - TypeError Unsupported operand type resource for multiplication +resource * resource - TypeError Unsupported operand type resource for multiplication +resource * NULL - TypeError Unsupported operand type resource for multiplication +NULL * false - TypeError Unsupported operand type null for multiplication +NULL * true - TypeError Unsupported operand type null for multiplication +NULL * 0 - TypeError Unsupported operand type null for multiplication +NULL * 10 - TypeError Unsupported operand type null for multiplication +NULL * 0.0 - TypeError Unsupported operand type null for multiplication +NULL * 10.0 - TypeError Unsupported operand type null for multiplication +NULL * 3.14 - TypeError Unsupported operand type null for multiplication +NULL * '0' - TypeError Unsupported operand type null for multiplication +NULL * '10' - TypeError Unsupported operand type null for multiplication +NULL * '010' - TypeError Unsupported operand type null for multiplication +NULL * '10 elephants' - TypeError Unsupported operand type null for multiplication +NULL * 'foo' - TypeError Unsupported operand type null for multiplication +NULL * array ( ) - TypeError Unsupported operand type null for multiplication +NULL * array ( 0 => 1 ) - TypeError Unsupported operand type null for multiplication +NULL * array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type null for multiplication +NULL * array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type null for multiplication +NULL * array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type null for multiplication +NULL * (object) array ( ) - TypeError Unsupported operand type null for multiplication +NULL * (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type null for multiplication +NULL * (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type null for multiplication +NULL * DateTime - TypeError Unsupported operand type null for multiplication +NULL * resource - TypeError Unsupported operand type null for multiplication +NULL * NULL - TypeError Unsupported operand type null for multiplication \ No newline at end of file diff --git a/Zend/tests/operators/arithmetic/negation.phpt b/Zend/tests/operators/arithmetic/negation.phpt new file mode 100644 index 000000000000..cd9b946bc4cb --- /dev/null +++ b/Zend/tests/operators/arithmetic/negation.phpt @@ -0,0 +1,34 @@ +--TEST-- +negation operator +--FILE-- + 1 ) - Error Unsupported operand types +-array ( 0 => 1, 1 => 100 ) - Error Unsupported operand types +-array ( 'foo' => 1, 'bar' => 2 ) - Error Unsupported operand types +-array ( 'bar' => 1, 'foo' => 2 ) - Error Unsupported operand types +-(object) array ( ) = -1 - Notice Object of class stdClass could not be converted to number +-(object) array ( 'foo' => 1, 'bar' => 2 ) = -1 - Notice Object of class stdClass could not be converted to number +-(object) array ( 'bar' => 1, 'foo' => 2 ) = -1 - Notice Object of class stdClass could not be converted to number +-DateTime = -1 - Notice Object of class DateTime could not be converted to number +-resource = -6 +-NULL = 0 \ No newline at end of file diff --git a/Zend/tests/operators/arithmetic/negation_strict.phpt b/Zend/tests/operators/arithmetic/negation_strict.phpt new file mode 100644 index 000000000000..92b828bf13a4 --- /dev/null +++ b/Zend/tests/operators/arithmetic/negation_strict.phpt @@ -0,0 +1,36 @@ +--TEST-- +negation operator with strict_operators +--FILE-- + 1 ) - TypeError Unsupported operand type array for multiplication +-array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for multiplication +-array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for multiplication +-array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for multiplication +-(object) array ( ) - TypeError Unsupported operand type object for multiplication +-(object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for multiplication +-(object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for multiplication +-DateTime - TypeError Unsupported operand type object for multiplication +-resource - TypeError Unsupported operand type resource for multiplication +-NULL - TypeError Unsupported operand type null for multiplication \ No newline at end of file diff --git a/Zend/tests/operators/arithmetic/subtraction.phpt b/Zend/tests/operators/arithmetic/subtraction.phpt new file mode 100644 index 000000000000..ffa40fcb0a53 --- /dev/null +++ b/Zend/tests/operators/arithmetic/subtraction.phpt @@ -0,0 +1,542 @@ +--TEST-- +substraction '-' operator +--INI-- +precision=14 +--FILE-- + 1 ) - Error Unsupported operand types +false - array ( 0 => 1, 1 => 100 ) - Error Unsupported operand types +false - array ( 'foo' => 1, 'bar' => 2 ) - Error Unsupported operand types +false - array ( 'bar' => 1, 'foo' => 2 ) - Error Unsupported operand types +false - (object) array ( ) = -1 - Notice Object of class stdClass could not be converted to number +false - (object) array ( 'foo' => 1, 'bar' => 2 ) = -1 - Notice Object of class stdClass could not be converted to number +false - (object) array ( 'bar' => 1, 'foo' => 2 ) = -1 - Notice Object of class stdClass could not be converted to number +false - DateTime = -1 - Notice Object of class DateTime could not be converted to number +false - resource = -6 +false - NULL = 0 +true - false = 1 +true - true = 0 +true - 0 = 1 +true - 10 = -9 +true - 0.0 = 1.0 +true - 10.0 = -9.0 +true - 3.14 = -2.14 +true - '0' = 1 +true - '10' = -9 +true - '010' = -9 +true - '10 elephants' = -9 - Notice A non well formed numeric value encountered +true - 'foo' = 1 - Warning A non-numeric value encountered +true - array ( ) - Error Unsupported operand types +true - array ( 0 => 1 ) - Error Unsupported operand types +true - array ( 0 => 1, 1 => 100 ) - Error Unsupported operand types +true - array ( 'foo' => 1, 'bar' => 2 ) - Error Unsupported operand types +true - array ( 'bar' => 1, 'foo' => 2 ) - Error Unsupported operand types +true - (object) array ( ) = 0 - Notice Object of class stdClass could not be converted to number +true - (object) array ( 'foo' => 1, 'bar' => 2 ) = 0 - Notice Object of class stdClass could not be converted to number +true - (object) array ( 'bar' => 1, 'foo' => 2 ) = 0 - Notice Object of class stdClass could not be converted to number +true - DateTime = 0 - Notice Object of class DateTime could not be converted to number +true - resource = -5 +true - NULL = 1 +0 - false = 0 +0 - true = -1 +0 - 0 = 0 +0 - 10 = -10 +0 - 0.0 = 0.0 +0 - 10.0 = -10.0 +0 - 3.14 = -3.14 +0 - '0' = 0 +0 - '10' = -10 +0 - '010' = -10 +0 - '10 elephants' = -10 - Notice A non well formed numeric value encountered +0 - 'foo' = 0 - Warning A non-numeric value encountered +0 - array ( ) - Error Unsupported operand types +0 - array ( 0 => 1 ) - Error Unsupported operand types +0 - array ( 0 => 1, 1 => 100 ) - Error Unsupported operand types +0 - array ( 'foo' => 1, 'bar' => 2 ) - Error Unsupported operand types +0 - array ( 'bar' => 1, 'foo' => 2 ) - Error Unsupported operand types +0 - (object) array ( ) = -1 - Notice Object of class stdClass could not be converted to number +0 - (object) array ( 'foo' => 1, 'bar' => 2 ) = -1 - Notice Object of class stdClass could not be converted to number +0 - (object) array ( 'bar' => 1, 'foo' => 2 ) = -1 - Notice Object of class stdClass could not be converted to number +0 - DateTime = -1 - Notice Object of class DateTime could not be converted to number +0 - resource = -6 +0 - NULL = 0 +10 - false = 10 +10 - true = 9 +10 - 0 = 10 +10 - 10 = 0 +10 - 0.0 = 10.0 +10 - 10.0 = 0.0 +10 - 3.14 = 6.859999999999999 +10 - '0' = 10 +10 - '10' = 0 +10 - '010' = 0 +10 - '10 elephants' = 0 - Notice A non well formed numeric value encountered +10 - 'foo' = 10 - Warning A non-numeric value encountered +10 - array ( ) - Error Unsupported operand types +10 - array ( 0 => 1 ) - Error Unsupported operand types +10 - array ( 0 => 1, 1 => 100 ) - Error Unsupported operand types +10 - array ( 'foo' => 1, 'bar' => 2 ) - Error Unsupported operand types +10 - array ( 'bar' => 1, 'foo' => 2 ) - Error Unsupported operand types +10 - (object) array ( ) = 9 - Notice Object of class stdClass could not be converted to number +10 - (object) array ( 'foo' => 1, 'bar' => 2 ) = 9 - Notice Object of class stdClass could not be converted to number +10 - (object) array ( 'bar' => 1, 'foo' => 2 ) = 9 - Notice Object of class stdClass could not be converted to number +10 - DateTime = 9 - Notice Object of class DateTime could not be converted to number +10 - resource = 4 +10 - NULL = 10 +0.0 - false = 0.0 +0.0 - true = -1.0 +0.0 - 0 = 0.0 +0.0 - 10 = -10.0 +0.0 - 0.0 = 0.0 +0.0 - 10.0 = -10.0 +0.0 - 3.14 = -3.14 +0.0 - '0' = 0.0 +0.0 - '10' = -10.0 +0.0 - '010' = -10.0 +0.0 - '10 elephants' = -10.0 - Notice A non well formed numeric value encountered +0.0 - 'foo' = 0.0 - Warning A non-numeric value encountered +0.0 - array ( ) - Error Unsupported operand types +0.0 - array ( 0 => 1 ) - Error Unsupported operand types +0.0 - array ( 0 => 1, 1 => 100 ) - Error Unsupported operand types +0.0 - array ( 'foo' => 1, 'bar' => 2 ) - Error Unsupported operand types +0.0 - array ( 'bar' => 1, 'foo' => 2 ) - Error Unsupported operand types +0.0 - (object) array ( ) = -1.0 - Notice Object of class stdClass could not be converted to number +0.0 - (object) array ( 'foo' => 1, 'bar' => 2 ) = -1.0 - Notice Object of class stdClass could not be converted to number +0.0 - (object) array ( 'bar' => 1, 'foo' => 2 ) = -1.0 - Notice Object of class stdClass could not be converted to number +0.0 - DateTime = -1.0 - Notice Object of class DateTime could not be converted to number +0.0 - resource = -6.0 +0.0 - NULL = 0.0 +10.0 - false = 10.0 +10.0 - true = 9.0 +10.0 - 0 = 10.0 +10.0 - 10 = 0.0 +10.0 - 0.0 = 10.0 +10.0 - 10.0 = 0.0 +10.0 - 3.14 = 6.859999999999999 +10.0 - '0' = 10.0 +10.0 - '10' = 0.0 +10.0 - '010' = 0.0 +10.0 - '10 elephants' = 0.0 - Notice A non well formed numeric value encountered +10.0 - 'foo' = 10.0 - Warning A non-numeric value encountered +10.0 - array ( ) - Error Unsupported operand types +10.0 - array ( 0 => 1 ) - Error Unsupported operand types +10.0 - array ( 0 => 1, 1 => 100 ) - Error Unsupported operand types +10.0 - array ( 'foo' => 1, 'bar' => 2 ) - Error Unsupported operand types +10.0 - array ( 'bar' => 1, 'foo' => 2 ) - Error Unsupported operand types +10.0 - (object) array ( ) = 9.0 - Notice Object of class stdClass could not be converted to number +10.0 - (object) array ( 'foo' => 1, 'bar' => 2 ) = 9.0 - Notice Object of class stdClass could not be converted to number +10.0 - (object) array ( 'bar' => 1, 'foo' => 2 ) = 9.0 - Notice Object of class stdClass could not be converted to number +10.0 - DateTime = 9.0 - Notice Object of class DateTime could not be converted to number +10.0 - resource = 4.0 +10.0 - NULL = 10.0 +3.14 - false = 3.14 +3.14 - true = 2.14 +3.14 - 0 = 3.14 +3.14 - 10 = -6.859999999999999 +3.14 - 0.0 = 3.14 +3.14 - 10.0 = -6.859999999999999 +3.14 - 3.14 = 0.0 +3.14 - '0' = 3.14 +3.14 - '10' = -6.859999999999999 +3.14 - '010' = -6.859999999999999 +3.14 - '10 elephants' = -6.859999999999999 - Notice A non well formed numeric value encountered +3.14 - 'foo' = 3.14 - Warning A non-numeric value encountered +3.14 - array ( ) - Error Unsupported operand types +3.14 - array ( 0 => 1 ) - Error Unsupported operand types +3.14 - array ( 0 => 1, 1 => 100 ) - Error Unsupported operand types +3.14 - array ( 'foo' => 1, 'bar' => 2 ) - Error Unsupported operand types +3.14 - array ( 'bar' => 1, 'foo' => 2 ) - Error Unsupported operand types +3.14 - (object) array ( ) = 2.14 - Notice Object of class stdClass could not be converted to number +3.14 - (object) array ( 'foo' => 1, 'bar' => 2 ) = 2.14 - Notice Object of class stdClass could not be converted to number +3.14 - (object) array ( 'bar' => 1, 'foo' => 2 ) = 2.14 - Notice Object of class stdClass could not be converted to number +3.14 - DateTime = 2.14 - Notice Object of class DateTime could not be converted to number +3.14 - resource = -2.86 +3.14 - NULL = 3.14 +'0' - false = 0 +'0' - true = -1 +'0' - 0 = 0 +'0' - 10 = -10 +'0' - 0.0 = 0.0 +'0' - 10.0 = -10.0 +'0' - 3.14 = -3.14 +'0' - '0' = 0 +'0' - '10' = -10 +'0' - '010' = -10 +'0' - '10 elephants' = -10 - Notice A non well formed numeric value encountered +'0' - 'foo' = 0 - Warning A non-numeric value encountered +'0' - array ( ) - Error Unsupported operand types +'0' - array ( 0 => 1 ) - Error Unsupported operand types +'0' - array ( 0 => 1, 1 => 100 ) - Error Unsupported operand types +'0' - array ( 'foo' => 1, 'bar' => 2 ) - Error Unsupported operand types +'0' - array ( 'bar' => 1, 'foo' => 2 ) - Error Unsupported operand types +'0' - (object) array ( ) = -1 - Notice Object of class stdClass could not be converted to number +'0' - (object) array ( 'foo' => 1, 'bar' => 2 ) = -1 - Notice Object of class stdClass could not be converted to number +'0' - (object) array ( 'bar' => 1, 'foo' => 2 ) = -1 - Notice Object of class stdClass could not be converted to number +'0' - DateTime = -1 - Notice Object of class DateTime could not be converted to number +'0' - resource = -6 +'0' - NULL = 0 +'10' - false = 10 +'10' - true = 9 +'10' - 0 = 10 +'10' - 10 = 0 +'10' - 0.0 = 10.0 +'10' - 10.0 = 0.0 +'10' - 3.14 = 6.859999999999999 +'10' - '0' = 10 +'10' - '10' = 0 +'10' - '010' = 0 +'10' - '10 elephants' = 0 - Notice A non well formed numeric value encountered +'10' - 'foo' = 10 - Warning A non-numeric value encountered +'10' - array ( ) - Error Unsupported operand types +'10' - array ( 0 => 1 ) - Error Unsupported operand types +'10' - array ( 0 => 1, 1 => 100 ) - Error Unsupported operand types +'10' - array ( 'foo' => 1, 'bar' => 2 ) - Error Unsupported operand types +'10' - array ( 'bar' => 1, 'foo' => 2 ) - Error Unsupported operand types +'10' - (object) array ( ) = 9 - Notice Object of class stdClass could not be converted to number +'10' - (object) array ( 'foo' => 1, 'bar' => 2 ) = 9 - Notice Object of class stdClass could not be converted to number +'10' - (object) array ( 'bar' => 1, 'foo' => 2 ) = 9 - Notice Object of class stdClass could not be converted to number +'10' - DateTime = 9 - Notice Object of class DateTime could not be converted to number +'10' - resource = 4 +'10' - NULL = 10 +'010' - false = 10 +'010' - true = 9 +'010' - 0 = 10 +'010' - 10 = 0 +'010' - 0.0 = 10.0 +'010' - 10.0 = 0.0 +'010' - 3.14 = 6.859999999999999 +'010' - '0' = 10 +'010' - '10' = 0 +'010' - '010' = 0 +'010' - '10 elephants' = 0 - Notice A non well formed numeric value encountered +'010' - 'foo' = 10 - Warning A non-numeric value encountered +'010' - array ( ) - Error Unsupported operand types +'010' - array ( 0 => 1 ) - Error Unsupported operand types +'010' - array ( 0 => 1, 1 => 100 ) - Error Unsupported operand types +'010' - array ( 'foo' => 1, 'bar' => 2 ) - Error Unsupported operand types +'010' - array ( 'bar' => 1, 'foo' => 2 ) - Error Unsupported operand types +'010' - (object) array ( ) = 9 - Notice Object of class stdClass could not be converted to number +'010' - (object) array ( 'foo' => 1, 'bar' => 2 ) = 9 - Notice Object of class stdClass could not be converted to number +'010' - (object) array ( 'bar' => 1, 'foo' => 2 ) = 9 - Notice Object of class stdClass could not be converted to number +'010' - DateTime = 9 - Notice Object of class DateTime could not be converted to number +'010' - resource = 4 +'010' - NULL = 10 +'10 elephants' - false = 10 - Notice A non well formed numeric value encountered +'10 elephants' - true = 9 - Notice A non well formed numeric value encountered +'10 elephants' - 0 = 10 - Notice A non well formed numeric value encountered +'10 elephants' - 10 = 0 - Notice A non well formed numeric value encountered +'10 elephants' - 0.0 = 10.0 - Notice A non well formed numeric value encountered +'10 elephants' - 10.0 = 0.0 - Notice A non well formed numeric value encountered +'10 elephants' - 3.14 = 6.859999999999999 - Notice A non well formed numeric value encountered +'10 elephants' - '0' = 10 - Notice A non well formed numeric value encountered +'10 elephants' - '10' = 0 - Notice A non well formed numeric value encountered +'10 elephants' - '010' = 0 - Notice A non well formed numeric value encountered +'10 elephants' - '10 elephants' = 0 - Notice A non well formed numeric value encountered +'10 elephants' - 'foo' = 10 - Warning A non-numeric value encountered +'10 elephants' - array ( ) - Error Unsupported operand types +'10 elephants' - array ( 0 => 1 ) - Error Unsupported operand types +'10 elephants' - array ( 0 => 1, 1 => 100 ) - Error Unsupported operand types +'10 elephants' - array ( 'foo' => 1, 'bar' => 2 ) - Error Unsupported operand types +'10 elephants' - array ( 'bar' => 1, 'foo' => 2 ) - Error Unsupported operand types +'10 elephants' - (object) array ( ) = 9 - Notice Object of class stdClass could not be converted to number +'10 elephants' - (object) array ( 'foo' => 1, 'bar' => 2 ) = 9 - Notice Object of class stdClass could not be converted to number +'10 elephants' - (object) array ( 'bar' => 1, 'foo' => 2 ) = 9 - Notice Object of class stdClass could not be converted to number +'10 elephants' - DateTime = 9 - Notice Object of class DateTime could not be converted to number +'10 elephants' - resource = 4 - Notice A non well formed numeric value encountered +'10 elephants' - NULL = 10 - Notice A non well formed numeric value encountered +'foo' - false = 0 - Warning A non-numeric value encountered +'foo' - true = -1 - Warning A non-numeric value encountered +'foo' - 0 = 0 - Warning A non-numeric value encountered +'foo' - 10 = -10 - Warning A non-numeric value encountered +'foo' - 0.0 = 0.0 - Warning A non-numeric value encountered +'foo' - 10.0 = -10.0 - Warning A non-numeric value encountered +'foo' - 3.14 = -3.14 - Warning A non-numeric value encountered +'foo' - '0' = 0 - Warning A non-numeric value encountered +'foo' - '10' = -10 - Warning A non-numeric value encountered +'foo' - '010' = -10 - Warning A non-numeric value encountered +'foo' - '10 elephants' = -10 - Notice A non well formed numeric value encountered +'foo' - 'foo' = 0 - Warning A non-numeric value encountered +'foo' - array ( ) - Error Unsupported operand types +'foo' - array ( 0 => 1 ) - Error Unsupported operand types +'foo' - array ( 0 => 1, 1 => 100 ) - Error Unsupported operand types +'foo' - array ( 'foo' => 1, 'bar' => 2 ) - Error Unsupported operand types +'foo' - array ( 'bar' => 1, 'foo' => 2 ) - Error Unsupported operand types +'foo' - (object) array ( ) = -1 - Notice Object of class stdClass could not be converted to number +'foo' - (object) array ( 'foo' => 1, 'bar' => 2 ) = -1 - Notice Object of class stdClass could not be converted to number +'foo' - (object) array ( 'bar' => 1, 'foo' => 2 ) = -1 - Notice Object of class stdClass could not be converted to number +'foo' - DateTime = -1 - Notice Object of class DateTime could not be converted to number +'foo' - resource = -6 - Warning A non-numeric value encountered +'foo' - NULL = 0 - Warning A non-numeric value encountered +array ( ) - false - Error Unsupported operand types +array ( ) - true - Error Unsupported operand types +array ( ) - 0 - Error Unsupported operand types +array ( ) - 10 - Error Unsupported operand types +array ( ) - 0.0 - Error Unsupported operand types +array ( ) - 10.0 - Error Unsupported operand types +array ( ) - 3.14 - Error Unsupported operand types +array ( ) - '0' - Error Unsupported operand types +array ( ) - '10' - Error Unsupported operand types +array ( ) - '010' - Error Unsupported operand types +array ( ) - '10 elephants' - Error Unsupported operand types +array ( ) - 'foo' - Error Unsupported operand types +array ( ) - array ( ) - Error Unsupported operand types +array ( ) - array ( 0 => 1 ) - Error Unsupported operand types +array ( ) - array ( 0 => 1, 1 => 100 ) - Error Unsupported operand types +array ( ) - array ( 'foo' => 1, 'bar' => 2 ) - Error Unsupported operand types +array ( ) - array ( 'bar' => 1, 'foo' => 2 ) - Error Unsupported operand types +array ( ) - (object) array ( ) - Error Unsupported operand types +array ( ) - (object) array ( 'foo' => 1, 'bar' => 2 ) - Error Unsupported operand types +array ( ) - (object) array ( 'bar' => 1, 'foo' => 2 ) - Error Unsupported operand types +array ( ) - DateTime - Error Unsupported operand types +array ( ) - resource - Error Unsupported operand types +array ( ) - NULL - Error Unsupported operand types +array ( 0 => 1 ) - false - Error Unsupported operand types +array ( 0 => 1 ) - true - Error Unsupported operand types +array ( 0 => 1 ) - 0 - Error Unsupported operand types +array ( 0 => 1 ) - 10 - Error Unsupported operand types +array ( 0 => 1 ) - 0.0 - Error Unsupported operand types +array ( 0 => 1 ) - 10.0 - Error Unsupported operand types +array ( 0 => 1 ) - 3.14 - Error Unsupported operand types +array ( 0 => 1 ) - '0' - Error Unsupported operand types +array ( 0 => 1 ) - '10' - Error Unsupported operand types +array ( 0 => 1 ) - '010' - Error Unsupported operand types +array ( 0 => 1 ) - '10 elephants' - Error Unsupported operand types +array ( 0 => 1 ) - 'foo' - Error Unsupported operand types +array ( 0 => 1 ) - array ( ) - Error Unsupported operand types +array ( 0 => 1 ) - array ( 0 => 1 ) - Error Unsupported operand types +array ( 0 => 1 ) - array ( 0 => 1, 1 => 100 ) - Error Unsupported operand types +array ( 0 => 1 ) - array ( 'foo' => 1, 'bar' => 2 ) - Error Unsupported operand types +array ( 0 => 1 ) - array ( 'bar' => 1, 'foo' => 2 ) - Error Unsupported operand types +array ( 0 => 1 ) - (object) array ( ) - Error Unsupported operand types +array ( 0 => 1 ) - (object) array ( 'foo' => 1, 'bar' => 2 ) - Error Unsupported operand types +array ( 0 => 1 ) - (object) array ( 'bar' => 1, 'foo' => 2 ) - Error Unsupported operand types +array ( 0 => 1 ) - DateTime - Error Unsupported operand types +array ( 0 => 1 ) - resource - Error Unsupported operand types +array ( 0 => 1 ) - NULL - Error Unsupported operand types +array ( 0 => 1, 1 => 100 ) - false - Error Unsupported operand types +array ( 0 => 1, 1 => 100 ) - true - Error Unsupported operand types +array ( 0 => 1, 1 => 100 ) - 0 - Error Unsupported operand types +array ( 0 => 1, 1 => 100 ) - 10 - Error Unsupported operand types +array ( 0 => 1, 1 => 100 ) - 0.0 - Error Unsupported operand types +array ( 0 => 1, 1 => 100 ) - 10.0 - Error Unsupported operand types +array ( 0 => 1, 1 => 100 ) - 3.14 - Error Unsupported operand types +array ( 0 => 1, 1 => 100 ) - '0' - Error Unsupported operand types +array ( 0 => 1, 1 => 100 ) - '10' - Error Unsupported operand types +array ( 0 => 1, 1 => 100 ) - '010' - Error Unsupported operand types +array ( 0 => 1, 1 => 100 ) - '10 elephants' - Error Unsupported operand types +array ( 0 => 1, 1 => 100 ) - 'foo' - Error Unsupported operand types +array ( 0 => 1, 1 => 100 ) - array ( ) - Error Unsupported operand types +array ( 0 => 1, 1 => 100 ) - array ( 0 => 1 ) - Error Unsupported operand types +array ( 0 => 1, 1 => 100 ) - array ( 0 => 1, 1 => 100 ) - Error Unsupported operand types +array ( 0 => 1, 1 => 100 ) - array ( 'foo' => 1, 'bar' => 2 ) - Error Unsupported operand types +array ( 0 => 1, 1 => 100 ) - array ( 'bar' => 1, 'foo' => 2 ) - Error Unsupported operand types +array ( 0 => 1, 1 => 100 ) - (object) array ( ) - Error Unsupported operand types +array ( 0 => 1, 1 => 100 ) - (object) array ( 'foo' => 1, 'bar' => 2 ) - Error Unsupported operand types +array ( 0 => 1, 1 => 100 ) - (object) array ( 'bar' => 1, 'foo' => 2 ) - Error Unsupported operand types +array ( 0 => 1, 1 => 100 ) - DateTime - Error Unsupported operand types +array ( 0 => 1, 1 => 100 ) - resource - Error Unsupported operand types +array ( 0 => 1, 1 => 100 ) - NULL - Error Unsupported operand types +array ( 'foo' => 1, 'bar' => 2 ) - false - Error Unsupported operand types +array ( 'foo' => 1, 'bar' => 2 ) - true - Error Unsupported operand types +array ( 'foo' => 1, 'bar' => 2 ) - 0 - Error Unsupported operand types +array ( 'foo' => 1, 'bar' => 2 ) - 10 - Error Unsupported operand types +array ( 'foo' => 1, 'bar' => 2 ) - 0.0 - Error Unsupported operand types +array ( 'foo' => 1, 'bar' => 2 ) - 10.0 - Error Unsupported operand types +array ( 'foo' => 1, 'bar' => 2 ) - 3.14 - Error Unsupported operand types +array ( 'foo' => 1, 'bar' => 2 ) - '0' - Error Unsupported operand types +array ( 'foo' => 1, 'bar' => 2 ) - '10' - Error Unsupported operand types +array ( 'foo' => 1, 'bar' => 2 ) - '010' - Error Unsupported operand types +array ( 'foo' => 1, 'bar' => 2 ) - '10 elephants' - Error Unsupported operand types +array ( 'foo' => 1, 'bar' => 2 ) - 'foo' - Error Unsupported operand types +array ( 'foo' => 1, 'bar' => 2 ) - array ( ) - Error Unsupported operand types +array ( 'foo' => 1, 'bar' => 2 ) - array ( 0 => 1 ) - Error Unsupported operand types +array ( 'foo' => 1, 'bar' => 2 ) - array ( 0 => 1, 1 => 100 ) - Error Unsupported operand types +array ( 'foo' => 1, 'bar' => 2 ) - array ( 'foo' => 1, 'bar' => 2 ) - Error Unsupported operand types +array ( 'foo' => 1, 'bar' => 2 ) - array ( 'bar' => 1, 'foo' => 2 ) - Error Unsupported operand types +array ( 'foo' => 1, 'bar' => 2 ) - (object) array ( ) - Error Unsupported operand types +array ( 'foo' => 1, 'bar' => 2 ) - (object) array ( 'foo' => 1, 'bar' => 2 ) - Error Unsupported operand types +array ( 'foo' => 1, 'bar' => 2 ) - (object) array ( 'bar' => 1, 'foo' => 2 ) - Error Unsupported operand types +array ( 'foo' => 1, 'bar' => 2 ) - DateTime - Error Unsupported operand types +array ( 'foo' => 1, 'bar' => 2 ) - resource - Error Unsupported operand types +array ( 'foo' => 1, 'bar' => 2 ) - NULL - Error Unsupported operand types +array ( 'bar' => 1, 'foo' => 2 ) - false - Error Unsupported operand types +array ( 'bar' => 1, 'foo' => 2 ) - true - Error Unsupported operand types +array ( 'bar' => 1, 'foo' => 2 ) - 0 - Error Unsupported operand types +array ( 'bar' => 1, 'foo' => 2 ) - 10 - Error Unsupported operand types +array ( 'bar' => 1, 'foo' => 2 ) - 0.0 - Error Unsupported operand types +array ( 'bar' => 1, 'foo' => 2 ) - 10.0 - Error Unsupported operand types +array ( 'bar' => 1, 'foo' => 2 ) - 3.14 - Error Unsupported operand types +array ( 'bar' => 1, 'foo' => 2 ) - '0' - Error Unsupported operand types +array ( 'bar' => 1, 'foo' => 2 ) - '10' - Error Unsupported operand types +array ( 'bar' => 1, 'foo' => 2 ) - '010' - Error Unsupported operand types +array ( 'bar' => 1, 'foo' => 2 ) - '10 elephants' - Error Unsupported operand types +array ( 'bar' => 1, 'foo' => 2 ) - 'foo' - Error Unsupported operand types +array ( 'bar' => 1, 'foo' => 2 ) - array ( ) - Error Unsupported operand types +array ( 'bar' => 1, 'foo' => 2 ) - array ( 0 => 1 ) - Error Unsupported operand types +array ( 'bar' => 1, 'foo' => 2 ) - array ( 0 => 1, 1 => 100 ) - Error Unsupported operand types +array ( 'bar' => 1, 'foo' => 2 ) - array ( 'foo' => 1, 'bar' => 2 ) - Error Unsupported operand types +array ( 'bar' => 1, 'foo' => 2 ) - array ( 'bar' => 1, 'foo' => 2 ) - Error Unsupported operand types +array ( 'bar' => 1, 'foo' => 2 ) - (object) array ( ) - Error Unsupported operand types +array ( 'bar' => 1, 'foo' => 2 ) - (object) array ( 'foo' => 1, 'bar' => 2 ) - Error Unsupported operand types +array ( 'bar' => 1, 'foo' => 2 ) - (object) array ( 'bar' => 1, 'foo' => 2 ) - Error Unsupported operand types +array ( 'bar' => 1, 'foo' => 2 ) - DateTime - Error Unsupported operand types +array ( 'bar' => 1, 'foo' => 2 ) - resource - Error Unsupported operand types +array ( 'bar' => 1, 'foo' => 2 ) - NULL - Error Unsupported operand types +(object) array ( ) - false = 1 - Notice Object of class stdClass could not be converted to number +(object) array ( ) - true = 0 - Notice Object of class stdClass could not be converted to number +(object) array ( ) - 0 = 1 - Notice Object of class stdClass could not be converted to number +(object) array ( ) - 10 = -9 - Notice Object of class stdClass could not be converted to number +(object) array ( ) - 0.0 = 1.0 - Notice Object of class stdClass could not be converted to number +(object) array ( ) - 10.0 = -9.0 - Notice Object of class stdClass could not be converted to number +(object) array ( ) - 3.14 = -2.14 - Notice Object of class stdClass could not be converted to number +(object) array ( ) - '0' = 1 - Notice Object of class stdClass could not be converted to number +(object) array ( ) - '10' = -9 - Notice Object of class stdClass could not be converted to number +(object) array ( ) - '010' = -9 - Notice Object of class stdClass could not be converted to number +(object) array ( ) - '10 elephants' = -9 - Notice A non well formed numeric value encountered +(object) array ( ) - 'foo' = 1 - Warning A non-numeric value encountered +(object) array ( ) - array ( ) - Error Unsupported operand types +(object) array ( ) - array ( 0 => 1 ) - Error Unsupported operand types +(object) array ( ) - array ( 0 => 1, 1 => 100 ) - Error Unsupported operand types +(object) array ( ) - array ( 'foo' => 1, 'bar' => 2 ) - Error Unsupported operand types +(object) array ( ) - array ( 'bar' => 1, 'foo' => 2 ) - Error Unsupported operand types +(object) array ( ) - (object) array ( ) = 0 - Notice Object of class stdClass could not be converted to number +(object) array ( ) - (object) array ( 'foo' => 1, 'bar' => 2 ) = 0 - Notice Object of class stdClass could not be converted to number +(object) array ( ) - (object) array ( 'bar' => 1, 'foo' => 2 ) = 0 - Notice Object of class stdClass could not be converted to number +(object) array ( ) - DateTime = 0 - Notice Object of class DateTime could not be converted to number +(object) array ( ) - resource = -5 - Notice Object of class stdClass could not be converted to number +(object) array ( ) - NULL = 1 - Notice Object of class stdClass could not be converted to number +(object) array ( 'foo' => 1, 'bar' => 2 ) - false = 1 - Notice Object of class stdClass could not be converted to number +(object) array ( 'foo' => 1, 'bar' => 2 ) - true = 0 - Notice Object of class stdClass could not be converted to number +(object) array ( 'foo' => 1, 'bar' => 2 ) - 0 = 1 - Notice Object of class stdClass could not be converted to number +(object) array ( 'foo' => 1, 'bar' => 2 ) - 10 = -9 - Notice Object of class stdClass could not be converted to number +(object) array ( 'foo' => 1, 'bar' => 2 ) - 0.0 = 1.0 - Notice Object of class stdClass could not be converted to number +(object) array ( 'foo' => 1, 'bar' => 2 ) - 10.0 = -9.0 - Notice Object of class stdClass could not be converted to number +(object) array ( 'foo' => 1, 'bar' => 2 ) - 3.14 = -2.14 - Notice Object of class stdClass could not be converted to number +(object) array ( 'foo' => 1, 'bar' => 2 ) - '0' = 1 - Notice Object of class stdClass could not be converted to number +(object) array ( 'foo' => 1, 'bar' => 2 ) - '10' = -9 - Notice Object of class stdClass could not be converted to number +(object) array ( 'foo' => 1, 'bar' => 2 ) - '010' = -9 - Notice Object of class stdClass could not be converted to number +(object) array ( 'foo' => 1, 'bar' => 2 ) - '10 elephants' = -9 - Notice A non well formed numeric value encountered +(object) array ( 'foo' => 1, 'bar' => 2 ) - 'foo' = 1 - Warning A non-numeric value encountered +(object) array ( 'foo' => 1, 'bar' => 2 ) - array ( ) - Error Unsupported operand types +(object) array ( 'foo' => 1, 'bar' => 2 ) - array ( 0 => 1 ) - Error Unsupported operand types +(object) array ( 'foo' => 1, 'bar' => 2 ) - array ( 0 => 1, 1 => 100 ) - Error Unsupported operand types +(object) array ( 'foo' => 1, 'bar' => 2 ) - array ( 'foo' => 1, 'bar' => 2 ) - Error Unsupported operand types +(object) array ( 'foo' => 1, 'bar' => 2 ) - array ( 'bar' => 1, 'foo' => 2 ) - Error Unsupported operand types +(object) array ( 'foo' => 1, 'bar' => 2 ) - (object) array ( ) = 0 - Notice Object of class stdClass could not be converted to number +(object) array ( 'foo' => 1, 'bar' => 2 ) - (object) array ( 'foo' => 1, 'bar' => 2 ) = 0 - Notice Object of class stdClass could not be converted to number +(object) array ( 'foo' => 1, 'bar' => 2 ) - (object) array ( 'bar' => 1, 'foo' => 2 ) = 0 - Notice Object of class stdClass could not be converted to number +(object) array ( 'foo' => 1, 'bar' => 2 ) - DateTime = 0 - Notice Object of class DateTime could not be converted to number +(object) array ( 'foo' => 1, 'bar' => 2 ) - resource = -5 - Notice Object of class stdClass could not be converted to number +(object) array ( 'foo' => 1, 'bar' => 2 ) - NULL = 1 - Notice Object of class stdClass could not be converted to number +(object) array ( 'bar' => 1, 'foo' => 2 ) - false = 1 - Notice Object of class stdClass could not be converted to number +(object) array ( 'bar' => 1, 'foo' => 2 ) - true = 0 - Notice Object of class stdClass could not be converted to number +(object) array ( 'bar' => 1, 'foo' => 2 ) - 0 = 1 - Notice Object of class stdClass could not be converted to number +(object) array ( 'bar' => 1, 'foo' => 2 ) - 10 = -9 - Notice Object of class stdClass could not be converted to number +(object) array ( 'bar' => 1, 'foo' => 2 ) - 0.0 = 1.0 - Notice Object of class stdClass could not be converted to number +(object) array ( 'bar' => 1, 'foo' => 2 ) - 10.0 = -9.0 - Notice Object of class stdClass could not be converted to number +(object) array ( 'bar' => 1, 'foo' => 2 ) - 3.14 = -2.14 - Notice Object of class stdClass could not be converted to number +(object) array ( 'bar' => 1, 'foo' => 2 ) - '0' = 1 - Notice Object of class stdClass could not be converted to number +(object) array ( 'bar' => 1, 'foo' => 2 ) - '10' = -9 - Notice Object of class stdClass could not be converted to number +(object) array ( 'bar' => 1, 'foo' => 2 ) - '010' = -9 - Notice Object of class stdClass could not be converted to number +(object) array ( 'bar' => 1, 'foo' => 2 ) - '10 elephants' = -9 - Notice A non well formed numeric value encountered +(object) array ( 'bar' => 1, 'foo' => 2 ) - 'foo' = 1 - Warning A non-numeric value encountered +(object) array ( 'bar' => 1, 'foo' => 2 ) - array ( ) - Error Unsupported operand types +(object) array ( 'bar' => 1, 'foo' => 2 ) - array ( 0 => 1 ) - Error Unsupported operand types +(object) array ( 'bar' => 1, 'foo' => 2 ) - array ( 0 => 1, 1 => 100 ) - Error Unsupported operand types +(object) array ( 'bar' => 1, 'foo' => 2 ) - array ( 'foo' => 1, 'bar' => 2 ) - Error Unsupported operand types +(object) array ( 'bar' => 1, 'foo' => 2 ) - array ( 'bar' => 1, 'foo' => 2 ) - Error Unsupported operand types +(object) array ( 'bar' => 1, 'foo' => 2 ) - (object) array ( ) = 0 - Notice Object of class stdClass could not be converted to number +(object) array ( 'bar' => 1, 'foo' => 2 ) - (object) array ( 'foo' => 1, 'bar' => 2 ) = 0 - Notice Object of class stdClass could not be converted to number +(object) array ( 'bar' => 1, 'foo' => 2 ) - (object) array ( 'bar' => 1, 'foo' => 2 ) = 0 - Notice Object of class stdClass could not be converted to number +(object) array ( 'bar' => 1, 'foo' => 2 ) - DateTime = 0 - Notice Object of class DateTime could not be converted to number +(object) array ( 'bar' => 1, 'foo' => 2 ) - resource = -5 - Notice Object of class stdClass could not be converted to number +(object) array ( 'bar' => 1, 'foo' => 2 ) - NULL = 1 - Notice Object of class stdClass could not be converted to number +DateTime - false = 1 - Notice Object of class DateTime could not be converted to number +DateTime - true = 0 - Notice Object of class DateTime could not be converted to number +DateTime - 0 = 1 - Notice Object of class DateTime could not be converted to number +DateTime - 10 = -9 - Notice Object of class DateTime could not be converted to number +DateTime - 0.0 = 1.0 - Notice Object of class DateTime could not be converted to number +DateTime - 10.0 = -9.0 - Notice Object of class DateTime could not be converted to number +DateTime - 3.14 = -2.14 - Notice Object of class DateTime could not be converted to number +DateTime - '0' = 1 - Notice Object of class DateTime could not be converted to number +DateTime - '10' = -9 - Notice Object of class DateTime could not be converted to number +DateTime - '010' = -9 - Notice Object of class DateTime could not be converted to number +DateTime - '10 elephants' = -9 - Notice A non well formed numeric value encountered +DateTime - 'foo' = 1 - Warning A non-numeric value encountered +DateTime - array ( ) - Error Unsupported operand types +DateTime - array ( 0 => 1 ) - Error Unsupported operand types +DateTime - array ( 0 => 1, 1 => 100 ) - Error Unsupported operand types +DateTime - array ( 'foo' => 1, 'bar' => 2 ) - Error Unsupported operand types +DateTime - array ( 'bar' => 1, 'foo' => 2 ) - Error Unsupported operand types +DateTime - (object) array ( ) = 0 - Notice Object of class stdClass could not be converted to number +DateTime - (object) array ( 'foo' => 1, 'bar' => 2 ) = 0 - Notice Object of class stdClass could not be converted to number +DateTime - (object) array ( 'bar' => 1, 'foo' => 2 ) = 0 - Notice Object of class stdClass could not be converted to number +DateTime - DateTime = 0 - Notice Object of class DateTime could not be converted to number +DateTime - resource = -5 - Notice Object of class DateTime could not be converted to number +DateTime - NULL = 1 - Notice Object of class DateTime could not be converted to number +resource - false = 6 +resource - true = 5 +resource - 0 = 6 +resource - 10 = -4 +resource - 0.0 = 6.0 +resource - 10.0 = -4.0 +resource - 3.14 = 2.86 +resource - '0' = 6 +resource - '10' = -4 +resource - '010' = -4 +resource - '10 elephants' = -4 - Notice A non well formed numeric value encountered +resource - 'foo' = 6 - Warning A non-numeric value encountered +resource - array ( ) - Error Unsupported operand types +resource - array ( 0 => 1 ) - Error Unsupported operand types +resource - array ( 0 => 1, 1 => 100 ) - Error Unsupported operand types +resource - array ( 'foo' => 1, 'bar' => 2 ) - Error Unsupported operand types +resource - array ( 'bar' => 1, 'foo' => 2 ) - Error Unsupported operand types +resource - (object) array ( ) = 5 - Notice Object of class stdClass could not be converted to number +resource - (object) array ( 'foo' => 1, 'bar' => 2 ) = 5 - Notice Object of class stdClass could not be converted to number +resource - (object) array ( 'bar' => 1, 'foo' => 2 ) = 5 - Notice Object of class stdClass could not be converted to number +resource - DateTime = 5 - Notice Object of class DateTime could not be converted to number +resource - resource = 0 +resource - NULL = 6 +NULL - false = 0 +NULL - true = -1 +NULL - 0 = 0 +NULL - 10 = -10 +NULL - 0.0 = 0.0 +NULL - 10.0 = -10.0 +NULL - 3.14 = -3.14 +NULL - '0' = 0 +NULL - '10' = -10 +NULL - '010' = -10 +NULL - '10 elephants' = -10 - Notice A non well formed numeric value encountered +NULL - 'foo' = 0 - Warning A non-numeric value encountered +NULL - array ( ) - Error Unsupported operand types +NULL - array ( 0 => 1 ) - Error Unsupported operand types +NULL - array ( 0 => 1, 1 => 100 ) - Error Unsupported operand types +NULL - array ( 'foo' => 1, 'bar' => 2 ) - Error Unsupported operand types +NULL - array ( 'bar' => 1, 'foo' => 2 ) - Error Unsupported operand types +NULL - (object) array ( ) = -1 - Notice Object of class stdClass could not be converted to number +NULL - (object) array ( 'foo' => 1, 'bar' => 2 ) = -1 - Notice Object of class stdClass could not be converted to number +NULL - (object) array ( 'bar' => 1, 'foo' => 2 ) = -1 - Notice Object of class stdClass could not be converted to number +NULL - DateTime = -1 - Notice Object of class DateTime could not be converted to number +NULL - resource = -6 +NULL - NULL = 0 \ No newline at end of file diff --git a/Zend/tests/operators/arithmetic/subtraction_strict.phpt b/Zend/tests/operators/arithmetic/subtraction_strict.phpt new file mode 100644 index 000000000000..6e52fecbf9c3 --- /dev/null +++ b/Zend/tests/operators/arithmetic/subtraction_strict.phpt @@ -0,0 +1,544 @@ +--TEST-- +substraction '-' operator with strict_operators +--INI-- +precision=14 +--FILE-- + 1 ) - TypeError Unsupported operand type bool for subtraction +false - array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type bool for subtraction +false - array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type bool for subtraction +false - array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type bool for subtraction +false - (object) array ( ) - TypeError Unsupported operand type bool for subtraction +false - (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type bool for subtraction +false - (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type bool for subtraction +false - DateTime - TypeError Unsupported operand type bool for subtraction +false - resource - TypeError Unsupported operand type bool for subtraction +false - NULL - TypeError Unsupported operand type bool for subtraction +true - false - TypeError Unsupported operand type bool for subtraction +true - true - TypeError Unsupported operand type bool for subtraction +true - 0 - TypeError Unsupported operand type bool for subtraction +true - 10 - TypeError Unsupported operand type bool for subtraction +true - 0.0 - TypeError Unsupported operand type bool for subtraction +true - 10.0 - TypeError Unsupported operand type bool for subtraction +true - 3.14 - TypeError Unsupported operand type bool for subtraction +true - '0' - TypeError Unsupported operand type bool for subtraction +true - '10' - TypeError Unsupported operand type bool for subtraction +true - '010' - TypeError Unsupported operand type bool for subtraction +true - '10 elephants' - TypeError Unsupported operand type bool for subtraction +true - 'foo' - TypeError Unsupported operand type bool for subtraction +true - array ( ) - TypeError Unsupported operand type bool for subtraction +true - array ( 0 => 1 ) - TypeError Unsupported operand type bool for subtraction +true - array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type bool for subtraction +true - array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type bool for subtraction +true - array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type bool for subtraction +true - (object) array ( ) - TypeError Unsupported operand type bool for subtraction +true - (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type bool for subtraction +true - (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type bool for subtraction +true - DateTime - TypeError Unsupported operand type bool for subtraction +true - resource - TypeError Unsupported operand type bool for subtraction +true - NULL - TypeError Unsupported operand type bool for subtraction +0 - false - TypeError Unsupported operand type bool for subtraction +0 - true - TypeError Unsupported operand type bool for subtraction +0 - 0 = 0 +0 - 10 = -10 +0 - 0.0 = 0.0 +0 - 10.0 = -10.0 +0 - 3.14 = -3.14 +0 - '0' - TypeError Unsupported operand type string for subtraction +0 - '10' - TypeError Unsupported operand type string for subtraction +0 - '010' - TypeError Unsupported operand type string for subtraction +0 - '10 elephants' - TypeError Unsupported operand type string for subtraction +0 - 'foo' - TypeError Unsupported operand type string for subtraction +0 - array ( ) - TypeError Unsupported operand type array for subtraction +0 - array ( 0 => 1 ) - TypeError Unsupported operand type array for subtraction +0 - array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for subtraction +0 - array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for subtraction +0 - array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for subtraction +0 - (object) array ( ) - TypeError Unsupported operand type object for subtraction +0 - (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for subtraction +0 - (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for subtraction +0 - DateTime - TypeError Unsupported operand type object for subtraction +0 - resource - TypeError Unsupported operand type resource for subtraction +0 - NULL - TypeError Unsupported operand type null for subtraction +10 - false - TypeError Unsupported operand type bool for subtraction +10 - true - TypeError Unsupported operand type bool for subtraction +10 - 0 = 10 +10 - 10 = 0 +10 - 0.0 = 10.0 +10 - 10.0 = 0.0 +10 - 3.14 = 6.859999999999999 +10 - '0' - TypeError Unsupported operand type string for subtraction +10 - '10' - TypeError Unsupported operand type string for subtraction +10 - '010' - TypeError Unsupported operand type string for subtraction +10 - '10 elephants' - TypeError Unsupported operand type string for subtraction +10 - 'foo' - TypeError Unsupported operand type string for subtraction +10 - array ( ) - TypeError Unsupported operand type array for subtraction +10 - array ( 0 => 1 ) - TypeError Unsupported operand type array for subtraction +10 - array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for subtraction +10 - array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for subtraction +10 - array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for subtraction +10 - (object) array ( ) - TypeError Unsupported operand type object for subtraction +10 - (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for subtraction +10 - (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for subtraction +10 - DateTime - TypeError Unsupported operand type object for subtraction +10 - resource - TypeError Unsupported operand type resource for subtraction +10 - NULL - TypeError Unsupported operand type null for subtraction +0.0 - false - TypeError Unsupported operand type bool for subtraction +0.0 - true - TypeError Unsupported operand type bool for subtraction +0.0 - 0 = 0.0 +0.0 - 10 = -10.0 +0.0 - 0.0 = 0.0 +0.0 - 10.0 = -10.0 +0.0 - 3.14 = -3.14 +0.0 - '0' - TypeError Unsupported operand type string for subtraction +0.0 - '10' - TypeError Unsupported operand type string for subtraction +0.0 - '010' - TypeError Unsupported operand type string for subtraction +0.0 - '10 elephants' - TypeError Unsupported operand type string for subtraction +0.0 - 'foo' - TypeError Unsupported operand type string for subtraction +0.0 - array ( ) - TypeError Unsupported operand type array for subtraction +0.0 - array ( 0 => 1 ) - TypeError Unsupported operand type array for subtraction +0.0 - array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for subtraction +0.0 - array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for subtraction +0.0 - array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for subtraction +0.0 - (object) array ( ) - TypeError Unsupported operand type object for subtraction +0.0 - (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for subtraction +0.0 - (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for subtraction +0.0 - DateTime - TypeError Unsupported operand type object for subtraction +0.0 - resource - TypeError Unsupported operand type resource for subtraction +0.0 - NULL - TypeError Unsupported operand type null for subtraction +10.0 - false - TypeError Unsupported operand type bool for subtraction +10.0 - true - TypeError Unsupported operand type bool for subtraction +10.0 - 0 = 10.0 +10.0 - 10 = 0.0 +10.0 - 0.0 = 10.0 +10.0 - 10.0 = 0.0 +10.0 - 3.14 = 6.859999999999999 +10.0 - '0' - TypeError Unsupported operand type string for subtraction +10.0 - '10' - TypeError Unsupported operand type string for subtraction +10.0 - '010' - TypeError Unsupported operand type string for subtraction +10.0 - '10 elephants' - TypeError Unsupported operand type string for subtraction +10.0 - 'foo' - TypeError Unsupported operand type string for subtraction +10.0 - array ( ) - TypeError Unsupported operand type array for subtraction +10.0 - array ( 0 => 1 ) - TypeError Unsupported operand type array for subtraction +10.0 - array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for subtraction +10.0 - array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for subtraction +10.0 - array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for subtraction +10.0 - (object) array ( ) - TypeError Unsupported operand type object for subtraction +10.0 - (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for subtraction +10.0 - (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for subtraction +10.0 - DateTime - TypeError Unsupported operand type object for subtraction +10.0 - resource - TypeError Unsupported operand type resource for subtraction +10.0 - NULL - TypeError Unsupported operand type null for subtraction +3.14 - false - TypeError Unsupported operand type bool for subtraction +3.14 - true - TypeError Unsupported operand type bool for subtraction +3.14 - 0 = 3.14 +3.14 - 10 = -6.859999999999999 +3.14 - 0.0 = 3.14 +3.14 - 10.0 = -6.859999999999999 +3.14 - 3.14 = 0.0 +3.14 - '0' - TypeError Unsupported operand type string for subtraction +3.14 - '10' - TypeError Unsupported operand type string for subtraction +3.14 - '010' - TypeError Unsupported operand type string for subtraction +3.14 - '10 elephants' - TypeError Unsupported operand type string for subtraction +3.14 - 'foo' - TypeError Unsupported operand type string for subtraction +3.14 - array ( ) - TypeError Unsupported operand type array for subtraction +3.14 - array ( 0 => 1 ) - TypeError Unsupported operand type array for subtraction +3.14 - array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for subtraction +3.14 - array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for subtraction +3.14 - array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for subtraction +3.14 - (object) array ( ) - TypeError Unsupported operand type object for subtraction +3.14 - (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for subtraction +3.14 - (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for subtraction +3.14 - DateTime - TypeError Unsupported operand type object for subtraction +3.14 - resource - TypeError Unsupported operand type resource for subtraction +3.14 - NULL - TypeError Unsupported operand type null for subtraction +'0' - false - TypeError Unsupported operand type string for subtraction +'0' - true - TypeError Unsupported operand type string for subtraction +'0' - 0 - TypeError Unsupported operand type string for subtraction +'0' - 10 - TypeError Unsupported operand type string for subtraction +'0' - 0.0 - TypeError Unsupported operand type string for subtraction +'0' - 10.0 - TypeError Unsupported operand type string for subtraction +'0' - 3.14 - TypeError Unsupported operand type string for subtraction +'0' - '0' - TypeError Unsupported operand type string for subtraction +'0' - '10' - TypeError Unsupported operand type string for subtraction +'0' - '010' - TypeError Unsupported operand type string for subtraction +'0' - '10 elephants' - TypeError Unsupported operand type string for subtraction +'0' - 'foo' - TypeError Unsupported operand type string for subtraction +'0' - array ( ) - TypeError Unsupported operand type string for subtraction +'0' - array ( 0 => 1 ) - TypeError Unsupported operand type string for subtraction +'0' - array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type string for subtraction +'0' - array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type string for subtraction +'0' - array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type string for subtraction +'0' - (object) array ( ) - TypeError Unsupported operand type string for subtraction +'0' - (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type string for subtraction +'0' - (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type string for subtraction +'0' - DateTime - TypeError Unsupported operand type string for subtraction +'0' - resource - TypeError Unsupported operand type string for subtraction +'0' - NULL - TypeError Unsupported operand type string for subtraction +'10' - false - TypeError Unsupported operand type string for subtraction +'10' - true - TypeError Unsupported operand type string for subtraction +'10' - 0 - TypeError Unsupported operand type string for subtraction +'10' - 10 - TypeError Unsupported operand type string for subtraction +'10' - 0.0 - TypeError Unsupported operand type string for subtraction +'10' - 10.0 - TypeError Unsupported operand type string for subtraction +'10' - 3.14 - TypeError Unsupported operand type string for subtraction +'10' - '0' - TypeError Unsupported operand type string for subtraction +'10' - '10' - TypeError Unsupported operand type string for subtraction +'10' - '010' - TypeError Unsupported operand type string for subtraction +'10' - '10 elephants' - TypeError Unsupported operand type string for subtraction +'10' - 'foo' - TypeError Unsupported operand type string for subtraction +'10' - array ( ) - TypeError Unsupported operand type string for subtraction +'10' - array ( 0 => 1 ) - TypeError Unsupported operand type string for subtraction +'10' - array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type string for subtraction +'10' - array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type string for subtraction +'10' - array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type string for subtraction +'10' - (object) array ( ) - TypeError Unsupported operand type string for subtraction +'10' - (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type string for subtraction +'10' - (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type string for subtraction +'10' - DateTime - TypeError Unsupported operand type string for subtraction +'10' - resource - TypeError Unsupported operand type string for subtraction +'10' - NULL - TypeError Unsupported operand type string for subtraction +'010' - false - TypeError Unsupported operand type string for subtraction +'010' - true - TypeError Unsupported operand type string for subtraction +'010' - 0 - TypeError Unsupported operand type string for subtraction +'010' - 10 - TypeError Unsupported operand type string for subtraction +'010' - 0.0 - TypeError Unsupported operand type string for subtraction +'010' - 10.0 - TypeError Unsupported operand type string for subtraction +'010' - 3.14 - TypeError Unsupported operand type string for subtraction +'010' - '0' - TypeError Unsupported operand type string for subtraction +'010' - '10' - TypeError Unsupported operand type string for subtraction +'010' - '010' - TypeError Unsupported operand type string for subtraction +'010' - '10 elephants' - TypeError Unsupported operand type string for subtraction +'010' - 'foo' - TypeError Unsupported operand type string for subtraction +'010' - array ( ) - TypeError Unsupported operand type string for subtraction +'010' - array ( 0 => 1 ) - TypeError Unsupported operand type string for subtraction +'010' - array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type string for subtraction +'010' - array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type string for subtraction +'010' - array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type string for subtraction +'010' - (object) array ( ) - TypeError Unsupported operand type string for subtraction +'010' - (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type string for subtraction +'010' - (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type string for subtraction +'010' - DateTime - TypeError Unsupported operand type string for subtraction +'010' - resource - TypeError Unsupported operand type string for subtraction +'010' - NULL - TypeError Unsupported operand type string for subtraction +'10 elephants' - false - TypeError Unsupported operand type string for subtraction +'10 elephants' - true - TypeError Unsupported operand type string for subtraction +'10 elephants' - 0 - TypeError Unsupported operand type string for subtraction +'10 elephants' - 10 - TypeError Unsupported operand type string for subtraction +'10 elephants' - 0.0 - TypeError Unsupported operand type string for subtraction +'10 elephants' - 10.0 - TypeError Unsupported operand type string for subtraction +'10 elephants' - 3.14 - TypeError Unsupported operand type string for subtraction +'10 elephants' - '0' - TypeError Unsupported operand type string for subtraction +'10 elephants' - '10' - TypeError Unsupported operand type string for subtraction +'10 elephants' - '010' - TypeError Unsupported operand type string for subtraction +'10 elephants' - '10 elephants' - TypeError Unsupported operand type string for subtraction +'10 elephants' - 'foo' - TypeError Unsupported operand type string for subtraction +'10 elephants' - array ( ) - TypeError Unsupported operand type string for subtraction +'10 elephants' - array ( 0 => 1 ) - TypeError Unsupported operand type string for subtraction +'10 elephants' - array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type string for subtraction +'10 elephants' - array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type string for subtraction +'10 elephants' - array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type string for subtraction +'10 elephants' - (object) array ( ) - TypeError Unsupported operand type string for subtraction +'10 elephants' - (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type string for subtraction +'10 elephants' - (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type string for subtraction +'10 elephants' - DateTime - TypeError Unsupported operand type string for subtraction +'10 elephants' - resource - TypeError Unsupported operand type string for subtraction +'10 elephants' - NULL - TypeError Unsupported operand type string for subtraction +'foo' - false - TypeError Unsupported operand type string for subtraction +'foo' - true - TypeError Unsupported operand type string for subtraction +'foo' - 0 - TypeError Unsupported operand type string for subtraction +'foo' - 10 - TypeError Unsupported operand type string for subtraction +'foo' - 0.0 - TypeError Unsupported operand type string for subtraction +'foo' - 10.0 - TypeError Unsupported operand type string for subtraction +'foo' - 3.14 - TypeError Unsupported operand type string for subtraction +'foo' - '0' - TypeError Unsupported operand type string for subtraction +'foo' - '10' - TypeError Unsupported operand type string for subtraction +'foo' - '010' - TypeError Unsupported operand type string for subtraction +'foo' - '10 elephants' - TypeError Unsupported operand type string for subtraction +'foo' - 'foo' - TypeError Unsupported operand type string for subtraction +'foo' - array ( ) - TypeError Unsupported operand type string for subtraction +'foo' - array ( 0 => 1 ) - TypeError Unsupported operand type string for subtraction +'foo' - array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type string for subtraction +'foo' - array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type string for subtraction +'foo' - array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type string for subtraction +'foo' - (object) array ( ) - TypeError Unsupported operand type string for subtraction +'foo' - (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type string for subtraction +'foo' - (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type string for subtraction +'foo' - DateTime - TypeError Unsupported operand type string for subtraction +'foo' - resource - TypeError Unsupported operand type string for subtraction +'foo' - NULL - TypeError Unsupported operand type string for subtraction +array ( ) - false - TypeError Unsupported operand type array for subtraction +array ( ) - true - TypeError Unsupported operand type array for subtraction +array ( ) - 0 - TypeError Unsupported operand type array for subtraction +array ( ) - 10 - TypeError Unsupported operand type array for subtraction +array ( ) - 0.0 - TypeError Unsupported operand type array for subtraction +array ( ) - 10.0 - TypeError Unsupported operand type array for subtraction +array ( ) - 3.14 - TypeError Unsupported operand type array for subtraction +array ( ) - '0' - TypeError Unsupported operand type array for subtraction +array ( ) - '10' - TypeError Unsupported operand type array for subtraction +array ( ) - '010' - TypeError Unsupported operand type array for subtraction +array ( ) - '10 elephants' - TypeError Unsupported operand type array for subtraction +array ( ) - 'foo' - TypeError Unsupported operand type array for subtraction +array ( ) - array ( ) - TypeError Unsupported operand type array for subtraction +array ( ) - array ( 0 => 1 ) - TypeError Unsupported operand type array for subtraction +array ( ) - array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for subtraction +array ( ) - array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for subtraction +array ( ) - array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for subtraction +array ( ) - (object) array ( ) - TypeError Unsupported operand type array for subtraction +array ( ) - (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for subtraction +array ( ) - (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for subtraction +array ( ) - DateTime - TypeError Unsupported operand type array for subtraction +array ( ) - resource - TypeError Unsupported operand type array for subtraction +array ( ) - NULL - TypeError Unsupported operand type array for subtraction +array ( 0 => 1 ) - false - TypeError Unsupported operand type array for subtraction +array ( 0 => 1 ) - true - TypeError Unsupported operand type array for subtraction +array ( 0 => 1 ) - 0 - TypeError Unsupported operand type array for subtraction +array ( 0 => 1 ) - 10 - TypeError Unsupported operand type array for subtraction +array ( 0 => 1 ) - 0.0 - TypeError Unsupported operand type array for subtraction +array ( 0 => 1 ) - 10.0 - TypeError Unsupported operand type array for subtraction +array ( 0 => 1 ) - 3.14 - TypeError Unsupported operand type array for subtraction +array ( 0 => 1 ) - '0' - TypeError Unsupported operand type array for subtraction +array ( 0 => 1 ) - '10' - TypeError Unsupported operand type array for subtraction +array ( 0 => 1 ) - '010' - TypeError Unsupported operand type array for subtraction +array ( 0 => 1 ) - '10 elephants' - TypeError Unsupported operand type array for subtraction +array ( 0 => 1 ) - 'foo' - TypeError Unsupported operand type array for subtraction +array ( 0 => 1 ) - array ( ) - TypeError Unsupported operand type array for subtraction +array ( 0 => 1 ) - array ( 0 => 1 ) - TypeError Unsupported operand type array for subtraction +array ( 0 => 1 ) - array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for subtraction +array ( 0 => 1 ) - array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for subtraction +array ( 0 => 1 ) - array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for subtraction +array ( 0 => 1 ) - (object) array ( ) - TypeError Unsupported operand type array for subtraction +array ( 0 => 1 ) - (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for subtraction +array ( 0 => 1 ) - (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for subtraction +array ( 0 => 1 ) - DateTime - TypeError Unsupported operand type array for subtraction +array ( 0 => 1 ) - resource - TypeError Unsupported operand type array for subtraction +array ( 0 => 1 ) - NULL - TypeError Unsupported operand type array for subtraction +array ( 0 => 1, 1 => 100 ) - false - TypeError Unsupported operand type array for subtraction +array ( 0 => 1, 1 => 100 ) - true - TypeError Unsupported operand type array for subtraction +array ( 0 => 1, 1 => 100 ) - 0 - TypeError Unsupported operand type array for subtraction +array ( 0 => 1, 1 => 100 ) - 10 - TypeError Unsupported operand type array for subtraction +array ( 0 => 1, 1 => 100 ) - 0.0 - TypeError Unsupported operand type array for subtraction +array ( 0 => 1, 1 => 100 ) - 10.0 - TypeError Unsupported operand type array for subtraction +array ( 0 => 1, 1 => 100 ) - 3.14 - TypeError Unsupported operand type array for subtraction +array ( 0 => 1, 1 => 100 ) - '0' - TypeError Unsupported operand type array for subtraction +array ( 0 => 1, 1 => 100 ) - '10' - TypeError Unsupported operand type array for subtraction +array ( 0 => 1, 1 => 100 ) - '010' - TypeError Unsupported operand type array for subtraction +array ( 0 => 1, 1 => 100 ) - '10 elephants' - TypeError Unsupported operand type array for subtraction +array ( 0 => 1, 1 => 100 ) - 'foo' - TypeError Unsupported operand type array for subtraction +array ( 0 => 1, 1 => 100 ) - array ( ) - TypeError Unsupported operand type array for subtraction +array ( 0 => 1, 1 => 100 ) - array ( 0 => 1 ) - TypeError Unsupported operand type array for subtraction +array ( 0 => 1, 1 => 100 ) - array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for subtraction +array ( 0 => 1, 1 => 100 ) - array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for subtraction +array ( 0 => 1, 1 => 100 ) - array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for subtraction +array ( 0 => 1, 1 => 100 ) - (object) array ( ) - TypeError Unsupported operand type array for subtraction +array ( 0 => 1, 1 => 100 ) - (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for subtraction +array ( 0 => 1, 1 => 100 ) - (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for subtraction +array ( 0 => 1, 1 => 100 ) - DateTime - TypeError Unsupported operand type array for subtraction +array ( 0 => 1, 1 => 100 ) - resource - TypeError Unsupported operand type array for subtraction +array ( 0 => 1, 1 => 100 ) - NULL - TypeError Unsupported operand type array for subtraction +array ( 'foo' => 1, 'bar' => 2 ) - false - TypeError Unsupported operand type array for subtraction +array ( 'foo' => 1, 'bar' => 2 ) - true - TypeError Unsupported operand type array for subtraction +array ( 'foo' => 1, 'bar' => 2 ) - 0 - TypeError Unsupported operand type array for subtraction +array ( 'foo' => 1, 'bar' => 2 ) - 10 - TypeError Unsupported operand type array for subtraction +array ( 'foo' => 1, 'bar' => 2 ) - 0.0 - TypeError Unsupported operand type array for subtraction +array ( 'foo' => 1, 'bar' => 2 ) - 10.0 - TypeError Unsupported operand type array for subtraction +array ( 'foo' => 1, 'bar' => 2 ) - 3.14 - TypeError Unsupported operand type array for subtraction +array ( 'foo' => 1, 'bar' => 2 ) - '0' - TypeError Unsupported operand type array for subtraction +array ( 'foo' => 1, 'bar' => 2 ) - '10' - TypeError Unsupported operand type array for subtraction +array ( 'foo' => 1, 'bar' => 2 ) - '010' - TypeError Unsupported operand type array for subtraction +array ( 'foo' => 1, 'bar' => 2 ) - '10 elephants' - TypeError Unsupported operand type array for subtraction +array ( 'foo' => 1, 'bar' => 2 ) - 'foo' - TypeError Unsupported operand type array for subtraction +array ( 'foo' => 1, 'bar' => 2 ) - array ( ) - TypeError Unsupported operand type array for subtraction +array ( 'foo' => 1, 'bar' => 2 ) - array ( 0 => 1 ) - TypeError Unsupported operand type array for subtraction +array ( 'foo' => 1, 'bar' => 2 ) - array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for subtraction +array ( 'foo' => 1, 'bar' => 2 ) - array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for subtraction +array ( 'foo' => 1, 'bar' => 2 ) - array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for subtraction +array ( 'foo' => 1, 'bar' => 2 ) - (object) array ( ) - TypeError Unsupported operand type array for subtraction +array ( 'foo' => 1, 'bar' => 2 ) - (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for subtraction +array ( 'foo' => 1, 'bar' => 2 ) - (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for subtraction +array ( 'foo' => 1, 'bar' => 2 ) - DateTime - TypeError Unsupported operand type array for subtraction +array ( 'foo' => 1, 'bar' => 2 ) - resource - TypeError Unsupported operand type array for subtraction +array ( 'foo' => 1, 'bar' => 2 ) - NULL - TypeError Unsupported operand type array for subtraction +array ( 'bar' => 1, 'foo' => 2 ) - false - TypeError Unsupported operand type array for subtraction +array ( 'bar' => 1, 'foo' => 2 ) - true - TypeError Unsupported operand type array for subtraction +array ( 'bar' => 1, 'foo' => 2 ) - 0 - TypeError Unsupported operand type array for subtraction +array ( 'bar' => 1, 'foo' => 2 ) - 10 - TypeError Unsupported operand type array for subtraction +array ( 'bar' => 1, 'foo' => 2 ) - 0.0 - TypeError Unsupported operand type array for subtraction +array ( 'bar' => 1, 'foo' => 2 ) - 10.0 - TypeError Unsupported operand type array for subtraction +array ( 'bar' => 1, 'foo' => 2 ) - 3.14 - TypeError Unsupported operand type array for subtraction +array ( 'bar' => 1, 'foo' => 2 ) - '0' - TypeError Unsupported operand type array for subtraction +array ( 'bar' => 1, 'foo' => 2 ) - '10' - TypeError Unsupported operand type array for subtraction +array ( 'bar' => 1, 'foo' => 2 ) - '010' - TypeError Unsupported operand type array for subtraction +array ( 'bar' => 1, 'foo' => 2 ) - '10 elephants' - TypeError Unsupported operand type array for subtraction +array ( 'bar' => 1, 'foo' => 2 ) - 'foo' - TypeError Unsupported operand type array for subtraction +array ( 'bar' => 1, 'foo' => 2 ) - array ( ) - TypeError Unsupported operand type array for subtraction +array ( 'bar' => 1, 'foo' => 2 ) - array ( 0 => 1 ) - TypeError Unsupported operand type array for subtraction +array ( 'bar' => 1, 'foo' => 2 ) - array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for subtraction +array ( 'bar' => 1, 'foo' => 2 ) - array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for subtraction +array ( 'bar' => 1, 'foo' => 2 ) - array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for subtraction +array ( 'bar' => 1, 'foo' => 2 ) - (object) array ( ) - TypeError Unsupported operand type array for subtraction +array ( 'bar' => 1, 'foo' => 2 ) - (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for subtraction +array ( 'bar' => 1, 'foo' => 2 ) - (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for subtraction +array ( 'bar' => 1, 'foo' => 2 ) - DateTime - TypeError Unsupported operand type array for subtraction +array ( 'bar' => 1, 'foo' => 2 ) - resource - TypeError Unsupported operand type array for subtraction +array ( 'bar' => 1, 'foo' => 2 ) - NULL - TypeError Unsupported operand type array for subtraction +(object) array ( ) - false - TypeError Unsupported operand type object for subtraction +(object) array ( ) - true - TypeError Unsupported operand type object for subtraction +(object) array ( ) - 0 - TypeError Unsupported operand type object for subtraction +(object) array ( ) - 10 - TypeError Unsupported operand type object for subtraction +(object) array ( ) - 0.0 - TypeError Unsupported operand type object for subtraction +(object) array ( ) - 10.0 - TypeError Unsupported operand type object for subtraction +(object) array ( ) - 3.14 - TypeError Unsupported operand type object for subtraction +(object) array ( ) - '0' - TypeError Unsupported operand type object for subtraction +(object) array ( ) - '10' - TypeError Unsupported operand type object for subtraction +(object) array ( ) - '010' - TypeError Unsupported operand type object for subtraction +(object) array ( ) - '10 elephants' - TypeError Unsupported operand type object for subtraction +(object) array ( ) - 'foo' - TypeError Unsupported operand type object for subtraction +(object) array ( ) - array ( ) - TypeError Unsupported operand type object for subtraction +(object) array ( ) - array ( 0 => 1 ) - TypeError Unsupported operand type object for subtraction +(object) array ( ) - array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type object for subtraction +(object) array ( ) - array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for subtraction +(object) array ( ) - array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for subtraction +(object) array ( ) - (object) array ( ) - TypeError Unsupported operand type object for subtraction +(object) array ( ) - (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for subtraction +(object) array ( ) - (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for subtraction +(object) array ( ) - DateTime - TypeError Unsupported operand type object for subtraction +(object) array ( ) - resource - TypeError Unsupported operand type object for subtraction +(object) array ( ) - NULL - TypeError Unsupported operand type object for subtraction +(object) array ( 'foo' => 1, 'bar' => 2 ) - false - TypeError Unsupported operand type object for subtraction +(object) array ( 'foo' => 1, 'bar' => 2 ) - true - TypeError Unsupported operand type object for subtraction +(object) array ( 'foo' => 1, 'bar' => 2 ) - 0 - TypeError Unsupported operand type object for subtraction +(object) array ( 'foo' => 1, 'bar' => 2 ) - 10 - TypeError Unsupported operand type object for subtraction +(object) array ( 'foo' => 1, 'bar' => 2 ) - 0.0 - TypeError Unsupported operand type object for subtraction +(object) array ( 'foo' => 1, 'bar' => 2 ) - 10.0 - TypeError Unsupported operand type object for subtraction +(object) array ( 'foo' => 1, 'bar' => 2 ) - 3.14 - TypeError Unsupported operand type object for subtraction +(object) array ( 'foo' => 1, 'bar' => 2 ) - '0' - TypeError Unsupported operand type object for subtraction +(object) array ( 'foo' => 1, 'bar' => 2 ) - '10' - TypeError Unsupported operand type object for subtraction +(object) array ( 'foo' => 1, 'bar' => 2 ) - '010' - TypeError Unsupported operand type object for subtraction +(object) array ( 'foo' => 1, 'bar' => 2 ) - '10 elephants' - TypeError Unsupported operand type object for subtraction +(object) array ( 'foo' => 1, 'bar' => 2 ) - 'foo' - TypeError Unsupported operand type object for subtraction +(object) array ( 'foo' => 1, 'bar' => 2 ) - array ( ) - TypeError Unsupported operand type object for subtraction +(object) array ( 'foo' => 1, 'bar' => 2 ) - array ( 0 => 1 ) - TypeError Unsupported operand type object for subtraction +(object) array ( 'foo' => 1, 'bar' => 2 ) - array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type object for subtraction +(object) array ( 'foo' => 1, 'bar' => 2 ) - array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for subtraction +(object) array ( 'foo' => 1, 'bar' => 2 ) - array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for subtraction +(object) array ( 'foo' => 1, 'bar' => 2 ) - (object) array ( ) - TypeError Unsupported operand type object for subtraction +(object) array ( 'foo' => 1, 'bar' => 2 ) - (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for subtraction +(object) array ( 'foo' => 1, 'bar' => 2 ) - (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for subtraction +(object) array ( 'foo' => 1, 'bar' => 2 ) - DateTime - TypeError Unsupported operand type object for subtraction +(object) array ( 'foo' => 1, 'bar' => 2 ) - resource - TypeError Unsupported operand type object for subtraction +(object) array ( 'foo' => 1, 'bar' => 2 ) - NULL - TypeError Unsupported operand type object for subtraction +(object) array ( 'bar' => 1, 'foo' => 2 ) - false - TypeError Unsupported operand type object for subtraction +(object) array ( 'bar' => 1, 'foo' => 2 ) - true - TypeError Unsupported operand type object for subtraction +(object) array ( 'bar' => 1, 'foo' => 2 ) - 0 - TypeError Unsupported operand type object for subtraction +(object) array ( 'bar' => 1, 'foo' => 2 ) - 10 - TypeError Unsupported operand type object for subtraction +(object) array ( 'bar' => 1, 'foo' => 2 ) - 0.0 - TypeError Unsupported operand type object for subtraction +(object) array ( 'bar' => 1, 'foo' => 2 ) - 10.0 - TypeError Unsupported operand type object for subtraction +(object) array ( 'bar' => 1, 'foo' => 2 ) - 3.14 - TypeError Unsupported operand type object for subtraction +(object) array ( 'bar' => 1, 'foo' => 2 ) - '0' - TypeError Unsupported operand type object for subtraction +(object) array ( 'bar' => 1, 'foo' => 2 ) - '10' - TypeError Unsupported operand type object for subtraction +(object) array ( 'bar' => 1, 'foo' => 2 ) - '010' - TypeError Unsupported operand type object for subtraction +(object) array ( 'bar' => 1, 'foo' => 2 ) - '10 elephants' - TypeError Unsupported operand type object for subtraction +(object) array ( 'bar' => 1, 'foo' => 2 ) - 'foo' - TypeError Unsupported operand type object for subtraction +(object) array ( 'bar' => 1, 'foo' => 2 ) - array ( ) - TypeError Unsupported operand type object for subtraction +(object) array ( 'bar' => 1, 'foo' => 2 ) - array ( 0 => 1 ) - TypeError Unsupported operand type object for subtraction +(object) array ( 'bar' => 1, 'foo' => 2 ) - array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type object for subtraction +(object) array ( 'bar' => 1, 'foo' => 2 ) - array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for subtraction +(object) array ( 'bar' => 1, 'foo' => 2 ) - array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for subtraction +(object) array ( 'bar' => 1, 'foo' => 2 ) - (object) array ( ) - TypeError Unsupported operand type object for subtraction +(object) array ( 'bar' => 1, 'foo' => 2 ) - (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for subtraction +(object) array ( 'bar' => 1, 'foo' => 2 ) - (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for subtraction +(object) array ( 'bar' => 1, 'foo' => 2 ) - DateTime - TypeError Unsupported operand type object for subtraction +(object) array ( 'bar' => 1, 'foo' => 2 ) - resource - TypeError Unsupported operand type object for subtraction +(object) array ( 'bar' => 1, 'foo' => 2 ) - NULL - TypeError Unsupported operand type object for subtraction +DateTime - false - TypeError Unsupported operand type object for subtraction +DateTime - true - TypeError Unsupported operand type object for subtraction +DateTime - 0 - TypeError Unsupported operand type object for subtraction +DateTime - 10 - TypeError Unsupported operand type object for subtraction +DateTime - 0.0 - TypeError Unsupported operand type object for subtraction +DateTime - 10.0 - TypeError Unsupported operand type object for subtraction +DateTime - 3.14 - TypeError Unsupported operand type object for subtraction +DateTime - '0' - TypeError Unsupported operand type object for subtraction +DateTime - '10' - TypeError Unsupported operand type object for subtraction +DateTime - '010' - TypeError Unsupported operand type object for subtraction +DateTime - '10 elephants' - TypeError Unsupported operand type object for subtraction +DateTime - 'foo' - TypeError Unsupported operand type object for subtraction +DateTime - array ( ) - TypeError Unsupported operand type object for subtraction +DateTime - array ( 0 => 1 ) - TypeError Unsupported operand type object for subtraction +DateTime - array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type object for subtraction +DateTime - array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for subtraction +DateTime - array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for subtraction +DateTime - (object) array ( ) - TypeError Unsupported operand type object for subtraction +DateTime - (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for subtraction +DateTime - (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for subtraction +DateTime - DateTime - TypeError Unsupported operand type object for subtraction +DateTime - resource - TypeError Unsupported operand type object for subtraction +DateTime - NULL - TypeError Unsupported operand type object for subtraction +resource - false - TypeError Unsupported operand type resource for subtraction +resource - true - TypeError Unsupported operand type resource for subtraction +resource - 0 - TypeError Unsupported operand type resource for subtraction +resource - 10 - TypeError Unsupported operand type resource for subtraction +resource - 0.0 - TypeError Unsupported operand type resource for subtraction +resource - 10.0 - TypeError Unsupported operand type resource for subtraction +resource - 3.14 - TypeError Unsupported operand type resource for subtraction +resource - '0' - TypeError Unsupported operand type resource for subtraction +resource - '10' - TypeError Unsupported operand type resource for subtraction +resource - '010' - TypeError Unsupported operand type resource for subtraction +resource - '10 elephants' - TypeError Unsupported operand type resource for subtraction +resource - 'foo' - TypeError Unsupported operand type resource for subtraction +resource - array ( ) - TypeError Unsupported operand type resource for subtraction +resource - array ( 0 => 1 ) - TypeError Unsupported operand type resource for subtraction +resource - array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type resource for subtraction +resource - array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type resource for subtraction +resource - array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type resource for subtraction +resource - (object) array ( ) - TypeError Unsupported operand type resource for subtraction +resource - (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type resource for subtraction +resource - (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type resource for subtraction +resource - DateTime - TypeError Unsupported operand type resource for subtraction +resource - resource - TypeError Unsupported operand type resource for subtraction +resource - NULL - TypeError Unsupported operand type resource for subtraction +NULL - false - TypeError Unsupported operand type null for subtraction +NULL - true - TypeError Unsupported operand type null for subtraction +NULL - 0 - TypeError Unsupported operand type null for subtraction +NULL - 10 - TypeError Unsupported operand type null for subtraction +NULL - 0.0 - TypeError Unsupported operand type null for subtraction +NULL - 10.0 - TypeError Unsupported operand type null for subtraction +NULL - 3.14 - TypeError Unsupported operand type null for subtraction +NULL - '0' - TypeError Unsupported operand type null for subtraction +NULL - '10' - TypeError Unsupported operand type null for subtraction +NULL - '010' - TypeError Unsupported operand type null for subtraction +NULL - '10 elephants' - TypeError Unsupported operand type null for subtraction +NULL - 'foo' - TypeError Unsupported operand type null for subtraction +NULL - array ( ) - TypeError Unsupported operand type null for subtraction +NULL - array ( 0 => 1 ) - TypeError Unsupported operand type null for subtraction +NULL - array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type null for subtraction +NULL - array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type null for subtraction +NULL - array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type null for subtraction +NULL - (object) array ( ) - TypeError Unsupported operand type null for subtraction +NULL - (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type null for subtraction +NULL - (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type null for subtraction +NULL - DateTime - TypeError Unsupported operand type null for subtraction +NULL - resource - TypeError Unsupported operand type null for subtraction +NULL - NULL - TypeError Unsupported operand type null for subtraction \ No newline at end of file diff --git a/Zend/tests/operators/bitwise/and.phpt b/Zend/tests/operators/bitwise/and.phpt new file mode 100644 index 000000000000..5747d4e6ba85 --- /dev/null +++ b/Zend/tests/operators/bitwise/and.phpt @@ -0,0 +1,540 @@ +--TEST-- +bitwise and operator +--FILE-- + 1 ) = 0 +false & array ( 0 => 1, 1 => 100 ) = 0 +false & array ( 'foo' => 1, 'bar' => 2 ) = 0 +false & array ( 'bar' => 1, 'foo' => 2 ) = 0 +false & (object) array ( ) = 0 - Notice Object of class stdClass could not be converted to int +false & (object) array ( 'foo' => 1, 'bar' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +false & (object) array ( 'bar' => 1, 'foo' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +false & DateTime = 0 - Notice Object of class DateTime could not be converted to int +false & resource = 0 +false & NULL = 0 +true & false = 0 +true & true = 1 +true & 0 = 0 +true & 10 = 0 +true & 0.0 = 0 +true & 10.0 = 0 +true & 3.14 = 1 +true & '0' = 0 +true & '10' = 0 +true & '010' = 0 +true & '10 elephants' = 0 - Notice A non well formed numeric value encountered +true & 'foo' = 0 - Warning A non-numeric value encountered +true & array ( ) = 0 +true & array ( 0 => 1 ) = 1 +true & array ( 0 => 1, 1 => 100 ) = 1 +true & array ( 'foo' => 1, 'bar' => 2 ) = 1 +true & array ( 'bar' => 1, 'foo' => 2 ) = 1 +true & (object) array ( ) = 1 - Notice Object of class stdClass could not be converted to int +true & (object) array ( 'foo' => 1, 'bar' => 2 ) = 1 - Notice Object of class stdClass could not be converted to int +true & (object) array ( 'bar' => 1, 'foo' => 2 ) = 1 - Notice Object of class stdClass could not be converted to int +true & DateTime = 1 - Notice Object of class DateTime could not be converted to int +true & resource = 0 +true & NULL = 0 +0 & false = 0 +0 & true = 0 +0 & 0 = 0 +0 & 10 = 0 +0 & 0.0 = 0 +0 & 10.0 = 0 +0 & 3.14 = 0 +0 & '0' = 0 +0 & '10' = 0 +0 & '010' = 0 +0 & '10 elephants' = 0 - Notice A non well formed numeric value encountered +0 & 'foo' = 0 - Warning A non-numeric value encountered +0 & array ( ) = 0 +0 & array ( 0 => 1 ) = 0 +0 & array ( 0 => 1, 1 => 100 ) = 0 +0 & array ( 'foo' => 1, 'bar' => 2 ) = 0 +0 & array ( 'bar' => 1, 'foo' => 2 ) = 0 +0 & (object) array ( ) = 0 - Notice Object of class stdClass could not be converted to int +0 & (object) array ( 'foo' => 1, 'bar' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +0 & (object) array ( 'bar' => 1, 'foo' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +0 & DateTime = 0 - Notice Object of class DateTime could not be converted to int +0 & resource = 0 +0 & NULL = 0 +10 & false = 0 +10 & true = 0 +10 & 0 = 0 +10 & 10 = 10 +10 & 0.0 = 0 +10 & 10.0 = 10 +10 & 3.14 = 2 +10 & '0' = 0 +10 & '10' = 10 +10 & '010' = 10 +10 & '10 elephants' = 10 - Notice A non well formed numeric value encountered +10 & 'foo' = 0 - Warning A non-numeric value encountered +10 & array ( ) = 0 +10 & array ( 0 => 1 ) = 0 +10 & array ( 0 => 1, 1 => 100 ) = 0 +10 & array ( 'foo' => 1, 'bar' => 2 ) = 0 +10 & array ( 'bar' => 1, 'foo' => 2 ) = 0 +10 & (object) array ( ) = 0 - Notice Object of class stdClass could not be converted to int +10 & (object) array ( 'foo' => 1, 'bar' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +10 & (object) array ( 'bar' => 1, 'foo' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +10 & DateTime = 0 - Notice Object of class DateTime could not be converted to int +10 & resource = 2 +10 & NULL = 0 +0.0 & false = 0 +0.0 & true = 0 +0.0 & 0 = 0 +0.0 & 10 = 0 +0.0 & 0.0 = 0 +0.0 & 10.0 = 0 +0.0 & 3.14 = 0 +0.0 & '0' = 0 +0.0 & '10' = 0 +0.0 & '010' = 0 +0.0 & '10 elephants' = 0 - Notice A non well formed numeric value encountered +0.0 & 'foo' = 0 - Warning A non-numeric value encountered +0.0 & array ( ) = 0 +0.0 & array ( 0 => 1 ) = 0 +0.0 & array ( 0 => 1, 1 => 100 ) = 0 +0.0 & array ( 'foo' => 1, 'bar' => 2 ) = 0 +0.0 & array ( 'bar' => 1, 'foo' => 2 ) = 0 +0.0 & (object) array ( ) = 0 - Notice Object of class stdClass could not be converted to int +0.0 & (object) array ( 'foo' => 1, 'bar' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +0.0 & (object) array ( 'bar' => 1, 'foo' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +0.0 & DateTime = 0 - Notice Object of class DateTime could not be converted to int +0.0 & resource = 0 +0.0 & NULL = 0 +10.0 & false = 0 +10.0 & true = 0 +10.0 & 0 = 0 +10.0 & 10 = 10 +10.0 & 0.0 = 0 +10.0 & 10.0 = 10 +10.0 & 3.14 = 2 +10.0 & '0' = 0 +10.0 & '10' = 10 +10.0 & '010' = 10 +10.0 & '10 elephants' = 10 - Notice A non well formed numeric value encountered +10.0 & 'foo' = 0 - Warning A non-numeric value encountered +10.0 & array ( ) = 0 +10.0 & array ( 0 => 1 ) = 0 +10.0 & array ( 0 => 1, 1 => 100 ) = 0 +10.0 & array ( 'foo' => 1, 'bar' => 2 ) = 0 +10.0 & array ( 'bar' => 1, 'foo' => 2 ) = 0 +10.0 & (object) array ( ) = 0 - Notice Object of class stdClass could not be converted to int +10.0 & (object) array ( 'foo' => 1, 'bar' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +10.0 & (object) array ( 'bar' => 1, 'foo' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +10.0 & DateTime = 0 - Notice Object of class DateTime could not be converted to int +10.0 & resource = 2 +10.0 & NULL = 0 +3.14 & false = 0 +3.14 & true = 1 +3.14 & 0 = 0 +3.14 & 10 = 2 +3.14 & 0.0 = 0 +3.14 & 10.0 = 2 +3.14 & 3.14 = 3 +3.14 & '0' = 0 +3.14 & '10' = 2 +3.14 & '010' = 2 +3.14 & '10 elephants' = 2 - Notice A non well formed numeric value encountered +3.14 & 'foo' = 0 - Warning A non-numeric value encountered +3.14 & array ( ) = 0 +3.14 & array ( 0 => 1 ) = 1 +3.14 & array ( 0 => 1, 1 => 100 ) = 1 +3.14 & array ( 'foo' => 1, 'bar' => 2 ) = 1 +3.14 & array ( 'bar' => 1, 'foo' => 2 ) = 1 +3.14 & (object) array ( ) = 1 - Notice Object of class stdClass could not be converted to int +3.14 & (object) array ( 'foo' => 1, 'bar' => 2 ) = 1 - Notice Object of class stdClass could not be converted to int +3.14 & (object) array ( 'bar' => 1, 'foo' => 2 ) = 1 - Notice Object of class stdClass could not be converted to int +3.14 & DateTime = 1 - Notice Object of class DateTime could not be converted to int +3.14 & resource = 2 +3.14 & NULL = 0 +'0' & false = 0 +'0' & true = 0 +'0' & 0 = 0 +'0' & 10 = 0 +'0' & 0.0 = 0 +'0' & 10.0 = 0 +'0' & 3.14 = 0 +'0' & '0' = base64:MA== +'0' & '10' = base64:MA== +'0' & '010' = base64:MA== +'0' & '10 elephants' = base64:MA== +'0' & 'foo' = base64:IA== +'0' & array ( ) = 0 +'0' & array ( 0 => 1 ) = 0 +'0' & array ( 0 => 1, 1 => 100 ) = 0 +'0' & array ( 'foo' => 1, 'bar' => 2 ) = 0 +'0' & array ( 'bar' => 1, 'foo' => 2 ) = 0 +'0' & (object) array ( ) = 0 - Notice Object of class stdClass could not be converted to int +'0' & (object) array ( 'foo' => 1, 'bar' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +'0' & (object) array ( 'bar' => 1, 'foo' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +'0' & DateTime = 0 - Notice Object of class DateTime could not be converted to int +'0' & resource = 0 +'0' & NULL = 0 +'10' & false = 0 +'10' & true = 0 +'10' & 0 = 0 +'10' & 10 = 10 +'10' & 0.0 = 0 +'10' & 10.0 = 10 +'10' & 3.14 = 2 +'10' & '0' = base64:MA== +'10' & '10' = base64:MTA= +'10' & '010' = base64:MDA= +'10' & '10 elephants' = base64:MTA= +'10' & 'foo' = base64:ICA= +'10' & array ( ) = 0 +'10' & array ( 0 => 1 ) = 0 +'10' & array ( 0 => 1, 1 => 100 ) = 0 +'10' & array ( 'foo' => 1, 'bar' => 2 ) = 0 +'10' & array ( 'bar' => 1, 'foo' => 2 ) = 0 +'10' & (object) array ( ) = 0 - Notice Object of class stdClass could not be converted to int +'10' & (object) array ( 'foo' => 1, 'bar' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +'10' & (object) array ( 'bar' => 1, 'foo' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +'10' & DateTime = 0 - Notice Object of class DateTime could not be converted to int +'10' & resource = 2 +'10' & NULL = 0 +'010' & false = 0 +'010' & true = 0 +'010' & 0 = 0 +'010' & 10 = 10 +'010' & 0.0 = 0 +'010' & 10.0 = 10 +'010' & 3.14 = 2 +'010' & '0' = base64:MA== +'010' & '10' = base64:MDA= +'010' & '010' = base64:MDEw +'010' & '10 elephants' = base64:MDAg +'010' & 'foo' = base64:ICEg +'010' & array ( ) = 0 +'010' & array ( 0 => 1 ) = 0 +'010' & array ( 0 => 1, 1 => 100 ) = 0 +'010' & array ( 'foo' => 1, 'bar' => 2 ) = 0 +'010' & array ( 'bar' => 1, 'foo' => 2 ) = 0 +'010' & (object) array ( ) = 0 - Notice Object of class stdClass could not be converted to int +'010' & (object) array ( 'foo' => 1, 'bar' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +'010' & (object) array ( 'bar' => 1, 'foo' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +'010' & DateTime = 0 - Notice Object of class DateTime could not be converted to int +'010' & resource = 2 +'010' & NULL = 0 +'10 elephants' & false = 0 - Notice A non well formed numeric value encountered +'10 elephants' & true = 0 - Notice A non well formed numeric value encountered +'10 elephants' & 0 = 0 - Notice A non well formed numeric value encountered +'10 elephants' & 10 = 10 - Notice A non well formed numeric value encountered +'10 elephants' & 0.0 = 0 - Notice A non well formed numeric value encountered +'10 elephants' & 10.0 = 10 - Notice A non well formed numeric value encountered +'10 elephants' & 3.14 = 2 - Notice A non well formed numeric value encountered +'10 elephants' & '0' = base64:MA== +'10 elephants' & '10' = base64:MTA= +'10 elephants' & '010' = base64:MDAg +'10 elephants' & '10 elephants' = base64:MTAgZWxlcGhhbnRz +'10 elephants' & 'foo' = base64:ICAg +'10 elephants' & array ( ) = 0 - Notice A non well formed numeric value encountered +'10 elephants' & array ( 0 => 1 ) = 0 - Notice A non well formed numeric value encountered +'10 elephants' & array ( 0 => 1, 1 => 100 ) = 0 - Notice A non well formed numeric value encountered +'10 elephants' & array ( 'foo' => 1, 'bar' => 2 ) = 0 - Notice A non well formed numeric value encountered +'10 elephants' & array ( 'bar' => 1, 'foo' => 2 ) = 0 - Notice A non well formed numeric value encountered +'10 elephants' & (object) array ( ) = 0 - Notice Object of class stdClass could not be converted to int +'10 elephants' & (object) array ( 'foo' => 1, 'bar' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +'10 elephants' & (object) array ( 'bar' => 1, 'foo' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +'10 elephants' & DateTime = 0 - Notice Object of class DateTime could not be converted to int +'10 elephants' & resource = 2 - Notice A non well formed numeric value encountered +'10 elephants' & NULL = 0 - Notice A non well formed numeric value encountered +'foo' & false = 0 - Warning A non-numeric value encountered +'foo' & true = 0 - Warning A non-numeric value encountered +'foo' & 0 = 0 - Warning A non-numeric value encountered +'foo' & 10 = 0 - Warning A non-numeric value encountered +'foo' & 0.0 = 0 - Warning A non-numeric value encountered +'foo' & 10.0 = 0 - Warning A non-numeric value encountered +'foo' & 3.14 = 0 - Warning A non-numeric value encountered +'foo' & '0' = base64:IA== +'foo' & '10' = base64:ICA= +'foo' & '010' = base64:ICEg +'foo' & '10 elephants' = base64:ICAg +'foo' & 'foo' = base64:Zm9v +'foo' & array ( ) = 0 - Warning A non-numeric value encountered +'foo' & array ( 0 => 1 ) = 0 - Warning A non-numeric value encountered +'foo' & array ( 0 => 1, 1 => 100 ) = 0 - Warning A non-numeric value encountered +'foo' & array ( 'foo' => 1, 'bar' => 2 ) = 0 - Warning A non-numeric value encountered +'foo' & array ( 'bar' => 1, 'foo' => 2 ) = 0 - Warning A non-numeric value encountered +'foo' & (object) array ( ) = 0 - Notice Object of class stdClass could not be converted to int +'foo' & (object) array ( 'foo' => 1, 'bar' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +'foo' & (object) array ( 'bar' => 1, 'foo' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +'foo' & DateTime = 0 - Notice Object of class DateTime could not be converted to int +'foo' & resource = 0 - Warning A non-numeric value encountered +'foo' & NULL = 0 - Warning A non-numeric value encountered +array ( ) & false = 0 +array ( ) & true = 0 +array ( ) & 0 = 0 +array ( ) & 10 = 0 +array ( ) & 0.0 = 0 +array ( ) & 10.0 = 0 +array ( ) & 3.14 = 0 +array ( ) & '0' = 0 +array ( ) & '10' = 0 +array ( ) & '010' = 0 +array ( ) & '10 elephants' = 0 - Notice A non well formed numeric value encountered +array ( ) & 'foo' = 0 - Warning A non-numeric value encountered +array ( ) & array ( ) = 0 +array ( ) & array ( 0 => 1 ) = 0 +array ( ) & array ( 0 => 1, 1 => 100 ) = 0 +array ( ) & array ( 'foo' => 1, 'bar' => 2 ) = 0 +array ( ) & array ( 'bar' => 1, 'foo' => 2 ) = 0 +array ( ) & (object) array ( ) = 0 - Notice Object of class stdClass could not be converted to int +array ( ) & (object) array ( 'foo' => 1, 'bar' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +array ( ) & (object) array ( 'bar' => 1, 'foo' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +array ( ) & DateTime = 0 - Notice Object of class DateTime could not be converted to int +array ( ) & resource = 0 +array ( ) & NULL = 0 +array ( 0 => 1 ) & false = 0 +array ( 0 => 1 ) & true = 1 +array ( 0 => 1 ) & 0 = 0 +array ( 0 => 1 ) & 10 = 0 +array ( 0 => 1 ) & 0.0 = 0 +array ( 0 => 1 ) & 10.0 = 0 +array ( 0 => 1 ) & 3.14 = 1 +array ( 0 => 1 ) & '0' = 0 +array ( 0 => 1 ) & '10' = 0 +array ( 0 => 1 ) & '010' = 0 +array ( 0 => 1 ) & '10 elephants' = 0 - Notice A non well formed numeric value encountered +array ( 0 => 1 ) & 'foo' = 0 - Warning A non-numeric value encountered +array ( 0 => 1 ) & array ( ) = 0 +array ( 0 => 1 ) & array ( 0 => 1 ) = 1 +array ( 0 => 1 ) & array ( 0 => 1, 1 => 100 ) = 1 +array ( 0 => 1 ) & array ( 'foo' => 1, 'bar' => 2 ) = 1 +array ( 0 => 1 ) & array ( 'bar' => 1, 'foo' => 2 ) = 1 +array ( 0 => 1 ) & (object) array ( ) = 1 - Notice Object of class stdClass could not be converted to int +array ( 0 => 1 ) & (object) array ( 'foo' => 1, 'bar' => 2 ) = 1 - Notice Object of class stdClass could not be converted to int +array ( 0 => 1 ) & (object) array ( 'bar' => 1, 'foo' => 2 ) = 1 - Notice Object of class stdClass could not be converted to int +array ( 0 => 1 ) & DateTime = 1 - Notice Object of class DateTime could not be converted to int +array ( 0 => 1 ) & resource = 0 +array ( 0 => 1 ) & NULL = 0 +array ( 0 => 1, 1 => 100 ) & false = 0 +array ( 0 => 1, 1 => 100 ) & true = 1 +array ( 0 => 1, 1 => 100 ) & 0 = 0 +array ( 0 => 1, 1 => 100 ) & 10 = 0 +array ( 0 => 1, 1 => 100 ) & 0.0 = 0 +array ( 0 => 1, 1 => 100 ) & 10.0 = 0 +array ( 0 => 1, 1 => 100 ) & 3.14 = 1 +array ( 0 => 1, 1 => 100 ) & '0' = 0 +array ( 0 => 1, 1 => 100 ) & '10' = 0 +array ( 0 => 1, 1 => 100 ) & '010' = 0 +array ( 0 => 1, 1 => 100 ) & '10 elephants' = 0 - Notice A non well formed numeric value encountered +array ( 0 => 1, 1 => 100 ) & 'foo' = 0 - Warning A non-numeric value encountered +array ( 0 => 1, 1 => 100 ) & array ( ) = 0 +array ( 0 => 1, 1 => 100 ) & array ( 0 => 1 ) = 1 +array ( 0 => 1, 1 => 100 ) & array ( 0 => 1, 1 => 100 ) = 1 +array ( 0 => 1, 1 => 100 ) & array ( 'foo' => 1, 'bar' => 2 ) = 1 +array ( 0 => 1, 1 => 100 ) & array ( 'bar' => 1, 'foo' => 2 ) = 1 +array ( 0 => 1, 1 => 100 ) & (object) array ( ) = 1 - Notice Object of class stdClass could not be converted to int +array ( 0 => 1, 1 => 100 ) & (object) array ( 'foo' => 1, 'bar' => 2 ) = 1 - Notice Object of class stdClass could not be converted to int +array ( 0 => 1, 1 => 100 ) & (object) array ( 'bar' => 1, 'foo' => 2 ) = 1 - Notice Object of class stdClass could not be converted to int +array ( 0 => 1, 1 => 100 ) & DateTime = 1 - Notice Object of class DateTime could not be converted to int +array ( 0 => 1, 1 => 100 ) & resource = 0 +array ( 0 => 1, 1 => 100 ) & NULL = 0 +array ( 'foo' => 1, 'bar' => 2 ) & false = 0 +array ( 'foo' => 1, 'bar' => 2 ) & true = 1 +array ( 'foo' => 1, 'bar' => 2 ) & 0 = 0 +array ( 'foo' => 1, 'bar' => 2 ) & 10 = 0 +array ( 'foo' => 1, 'bar' => 2 ) & 0.0 = 0 +array ( 'foo' => 1, 'bar' => 2 ) & 10.0 = 0 +array ( 'foo' => 1, 'bar' => 2 ) & 3.14 = 1 +array ( 'foo' => 1, 'bar' => 2 ) & '0' = 0 +array ( 'foo' => 1, 'bar' => 2 ) & '10' = 0 +array ( 'foo' => 1, 'bar' => 2 ) & '010' = 0 +array ( 'foo' => 1, 'bar' => 2 ) & '10 elephants' = 0 - Notice A non well formed numeric value encountered +array ( 'foo' => 1, 'bar' => 2 ) & 'foo' = 0 - Warning A non-numeric value encountered +array ( 'foo' => 1, 'bar' => 2 ) & array ( ) = 0 +array ( 'foo' => 1, 'bar' => 2 ) & array ( 0 => 1 ) = 1 +array ( 'foo' => 1, 'bar' => 2 ) & array ( 0 => 1, 1 => 100 ) = 1 +array ( 'foo' => 1, 'bar' => 2 ) & array ( 'foo' => 1, 'bar' => 2 ) = 1 +array ( 'foo' => 1, 'bar' => 2 ) & array ( 'bar' => 1, 'foo' => 2 ) = 1 +array ( 'foo' => 1, 'bar' => 2 ) & (object) array ( ) = 1 - Notice Object of class stdClass could not be converted to int +array ( 'foo' => 1, 'bar' => 2 ) & (object) array ( 'foo' => 1, 'bar' => 2 ) = 1 - Notice Object of class stdClass could not be converted to int +array ( 'foo' => 1, 'bar' => 2 ) & (object) array ( 'bar' => 1, 'foo' => 2 ) = 1 - Notice Object of class stdClass could not be converted to int +array ( 'foo' => 1, 'bar' => 2 ) & DateTime = 1 - Notice Object of class DateTime could not be converted to int +array ( 'foo' => 1, 'bar' => 2 ) & resource = 0 +array ( 'foo' => 1, 'bar' => 2 ) & NULL = 0 +array ( 'bar' => 1, 'foo' => 2 ) & false = 0 +array ( 'bar' => 1, 'foo' => 2 ) & true = 1 +array ( 'bar' => 1, 'foo' => 2 ) & 0 = 0 +array ( 'bar' => 1, 'foo' => 2 ) & 10 = 0 +array ( 'bar' => 1, 'foo' => 2 ) & 0.0 = 0 +array ( 'bar' => 1, 'foo' => 2 ) & 10.0 = 0 +array ( 'bar' => 1, 'foo' => 2 ) & 3.14 = 1 +array ( 'bar' => 1, 'foo' => 2 ) & '0' = 0 +array ( 'bar' => 1, 'foo' => 2 ) & '10' = 0 +array ( 'bar' => 1, 'foo' => 2 ) & '010' = 0 +array ( 'bar' => 1, 'foo' => 2 ) & '10 elephants' = 0 - Notice A non well formed numeric value encountered +array ( 'bar' => 1, 'foo' => 2 ) & 'foo' = 0 - Warning A non-numeric value encountered +array ( 'bar' => 1, 'foo' => 2 ) & array ( ) = 0 +array ( 'bar' => 1, 'foo' => 2 ) & array ( 0 => 1 ) = 1 +array ( 'bar' => 1, 'foo' => 2 ) & array ( 0 => 1, 1 => 100 ) = 1 +array ( 'bar' => 1, 'foo' => 2 ) & array ( 'foo' => 1, 'bar' => 2 ) = 1 +array ( 'bar' => 1, 'foo' => 2 ) & array ( 'bar' => 1, 'foo' => 2 ) = 1 +array ( 'bar' => 1, 'foo' => 2 ) & (object) array ( ) = 1 - Notice Object of class stdClass could not be converted to int +array ( 'bar' => 1, 'foo' => 2 ) & (object) array ( 'foo' => 1, 'bar' => 2 ) = 1 - Notice Object of class stdClass could not be converted to int +array ( 'bar' => 1, 'foo' => 2 ) & (object) array ( 'bar' => 1, 'foo' => 2 ) = 1 - Notice Object of class stdClass could not be converted to int +array ( 'bar' => 1, 'foo' => 2 ) & DateTime = 1 - Notice Object of class DateTime could not be converted to int +array ( 'bar' => 1, 'foo' => 2 ) & resource = 0 +array ( 'bar' => 1, 'foo' => 2 ) & NULL = 0 +(object) array ( ) & false = 0 - Notice Object of class stdClass could not be converted to int +(object) array ( ) & true = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( ) & 0 = 0 - Notice Object of class stdClass could not be converted to int +(object) array ( ) & 10 = 0 - Notice Object of class stdClass could not be converted to int +(object) array ( ) & 0.0 = 0 - Notice Object of class stdClass could not be converted to int +(object) array ( ) & 10.0 = 0 - Notice Object of class stdClass could not be converted to int +(object) array ( ) & 3.14 = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( ) & '0' = 0 - Notice Object of class stdClass could not be converted to int +(object) array ( ) & '10' = 0 - Notice Object of class stdClass could not be converted to int +(object) array ( ) & '010' = 0 - Notice Object of class stdClass could not be converted to int +(object) array ( ) & '10 elephants' = 0 - Notice A non well formed numeric value encountered +(object) array ( ) & 'foo' = 0 - Warning A non-numeric value encountered +(object) array ( ) & array ( ) = 0 - Notice Object of class stdClass could not be converted to int +(object) array ( ) & array ( 0 => 1 ) = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( ) & array ( 0 => 1, 1 => 100 ) = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( ) & array ( 'foo' => 1, 'bar' => 2 ) = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( ) & array ( 'bar' => 1, 'foo' => 2 ) = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( ) & (object) array ( ) = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( ) & (object) array ( 'foo' => 1, 'bar' => 2 ) = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( ) & (object) array ( 'bar' => 1, 'foo' => 2 ) = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( ) & DateTime = 1 - Notice Object of class DateTime could not be converted to int +(object) array ( ) & resource = 0 - Notice Object of class stdClass could not be converted to int +(object) array ( ) & NULL = 0 - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) & false = 0 - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) & true = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) & 0 = 0 - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) & 10 = 0 - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) & 0.0 = 0 - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) & 10.0 = 0 - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) & 3.14 = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) & '0' = 0 - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) & '10' = 0 - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) & '010' = 0 - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) & '10 elephants' = 0 - Notice A non well formed numeric value encountered +(object) array ( 'foo' => 1, 'bar' => 2 ) & 'foo' = 0 - Warning A non-numeric value encountered +(object) array ( 'foo' => 1, 'bar' => 2 ) & array ( ) = 0 - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) & array ( 0 => 1 ) = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) & array ( 0 => 1, 1 => 100 ) = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) & array ( 'foo' => 1, 'bar' => 2 ) = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) & array ( 'bar' => 1, 'foo' => 2 ) = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) & (object) array ( ) = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) & (object) array ( 'foo' => 1, 'bar' => 2 ) = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) & (object) array ( 'bar' => 1, 'foo' => 2 ) = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) & DateTime = 1 - Notice Object of class DateTime could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) & resource = 0 - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) & NULL = 0 - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) & false = 0 - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) & true = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) & 0 = 0 - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) & 10 = 0 - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) & 0.0 = 0 - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) & 10.0 = 0 - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) & 3.14 = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) & '0' = 0 - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) & '10' = 0 - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) & '010' = 0 - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) & '10 elephants' = 0 - Notice A non well formed numeric value encountered +(object) array ( 'bar' => 1, 'foo' => 2 ) & 'foo' = 0 - Warning A non-numeric value encountered +(object) array ( 'bar' => 1, 'foo' => 2 ) & array ( ) = 0 - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) & array ( 0 => 1 ) = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) & array ( 0 => 1, 1 => 100 ) = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) & array ( 'foo' => 1, 'bar' => 2 ) = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) & array ( 'bar' => 1, 'foo' => 2 ) = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) & (object) array ( ) = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) & (object) array ( 'foo' => 1, 'bar' => 2 ) = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) & (object) array ( 'bar' => 1, 'foo' => 2 ) = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) & DateTime = 1 - Notice Object of class DateTime could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) & resource = 0 - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) & NULL = 0 - Notice Object of class stdClass could not be converted to int +DateTime & false = 0 - Notice Object of class DateTime could not be converted to int +DateTime & true = 1 - Notice Object of class DateTime could not be converted to int +DateTime & 0 = 0 - Notice Object of class DateTime could not be converted to int +DateTime & 10 = 0 - Notice Object of class DateTime could not be converted to int +DateTime & 0.0 = 0 - Notice Object of class DateTime could not be converted to int +DateTime & 10.0 = 0 - Notice Object of class DateTime could not be converted to int +DateTime & 3.14 = 1 - Notice Object of class DateTime could not be converted to int +DateTime & '0' = 0 - Notice Object of class DateTime could not be converted to int +DateTime & '10' = 0 - Notice Object of class DateTime could not be converted to int +DateTime & '010' = 0 - Notice Object of class DateTime could not be converted to int +DateTime & '10 elephants' = 0 - Notice A non well formed numeric value encountered +DateTime & 'foo' = 0 - Warning A non-numeric value encountered +DateTime & array ( ) = 0 - Notice Object of class DateTime could not be converted to int +DateTime & array ( 0 => 1 ) = 1 - Notice Object of class DateTime could not be converted to int +DateTime & array ( 0 => 1, 1 => 100 ) = 1 - Notice Object of class DateTime could not be converted to int +DateTime & array ( 'foo' => 1, 'bar' => 2 ) = 1 - Notice Object of class DateTime could not be converted to int +DateTime & array ( 'bar' => 1, 'foo' => 2 ) = 1 - Notice Object of class DateTime could not be converted to int +DateTime & (object) array ( ) = 1 - Notice Object of class stdClass could not be converted to int +DateTime & (object) array ( 'foo' => 1, 'bar' => 2 ) = 1 - Notice Object of class stdClass could not be converted to int +DateTime & (object) array ( 'bar' => 1, 'foo' => 2 ) = 1 - Notice Object of class stdClass could not be converted to int +DateTime & DateTime = 1 - Notice Object of class DateTime could not be converted to int +DateTime & resource = 0 - Notice Object of class DateTime could not be converted to int +DateTime & NULL = 0 - Notice Object of class DateTime could not be converted to int +resource & false = 0 +resource & true = 0 +resource & 0 = 0 +resource & 10 = 2 +resource & 0.0 = 0 +resource & 10.0 = 2 +resource & 3.14 = 2 +resource & '0' = 0 +resource & '10' = 2 +resource & '010' = 2 +resource & '10 elephants' = 2 - Notice A non well formed numeric value encountered +resource & 'foo' = 0 - Warning A non-numeric value encountered +resource & array ( ) = 0 +resource & array ( 0 => 1 ) = 0 +resource & array ( 0 => 1, 1 => 100 ) = 0 +resource & array ( 'foo' => 1, 'bar' => 2 ) = 0 +resource & array ( 'bar' => 1, 'foo' => 2 ) = 0 +resource & (object) array ( ) = 0 - Notice Object of class stdClass could not be converted to int +resource & (object) array ( 'foo' => 1, 'bar' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +resource & (object) array ( 'bar' => 1, 'foo' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +resource & DateTime = 0 - Notice Object of class DateTime could not be converted to int +resource & resource = 6 +resource & NULL = 0 +NULL & false = 0 +NULL & true = 0 +NULL & 0 = 0 +NULL & 10 = 0 +NULL & 0.0 = 0 +NULL & 10.0 = 0 +NULL & 3.14 = 0 +NULL & '0' = 0 +NULL & '10' = 0 +NULL & '010' = 0 +NULL & '10 elephants' = 0 - Notice A non well formed numeric value encountered +NULL & 'foo' = 0 - Warning A non-numeric value encountered +NULL & array ( ) = 0 +NULL & array ( 0 => 1 ) = 0 +NULL & array ( 0 => 1, 1 => 100 ) = 0 +NULL & array ( 'foo' => 1, 'bar' => 2 ) = 0 +NULL & array ( 'bar' => 1, 'foo' => 2 ) = 0 +NULL & (object) array ( ) = 0 - Notice Object of class stdClass could not be converted to int +NULL & (object) array ( 'foo' => 1, 'bar' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +NULL & (object) array ( 'bar' => 1, 'foo' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +NULL & DateTime = 0 - Notice Object of class DateTime could not be converted to int +NULL & resource = 0 +NULL & NULL = 0 \ No newline at end of file diff --git a/Zend/tests/operators/bitwise/and_strict.phpt b/Zend/tests/operators/bitwise/and_strict.phpt new file mode 100644 index 000000000000..bc3b749356bd --- /dev/null +++ b/Zend/tests/operators/bitwise/and_strict.phpt @@ -0,0 +1,542 @@ +--TEST-- +bitwise and operator with strict operators +--FILE-- + 1 ) - TypeError Unsupported operand type bool for bitwise and +false & array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type bool for bitwise and +false & array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type bool for bitwise and +false & array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type bool for bitwise and +false & (object) array ( ) - TypeError Unsupported operand type bool for bitwise and +false & (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type bool for bitwise and +false & (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type bool for bitwise and +false & DateTime - TypeError Unsupported operand type bool for bitwise and +false & resource - TypeError Unsupported operand type bool for bitwise and +false & NULL - TypeError Unsupported operand type bool for bitwise and +true & false - TypeError Unsupported operand type bool for bitwise and +true & true - TypeError Unsupported operand type bool for bitwise and +true & 0 - TypeError Unsupported operand type bool for bitwise and +true & 10 - TypeError Unsupported operand type bool for bitwise and +true & 0.0 - TypeError Unsupported operand type bool for bitwise and +true & 10.0 - TypeError Unsupported operand type bool for bitwise and +true & 3.14 - TypeError Unsupported operand type bool for bitwise and +true & '0' - TypeError Unsupported operand type bool for bitwise and +true & '10' - TypeError Unsupported operand type bool for bitwise and +true & '010' - TypeError Unsupported operand type bool for bitwise and +true & '10 elephants' - TypeError Unsupported operand type bool for bitwise and +true & 'foo' - TypeError Unsupported operand type bool for bitwise and +true & array ( ) - TypeError Unsupported operand type bool for bitwise and +true & array ( 0 => 1 ) - TypeError Unsupported operand type bool for bitwise and +true & array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type bool for bitwise and +true & array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type bool for bitwise and +true & array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type bool for bitwise and +true & (object) array ( ) - TypeError Unsupported operand type bool for bitwise and +true & (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type bool for bitwise and +true & (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type bool for bitwise and +true & DateTime - TypeError Unsupported operand type bool for bitwise and +true & resource - TypeError Unsupported operand type bool for bitwise and +true & NULL - TypeError Unsupported operand type bool for bitwise and +0 & false - TypeError Unsupported operand type bool for bitwise and +0 & true - TypeError Unsupported operand type bool for bitwise and +0 & 0 = 0 +0 & 10 = 0 +0 & 0.0 - TypeError Unsupported operand type float for bitwise and +0 & 10.0 - TypeError Unsupported operand type float for bitwise and +0 & 3.14 - TypeError Unsupported operand type float for bitwise and +0 & '0' - TypeError Operand type mismatch int and string for bitwise and +0 & '10' - TypeError Operand type mismatch int and string for bitwise and +0 & '010' - TypeError Operand type mismatch int and string for bitwise and +0 & '10 elephants' - TypeError Operand type mismatch int and string for bitwise and +0 & 'foo' - TypeError Operand type mismatch int and string for bitwise and +0 & array ( ) - TypeError Unsupported operand type array for bitwise and +0 & array ( 0 => 1 ) - TypeError Unsupported operand type array for bitwise and +0 & array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for bitwise and +0 & array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for bitwise and +0 & array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for bitwise and +0 & (object) array ( ) - TypeError Unsupported operand type object for bitwise and +0 & (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for bitwise and +0 & (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for bitwise and +0 & DateTime - TypeError Unsupported operand type object for bitwise and +0 & resource - TypeError Unsupported operand type resource for bitwise and +0 & NULL - TypeError Unsupported operand type null for bitwise and +10 & false - TypeError Unsupported operand type bool for bitwise and +10 & true - TypeError Unsupported operand type bool for bitwise and +10 & 0 = 0 +10 & 10 = 10 +10 & 0.0 - TypeError Unsupported operand type float for bitwise and +10 & 10.0 - TypeError Unsupported operand type float for bitwise and +10 & 3.14 - TypeError Unsupported operand type float for bitwise and +10 & '0' - TypeError Operand type mismatch int and string for bitwise and +10 & '10' - TypeError Operand type mismatch int and string for bitwise and +10 & '010' - TypeError Operand type mismatch int and string for bitwise and +10 & '10 elephants' - TypeError Operand type mismatch int and string for bitwise and +10 & 'foo' - TypeError Operand type mismatch int and string for bitwise and +10 & array ( ) - TypeError Unsupported operand type array for bitwise and +10 & array ( 0 => 1 ) - TypeError Unsupported operand type array for bitwise and +10 & array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for bitwise and +10 & array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for bitwise and +10 & array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for bitwise and +10 & (object) array ( ) - TypeError Unsupported operand type object for bitwise and +10 & (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for bitwise and +10 & (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for bitwise and +10 & DateTime - TypeError Unsupported operand type object for bitwise and +10 & resource - TypeError Unsupported operand type resource for bitwise and +10 & NULL - TypeError Unsupported operand type null for bitwise and +0.0 & false - TypeError Unsupported operand type float for bitwise and +0.0 & true - TypeError Unsupported operand type float for bitwise and +0.0 & 0 - TypeError Unsupported operand type float for bitwise and +0.0 & 10 - TypeError Unsupported operand type float for bitwise and +0.0 & 0.0 - TypeError Unsupported operand type float for bitwise and +0.0 & 10.0 - TypeError Unsupported operand type float for bitwise and +0.0 & 3.14 - TypeError Unsupported operand type float for bitwise and +0.0 & '0' - TypeError Unsupported operand type float for bitwise and +0.0 & '10' - TypeError Unsupported operand type float for bitwise and +0.0 & '010' - TypeError Unsupported operand type float for bitwise and +0.0 & '10 elephants' - TypeError Unsupported operand type float for bitwise and +0.0 & 'foo' - TypeError Unsupported operand type float for bitwise and +0.0 & array ( ) - TypeError Unsupported operand type float for bitwise and +0.0 & array ( 0 => 1 ) - TypeError Unsupported operand type float for bitwise and +0.0 & array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type float for bitwise and +0.0 & array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type float for bitwise and +0.0 & array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type float for bitwise and +0.0 & (object) array ( ) - TypeError Unsupported operand type float for bitwise and +0.0 & (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type float for bitwise and +0.0 & (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type float for bitwise and +0.0 & DateTime - TypeError Unsupported operand type float for bitwise and +0.0 & resource - TypeError Unsupported operand type float for bitwise and +0.0 & NULL - TypeError Unsupported operand type float for bitwise and +10.0 & false - TypeError Unsupported operand type float for bitwise and +10.0 & true - TypeError Unsupported operand type float for bitwise and +10.0 & 0 - TypeError Unsupported operand type float for bitwise and +10.0 & 10 - TypeError Unsupported operand type float for bitwise and +10.0 & 0.0 - TypeError Unsupported operand type float for bitwise and +10.0 & 10.0 - TypeError Unsupported operand type float for bitwise and +10.0 & 3.14 - TypeError Unsupported operand type float for bitwise and +10.0 & '0' - TypeError Unsupported operand type float for bitwise and +10.0 & '10' - TypeError Unsupported operand type float for bitwise and +10.0 & '010' - TypeError Unsupported operand type float for bitwise and +10.0 & '10 elephants' - TypeError Unsupported operand type float for bitwise and +10.0 & 'foo' - TypeError Unsupported operand type float for bitwise and +10.0 & array ( ) - TypeError Unsupported operand type float for bitwise and +10.0 & array ( 0 => 1 ) - TypeError Unsupported operand type float for bitwise and +10.0 & array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type float for bitwise and +10.0 & array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type float for bitwise and +10.0 & array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type float for bitwise and +10.0 & (object) array ( ) - TypeError Unsupported operand type float for bitwise and +10.0 & (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type float for bitwise and +10.0 & (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type float for bitwise and +10.0 & DateTime - TypeError Unsupported operand type float for bitwise and +10.0 & resource - TypeError Unsupported operand type float for bitwise and +10.0 & NULL - TypeError Unsupported operand type float for bitwise and +3.14 & false - TypeError Unsupported operand type float for bitwise and +3.14 & true - TypeError Unsupported operand type float for bitwise and +3.14 & 0 - TypeError Unsupported operand type float for bitwise and +3.14 & 10 - TypeError Unsupported operand type float for bitwise and +3.14 & 0.0 - TypeError Unsupported operand type float for bitwise and +3.14 & 10.0 - TypeError Unsupported operand type float for bitwise and +3.14 & 3.14 - TypeError Unsupported operand type float for bitwise and +3.14 & '0' - TypeError Unsupported operand type float for bitwise and +3.14 & '10' - TypeError Unsupported operand type float for bitwise and +3.14 & '010' - TypeError Unsupported operand type float for bitwise and +3.14 & '10 elephants' - TypeError Unsupported operand type float for bitwise and +3.14 & 'foo' - TypeError Unsupported operand type float for bitwise and +3.14 & array ( ) - TypeError Unsupported operand type float for bitwise and +3.14 & array ( 0 => 1 ) - TypeError Unsupported operand type float for bitwise and +3.14 & array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type float for bitwise and +3.14 & array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type float for bitwise and +3.14 & array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type float for bitwise and +3.14 & (object) array ( ) - TypeError Unsupported operand type float for bitwise and +3.14 & (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type float for bitwise and +3.14 & (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type float for bitwise and +3.14 & DateTime - TypeError Unsupported operand type float for bitwise and +3.14 & resource - TypeError Unsupported operand type float for bitwise and +3.14 & NULL - TypeError Unsupported operand type float for bitwise and +'0' & false - TypeError Unsupported operand type bool for bitwise and +'0' & true - TypeError Unsupported operand type bool for bitwise and +'0' & 0 - TypeError Operand type mismatch string and int for bitwise and +'0' & 10 - TypeError Operand type mismatch string and int for bitwise and +'0' & 0.0 - TypeError Unsupported operand type float for bitwise and +'0' & 10.0 - TypeError Unsupported operand type float for bitwise and +'0' & 3.14 - TypeError Unsupported operand type float for bitwise and +'0' & '0' = base64:MA== +'0' & '10' = base64:MA== +'0' & '010' = base64:MA== +'0' & '10 elephants' = base64:MA== +'0' & 'foo' = base64:IA== +'0' & array ( ) - TypeError Unsupported operand type array for bitwise and +'0' & array ( 0 => 1 ) - TypeError Unsupported operand type array for bitwise and +'0' & array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for bitwise and +'0' & array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for bitwise and +'0' & array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for bitwise and +'0' & (object) array ( ) - TypeError Unsupported operand type object for bitwise and +'0' & (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for bitwise and +'0' & (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for bitwise and +'0' & DateTime - TypeError Unsupported operand type object for bitwise and +'0' & resource - TypeError Unsupported operand type resource for bitwise and +'0' & NULL - TypeError Unsupported operand type null for bitwise and +'10' & false - TypeError Unsupported operand type bool for bitwise and +'10' & true - TypeError Unsupported operand type bool for bitwise and +'10' & 0 - TypeError Operand type mismatch string and int for bitwise and +'10' & 10 - TypeError Operand type mismatch string and int for bitwise and +'10' & 0.0 - TypeError Unsupported operand type float for bitwise and +'10' & 10.0 - TypeError Unsupported operand type float for bitwise and +'10' & 3.14 - TypeError Unsupported operand type float for bitwise and +'10' & '0' = base64:MA== +'10' & '10' = base64:MTA= +'10' & '010' = base64:MDA= +'10' & '10 elephants' = base64:MTA= +'10' & 'foo' = base64:ICA= +'10' & array ( ) - TypeError Unsupported operand type array for bitwise and +'10' & array ( 0 => 1 ) - TypeError Unsupported operand type array for bitwise and +'10' & array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for bitwise and +'10' & array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for bitwise and +'10' & array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for bitwise and +'10' & (object) array ( ) - TypeError Unsupported operand type object for bitwise and +'10' & (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for bitwise and +'10' & (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for bitwise and +'10' & DateTime - TypeError Unsupported operand type object for bitwise and +'10' & resource - TypeError Unsupported operand type resource for bitwise and +'10' & NULL - TypeError Unsupported operand type null for bitwise and +'010' & false - TypeError Unsupported operand type bool for bitwise and +'010' & true - TypeError Unsupported operand type bool for bitwise and +'010' & 0 - TypeError Operand type mismatch string and int for bitwise and +'010' & 10 - TypeError Operand type mismatch string and int for bitwise and +'010' & 0.0 - TypeError Unsupported operand type float for bitwise and +'010' & 10.0 - TypeError Unsupported operand type float for bitwise and +'010' & 3.14 - TypeError Unsupported operand type float for bitwise and +'010' & '0' = base64:MA== +'010' & '10' = base64:MDA= +'010' & '010' = base64:MDEw +'010' & '10 elephants' = base64:MDAg +'010' & 'foo' = base64:ICEg +'010' & array ( ) - TypeError Unsupported operand type array for bitwise and +'010' & array ( 0 => 1 ) - TypeError Unsupported operand type array for bitwise and +'010' & array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for bitwise and +'010' & array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for bitwise and +'010' & array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for bitwise and +'010' & (object) array ( ) - TypeError Unsupported operand type object for bitwise and +'010' & (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for bitwise and +'010' & (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for bitwise and +'010' & DateTime - TypeError Unsupported operand type object for bitwise and +'010' & resource - TypeError Unsupported operand type resource for bitwise and +'010' & NULL - TypeError Unsupported operand type null for bitwise and +'10 elephants' & false - TypeError Unsupported operand type bool for bitwise and +'10 elephants' & true - TypeError Unsupported operand type bool for bitwise and +'10 elephants' & 0 - TypeError Operand type mismatch string and int for bitwise and +'10 elephants' & 10 - TypeError Operand type mismatch string and int for bitwise and +'10 elephants' & 0.0 - TypeError Unsupported operand type float for bitwise and +'10 elephants' & 10.0 - TypeError Unsupported operand type float for bitwise and +'10 elephants' & 3.14 - TypeError Unsupported operand type float for bitwise and +'10 elephants' & '0' = base64:MA== +'10 elephants' & '10' = base64:MTA= +'10 elephants' & '010' = base64:MDAg +'10 elephants' & '10 elephants' = base64:MTAgZWxlcGhhbnRz +'10 elephants' & 'foo' = base64:ICAg +'10 elephants' & array ( ) - TypeError Unsupported operand type array for bitwise and +'10 elephants' & array ( 0 => 1 ) - TypeError Unsupported operand type array for bitwise and +'10 elephants' & array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for bitwise and +'10 elephants' & array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for bitwise and +'10 elephants' & array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for bitwise and +'10 elephants' & (object) array ( ) - TypeError Unsupported operand type object for bitwise and +'10 elephants' & (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for bitwise and +'10 elephants' & (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for bitwise and +'10 elephants' & DateTime - TypeError Unsupported operand type object for bitwise and +'10 elephants' & resource - TypeError Unsupported operand type resource for bitwise and +'10 elephants' & NULL - TypeError Unsupported operand type null for bitwise and +'foo' & false - TypeError Unsupported operand type bool for bitwise and +'foo' & true - TypeError Unsupported operand type bool for bitwise and +'foo' & 0 - TypeError Operand type mismatch string and int for bitwise and +'foo' & 10 - TypeError Operand type mismatch string and int for bitwise and +'foo' & 0.0 - TypeError Unsupported operand type float for bitwise and +'foo' & 10.0 - TypeError Unsupported operand type float for bitwise and +'foo' & 3.14 - TypeError Unsupported operand type float for bitwise and +'foo' & '0' = base64:IA== +'foo' & '10' = base64:ICA= +'foo' & '010' = base64:ICEg +'foo' & '10 elephants' = base64:ICAg +'foo' & 'foo' = base64:Zm9v +'foo' & array ( ) - TypeError Unsupported operand type array for bitwise and +'foo' & array ( 0 => 1 ) - TypeError Unsupported operand type array for bitwise and +'foo' & array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for bitwise and +'foo' & array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for bitwise and +'foo' & array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for bitwise and +'foo' & (object) array ( ) - TypeError Unsupported operand type object for bitwise and +'foo' & (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for bitwise and +'foo' & (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for bitwise and +'foo' & DateTime - TypeError Unsupported operand type object for bitwise and +'foo' & resource - TypeError Unsupported operand type resource for bitwise and +'foo' & NULL - TypeError Unsupported operand type null for bitwise and +array ( ) & false - TypeError Unsupported operand type array for bitwise and +array ( ) & true - TypeError Unsupported operand type array for bitwise and +array ( ) & 0 - TypeError Unsupported operand type array for bitwise and +array ( ) & 10 - TypeError Unsupported operand type array for bitwise and +array ( ) & 0.0 - TypeError Unsupported operand type array for bitwise and +array ( ) & 10.0 - TypeError Unsupported operand type array for bitwise and +array ( ) & 3.14 - TypeError Unsupported operand type array for bitwise and +array ( ) & '0' - TypeError Unsupported operand type array for bitwise and +array ( ) & '10' - TypeError Unsupported operand type array for bitwise and +array ( ) & '010' - TypeError Unsupported operand type array for bitwise and +array ( ) & '10 elephants' - TypeError Unsupported operand type array for bitwise and +array ( ) & 'foo' - TypeError Unsupported operand type array for bitwise and +array ( ) & array ( ) - TypeError Unsupported operand type array for bitwise and +array ( ) & array ( 0 => 1 ) - TypeError Unsupported operand type array for bitwise and +array ( ) & array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for bitwise and +array ( ) & array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for bitwise and +array ( ) & array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for bitwise and +array ( ) & (object) array ( ) - TypeError Unsupported operand type array for bitwise and +array ( ) & (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for bitwise and +array ( ) & (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for bitwise and +array ( ) & DateTime - TypeError Unsupported operand type array for bitwise and +array ( ) & resource - TypeError Unsupported operand type array for bitwise and +array ( ) & NULL - TypeError Unsupported operand type array for bitwise and +array ( 0 => 1 ) & false - TypeError Unsupported operand type array for bitwise and +array ( 0 => 1 ) & true - TypeError Unsupported operand type array for bitwise and +array ( 0 => 1 ) & 0 - TypeError Unsupported operand type array for bitwise and +array ( 0 => 1 ) & 10 - TypeError Unsupported operand type array for bitwise and +array ( 0 => 1 ) & 0.0 - TypeError Unsupported operand type array for bitwise and +array ( 0 => 1 ) & 10.0 - TypeError Unsupported operand type array for bitwise and +array ( 0 => 1 ) & 3.14 - TypeError Unsupported operand type array for bitwise and +array ( 0 => 1 ) & '0' - TypeError Unsupported operand type array for bitwise and +array ( 0 => 1 ) & '10' - TypeError Unsupported operand type array for bitwise and +array ( 0 => 1 ) & '010' - TypeError Unsupported operand type array for bitwise and +array ( 0 => 1 ) & '10 elephants' - TypeError Unsupported operand type array for bitwise and +array ( 0 => 1 ) & 'foo' - TypeError Unsupported operand type array for bitwise and +array ( 0 => 1 ) & array ( ) - TypeError Unsupported operand type array for bitwise and +array ( 0 => 1 ) & array ( 0 => 1 ) - TypeError Unsupported operand type array for bitwise and +array ( 0 => 1 ) & array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for bitwise and +array ( 0 => 1 ) & array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for bitwise and +array ( 0 => 1 ) & array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for bitwise and +array ( 0 => 1 ) & (object) array ( ) - TypeError Unsupported operand type array for bitwise and +array ( 0 => 1 ) & (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for bitwise and +array ( 0 => 1 ) & (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for bitwise and +array ( 0 => 1 ) & DateTime - TypeError Unsupported operand type array for bitwise and +array ( 0 => 1 ) & resource - TypeError Unsupported operand type array for bitwise and +array ( 0 => 1 ) & NULL - TypeError Unsupported operand type array for bitwise and +array ( 0 => 1, 1 => 100 ) & false - TypeError Unsupported operand type array for bitwise and +array ( 0 => 1, 1 => 100 ) & true - TypeError Unsupported operand type array for bitwise and +array ( 0 => 1, 1 => 100 ) & 0 - TypeError Unsupported operand type array for bitwise and +array ( 0 => 1, 1 => 100 ) & 10 - TypeError Unsupported operand type array for bitwise and +array ( 0 => 1, 1 => 100 ) & 0.0 - TypeError Unsupported operand type array for bitwise and +array ( 0 => 1, 1 => 100 ) & 10.0 - TypeError Unsupported operand type array for bitwise and +array ( 0 => 1, 1 => 100 ) & 3.14 - TypeError Unsupported operand type array for bitwise and +array ( 0 => 1, 1 => 100 ) & '0' - TypeError Unsupported operand type array for bitwise and +array ( 0 => 1, 1 => 100 ) & '10' - TypeError Unsupported operand type array for bitwise and +array ( 0 => 1, 1 => 100 ) & '010' - TypeError Unsupported operand type array for bitwise and +array ( 0 => 1, 1 => 100 ) & '10 elephants' - TypeError Unsupported operand type array for bitwise and +array ( 0 => 1, 1 => 100 ) & 'foo' - TypeError Unsupported operand type array for bitwise and +array ( 0 => 1, 1 => 100 ) & array ( ) - TypeError Unsupported operand type array for bitwise and +array ( 0 => 1, 1 => 100 ) & array ( 0 => 1 ) - TypeError Unsupported operand type array for bitwise and +array ( 0 => 1, 1 => 100 ) & array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for bitwise and +array ( 0 => 1, 1 => 100 ) & array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for bitwise and +array ( 0 => 1, 1 => 100 ) & array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for bitwise and +array ( 0 => 1, 1 => 100 ) & (object) array ( ) - TypeError Unsupported operand type array for bitwise and +array ( 0 => 1, 1 => 100 ) & (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for bitwise and +array ( 0 => 1, 1 => 100 ) & (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for bitwise and +array ( 0 => 1, 1 => 100 ) & DateTime - TypeError Unsupported operand type array for bitwise and +array ( 0 => 1, 1 => 100 ) & resource - TypeError Unsupported operand type array for bitwise and +array ( 0 => 1, 1 => 100 ) & NULL - TypeError Unsupported operand type array for bitwise and +array ( 'foo' => 1, 'bar' => 2 ) & false - TypeError Unsupported operand type array for bitwise and +array ( 'foo' => 1, 'bar' => 2 ) & true - TypeError Unsupported operand type array for bitwise and +array ( 'foo' => 1, 'bar' => 2 ) & 0 - TypeError Unsupported operand type array for bitwise and +array ( 'foo' => 1, 'bar' => 2 ) & 10 - TypeError Unsupported operand type array for bitwise and +array ( 'foo' => 1, 'bar' => 2 ) & 0.0 - TypeError Unsupported operand type array for bitwise and +array ( 'foo' => 1, 'bar' => 2 ) & 10.0 - TypeError Unsupported operand type array for bitwise and +array ( 'foo' => 1, 'bar' => 2 ) & 3.14 - TypeError Unsupported operand type array for bitwise and +array ( 'foo' => 1, 'bar' => 2 ) & '0' - TypeError Unsupported operand type array for bitwise and +array ( 'foo' => 1, 'bar' => 2 ) & '10' - TypeError Unsupported operand type array for bitwise and +array ( 'foo' => 1, 'bar' => 2 ) & '010' - TypeError Unsupported operand type array for bitwise and +array ( 'foo' => 1, 'bar' => 2 ) & '10 elephants' - TypeError Unsupported operand type array for bitwise and +array ( 'foo' => 1, 'bar' => 2 ) & 'foo' - TypeError Unsupported operand type array for bitwise and +array ( 'foo' => 1, 'bar' => 2 ) & array ( ) - TypeError Unsupported operand type array for bitwise and +array ( 'foo' => 1, 'bar' => 2 ) & array ( 0 => 1 ) - TypeError Unsupported operand type array for bitwise and +array ( 'foo' => 1, 'bar' => 2 ) & array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for bitwise and +array ( 'foo' => 1, 'bar' => 2 ) & array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for bitwise and +array ( 'foo' => 1, 'bar' => 2 ) & array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for bitwise and +array ( 'foo' => 1, 'bar' => 2 ) & (object) array ( ) - TypeError Unsupported operand type array for bitwise and +array ( 'foo' => 1, 'bar' => 2 ) & (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for bitwise and +array ( 'foo' => 1, 'bar' => 2 ) & (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for bitwise and +array ( 'foo' => 1, 'bar' => 2 ) & DateTime - TypeError Unsupported operand type array for bitwise and +array ( 'foo' => 1, 'bar' => 2 ) & resource - TypeError Unsupported operand type array for bitwise and +array ( 'foo' => 1, 'bar' => 2 ) & NULL - TypeError Unsupported operand type array for bitwise and +array ( 'bar' => 1, 'foo' => 2 ) & false - TypeError Unsupported operand type array for bitwise and +array ( 'bar' => 1, 'foo' => 2 ) & true - TypeError Unsupported operand type array for bitwise and +array ( 'bar' => 1, 'foo' => 2 ) & 0 - TypeError Unsupported operand type array for bitwise and +array ( 'bar' => 1, 'foo' => 2 ) & 10 - TypeError Unsupported operand type array for bitwise and +array ( 'bar' => 1, 'foo' => 2 ) & 0.0 - TypeError Unsupported operand type array for bitwise and +array ( 'bar' => 1, 'foo' => 2 ) & 10.0 - TypeError Unsupported operand type array for bitwise and +array ( 'bar' => 1, 'foo' => 2 ) & 3.14 - TypeError Unsupported operand type array for bitwise and +array ( 'bar' => 1, 'foo' => 2 ) & '0' - TypeError Unsupported operand type array for bitwise and +array ( 'bar' => 1, 'foo' => 2 ) & '10' - TypeError Unsupported operand type array for bitwise and +array ( 'bar' => 1, 'foo' => 2 ) & '010' - TypeError Unsupported operand type array for bitwise and +array ( 'bar' => 1, 'foo' => 2 ) & '10 elephants' - TypeError Unsupported operand type array for bitwise and +array ( 'bar' => 1, 'foo' => 2 ) & 'foo' - TypeError Unsupported operand type array for bitwise and +array ( 'bar' => 1, 'foo' => 2 ) & array ( ) - TypeError Unsupported operand type array for bitwise and +array ( 'bar' => 1, 'foo' => 2 ) & array ( 0 => 1 ) - TypeError Unsupported operand type array for bitwise and +array ( 'bar' => 1, 'foo' => 2 ) & array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for bitwise and +array ( 'bar' => 1, 'foo' => 2 ) & array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for bitwise and +array ( 'bar' => 1, 'foo' => 2 ) & array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for bitwise and +array ( 'bar' => 1, 'foo' => 2 ) & (object) array ( ) - TypeError Unsupported operand type array for bitwise and +array ( 'bar' => 1, 'foo' => 2 ) & (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for bitwise and +array ( 'bar' => 1, 'foo' => 2 ) & (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for bitwise and +array ( 'bar' => 1, 'foo' => 2 ) & DateTime - TypeError Unsupported operand type array for bitwise and +array ( 'bar' => 1, 'foo' => 2 ) & resource - TypeError Unsupported operand type array for bitwise and +array ( 'bar' => 1, 'foo' => 2 ) & NULL - TypeError Unsupported operand type array for bitwise and +(object) array ( ) & false - TypeError Unsupported operand type object for bitwise and +(object) array ( ) & true - TypeError Unsupported operand type object for bitwise and +(object) array ( ) & 0 - TypeError Unsupported operand type object for bitwise and +(object) array ( ) & 10 - TypeError Unsupported operand type object for bitwise and +(object) array ( ) & 0.0 - TypeError Unsupported operand type object for bitwise and +(object) array ( ) & 10.0 - TypeError Unsupported operand type object for bitwise and +(object) array ( ) & 3.14 - TypeError Unsupported operand type object for bitwise and +(object) array ( ) & '0' - TypeError Unsupported operand type object for bitwise and +(object) array ( ) & '10' - TypeError Unsupported operand type object for bitwise and +(object) array ( ) & '010' - TypeError Unsupported operand type object for bitwise and +(object) array ( ) & '10 elephants' - TypeError Unsupported operand type object for bitwise and +(object) array ( ) & 'foo' - TypeError Unsupported operand type object for bitwise and +(object) array ( ) & array ( ) - TypeError Unsupported operand type object for bitwise and +(object) array ( ) & array ( 0 => 1 ) - TypeError Unsupported operand type object for bitwise and +(object) array ( ) & array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type object for bitwise and +(object) array ( ) & array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for bitwise and +(object) array ( ) & array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for bitwise and +(object) array ( ) & (object) array ( ) - TypeError Unsupported operand type object for bitwise and +(object) array ( ) & (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for bitwise and +(object) array ( ) & (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for bitwise and +(object) array ( ) & DateTime - TypeError Unsupported operand type object for bitwise and +(object) array ( ) & resource - TypeError Unsupported operand type object for bitwise and +(object) array ( ) & NULL - TypeError Unsupported operand type object for bitwise and +(object) array ( 'foo' => 1, 'bar' => 2 ) & false - TypeError Unsupported operand type object for bitwise and +(object) array ( 'foo' => 1, 'bar' => 2 ) & true - TypeError Unsupported operand type object for bitwise and +(object) array ( 'foo' => 1, 'bar' => 2 ) & 0 - TypeError Unsupported operand type object for bitwise and +(object) array ( 'foo' => 1, 'bar' => 2 ) & 10 - TypeError Unsupported operand type object for bitwise and +(object) array ( 'foo' => 1, 'bar' => 2 ) & 0.0 - TypeError Unsupported operand type object for bitwise and +(object) array ( 'foo' => 1, 'bar' => 2 ) & 10.0 - TypeError Unsupported operand type object for bitwise and +(object) array ( 'foo' => 1, 'bar' => 2 ) & 3.14 - TypeError Unsupported operand type object for bitwise and +(object) array ( 'foo' => 1, 'bar' => 2 ) & '0' - TypeError Unsupported operand type object for bitwise and +(object) array ( 'foo' => 1, 'bar' => 2 ) & '10' - TypeError Unsupported operand type object for bitwise and +(object) array ( 'foo' => 1, 'bar' => 2 ) & '010' - TypeError Unsupported operand type object for bitwise and +(object) array ( 'foo' => 1, 'bar' => 2 ) & '10 elephants' - TypeError Unsupported operand type object for bitwise and +(object) array ( 'foo' => 1, 'bar' => 2 ) & 'foo' - TypeError Unsupported operand type object for bitwise and +(object) array ( 'foo' => 1, 'bar' => 2 ) & array ( ) - TypeError Unsupported operand type object for bitwise and +(object) array ( 'foo' => 1, 'bar' => 2 ) & array ( 0 => 1 ) - TypeError Unsupported operand type object for bitwise and +(object) array ( 'foo' => 1, 'bar' => 2 ) & array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type object for bitwise and +(object) array ( 'foo' => 1, 'bar' => 2 ) & array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for bitwise and +(object) array ( 'foo' => 1, 'bar' => 2 ) & array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for bitwise and +(object) array ( 'foo' => 1, 'bar' => 2 ) & (object) array ( ) - TypeError Unsupported operand type object for bitwise and +(object) array ( 'foo' => 1, 'bar' => 2 ) & (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for bitwise and +(object) array ( 'foo' => 1, 'bar' => 2 ) & (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for bitwise and +(object) array ( 'foo' => 1, 'bar' => 2 ) & DateTime - TypeError Unsupported operand type object for bitwise and +(object) array ( 'foo' => 1, 'bar' => 2 ) & resource - TypeError Unsupported operand type object for bitwise and +(object) array ( 'foo' => 1, 'bar' => 2 ) & NULL - TypeError Unsupported operand type object for bitwise and +(object) array ( 'bar' => 1, 'foo' => 2 ) & false - TypeError Unsupported operand type object for bitwise and +(object) array ( 'bar' => 1, 'foo' => 2 ) & true - TypeError Unsupported operand type object for bitwise and +(object) array ( 'bar' => 1, 'foo' => 2 ) & 0 - TypeError Unsupported operand type object for bitwise and +(object) array ( 'bar' => 1, 'foo' => 2 ) & 10 - TypeError Unsupported operand type object for bitwise and +(object) array ( 'bar' => 1, 'foo' => 2 ) & 0.0 - TypeError Unsupported operand type object for bitwise and +(object) array ( 'bar' => 1, 'foo' => 2 ) & 10.0 - TypeError Unsupported operand type object for bitwise and +(object) array ( 'bar' => 1, 'foo' => 2 ) & 3.14 - TypeError Unsupported operand type object for bitwise and +(object) array ( 'bar' => 1, 'foo' => 2 ) & '0' - TypeError Unsupported operand type object for bitwise and +(object) array ( 'bar' => 1, 'foo' => 2 ) & '10' - TypeError Unsupported operand type object for bitwise and +(object) array ( 'bar' => 1, 'foo' => 2 ) & '010' - TypeError Unsupported operand type object for bitwise and +(object) array ( 'bar' => 1, 'foo' => 2 ) & '10 elephants' - TypeError Unsupported operand type object for bitwise and +(object) array ( 'bar' => 1, 'foo' => 2 ) & 'foo' - TypeError Unsupported operand type object for bitwise and +(object) array ( 'bar' => 1, 'foo' => 2 ) & array ( ) - TypeError Unsupported operand type object for bitwise and +(object) array ( 'bar' => 1, 'foo' => 2 ) & array ( 0 => 1 ) - TypeError Unsupported operand type object for bitwise and +(object) array ( 'bar' => 1, 'foo' => 2 ) & array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type object for bitwise and +(object) array ( 'bar' => 1, 'foo' => 2 ) & array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for bitwise and +(object) array ( 'bar' => 1, 'foo' => 2 ) & array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for bitwise and +(object) array ( 'bar' => 1, 'foo' => 2 ) & (object) array ( ) - TypeError Unsupported operand type object for bitwise and +(object) array ( 'bar' => 1, 'foo' => 2 ) & (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for bitwise and +(object) array ( 'bar' => 1, 'foo' => 2 ) & (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for bitwise and +(object) array ( 'bar' => 1, 'foo' => 2 ) & DateTime - TypeError Unsupported operand type object for bitwise and +(object) array ( 'bar' => 1, 'foo' => 2 ) & resource - TypeError Unsupported operand type object for bitwise and +(object) array ( 'bar' => 1, 'foo' => 2 ) & NULL - TypeError Unsupported operand type object for bitwise and +DateTime & false - TypeError Unsupported operand type object for bitwise and +DateTime & true - TypeError Unsupported operand type object for bitwise and +DateTime & 0 - TypeError Unsupported operand type object for bitwise and +DateTime & 10 - TypeError Unsupported operand type object for bitwise and +DateTime & 0.0 - TypeError Unsupported operand type object for bitwise and +DateTime & 10.0 - TypeError Unsupported operand type object for bitwise and +DateTime & 3.14 - TypeError Unsupported operand type object for bitwise and +DateTime & '0' - TypeError Unsupported operand type object for bitwise and +DateTime & '10' - TypeError Unsupported operand type object for bitwise and +DateTime & '010' - TypeError Unsupported operand type object for bitwise and +DateTime & '10 elephants' - TypeError Unsupported operand type object for bitwise and +DateTime & 'foo' - TypeError Unsupported operand type object for bitwise and +DateTime & array ( ) - TypeError Unsupported operand type object for bitwise and +DateTime & array ( 0 => 1 ) - TypeError Unsupported operand type object for bitwise and +DateTime & array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type object for bitwise and +DateTime & array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for bitwise and +DateTime & array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for bitwise and +DateTime & (object) array ( ) - TypeError Unsupported operand type object for bitwise and +DateTime & (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for bitwise and +DateTime & (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for bitwise and +DateTime & DateTime - TypeError Unsupported operand type object for bitwise and +DateTime & resource - TypeError Unsupported operand type object for bitwise and +DateTime & NULL - TypeError Unsupported operand type object for bitwise and +resource & false - TypeError Unsupported operand type resource for bitwise and +resource & true - TypeError Unsupported operand type resource for bitwise and +resource & 0 - TypeError Unsupported operand type resource for bitwise and +resource & 10 - TypeError Unsupported operand type resource for bitwise and +resource & 0.0 - TypeError Unsupported operand type resource for bitwise and +resource & 10.0 - TypeError Unsupported operand type resource for bitwise and +resource & 3.14 - TypeError Unsupported operand type resource for bitwise and +resource & '0' - TypeError Unsupported operand type resource for bitwise and +resource & '10' - TypeError Unsupported operand type resource for bitwise and +resource & '010' - TypeError Unsupported operand type resource for bitwise and +resource & '10 elephants' - TypeError Unsupported operand type resource for bitwise and +resource & 'foo' - TypeError Unsupported operand type resource for bitwise and +resource & array ( ) - TypeError Unsupported operand type resource for bitwise and +resource & array ( 0 => 1 ) - TypeError Unsupported operand type resource for bitwise and +resource & array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type resource for bitwise and +resource & array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type resource for bitwise and +resource & array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type resource for bitwise and +resource & (object) array ( ) - TypeError Unsupported operand type resource for bitwise and +resource & (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type resource for bitwise and +resource & (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type resource for bitwise and +resource & DateTime - TypeError Unsupported operand type resource for bitwise and +resource & resource - TypeError Unsupported operand type resource for bitwise and +resource & NULL - TypeError Unsupported operand type resource for bitwise and +NULL & false - TypeError Unsupported operand type null for bitwise and +NULL & true - TypeError Unsupported operand type null for bitwise and +NULL & 0 - TypeError Unsupported operand type null for bitwise and +NULL & 10 - TypeError Unsupported operand type null for bitwise and +NULL & 0.0 - TypeError Unsupported operand type null for bitwise and +NULL & 10.0 - TypeError Unsupported operand type null for bitwise and +NULL & 3.14 - TypeError Unsupported operand type null for bitwise and +NULL & '0' - TypeError Unsupported operand type null for bitwise and +NULL & '10' - TypeError Unsupported operand type null for bitwise and +NULL & '010' - TypeError Unsupported operand type null for bitwise and +NULL & '10 elephants' - TypeError Unsupported operand type null for bitwise and +NULL & 'foo' - TypeError Unsupported operand type null for bitwise and +NULL & array ( ) - TypeError Unsupported operand type null for bitwise and +NULL & array ( 0 => 1 ) - TypeError Unsupported operand type null for bitwise and +NULL & array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type null for bitwise and +NULL & array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type null for bitwise and +NULL & array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type null for bitwise and +NULL & (object) array ( ) - TypeError Unsupported operand type null for bitwise and +NULL & (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type null for bitwise and +NULL & (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type null for bitwise and +NULL & DateTime - TypeError Unsupported operand type null for bitwise and +NULL & resource - TypeError Unsupported operand type null for bitwise and +NULL & NULL - TypeError Unsupported operand type null for bitwise and \ No newline at end of file diff --git a/Zend/tests/operators/bitwise/not.phpt b/Zend/tests/operators/bitwise/not.phpt new file mode 100644 index 000000000000..9745be5db1b1 --- /dev/null +++ b/Zend/tests/operators/bitwise/not.phpt @@ -0,0 +1,34 @@ +--TEST-- +bitwise not operator +--FILE-- + 1 ) - Error Unsupported operand types +~array ( 0 => 1, 1 => 100 ) - Error Unsupported operand types +~array ( 'foo' => 1, 'bar' => 2 ) - Error Unsupported operand types +~array ( 'bar' => 1, 'foo' => 2 ) - Error Unsupported operand types +~(object) array ( ) - Error Unsupported operand types +~(object) array ( 'foo' => 1, 'bar' => 2 ) - Error Unsupported operand types +~(object) array ( 'bar' => 1, 'foo' => 2 ) - Error Unsupported operand types +~DateTime - Error Unsupported operand types +~resource - Error Unsupported operand types +~NULL - Error Unsupported operand types diff --git a/Zend/tests/operators/bitwise/not_strict.phpt b/Zend/tests/operators/bitwise/not_strict.phpt new file mode 100644 index 000000000000..807cf04f2dac --- /dev/null +++ b/Zend/tests/operators/bitwise/not_strict.phpt @@ -0,0 +1,36 @@ +--TEST-- +bitwise not operator with strict operators +--FILE-- + 1 ) - TypeError Unsupported operand type array for bitwise not +~array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for bitwise not +~array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for bitwise not +~array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for bitwise not +~(object) array ( ) - TypeError Unsupported operand type object for bitwise not +~(object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for bitwise not +~(object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for bitwise not +~DateTime - TypeError Unsupported operand type object for bitwise not +~resource - TypeError Unsupported operand type resource for bitwise not +~NULL - TypeError Unsupported operand type null for bitwise not \ No newline at end of file diff --git a/Zend/tests/operators/bitwise/or.phpt b/Zend/tests/operators/bitwise/or.phpt new file mode 100644 index 000000000000..c87eda764da0 --- /dev/null +++ b/Zend/tests/operators/bitwise/or.phpt @@ -0,0 +1,540 @@ +--TEST-- +bitwise or operator +--FILE-- + 1 ) = 1 +false | array ( 0 => 1, 1 => 100 ) = 1 +false | array ( 'foo' => 1, 'bar' => 2 ) = 1 +false | array ( 'bar' => 1, 'foo' => 2 ) = 1 +false | (object) array ( ) = 1 - Notice Object of class stdClass could not be converted to int +false | (object) array ( 'foo' => 1, 'bar' => 2 ) = 1 - Notice Object of class stdClass could not be converted to int +false | (object) array ( 'bar' => 1, 'foo' => 2 ) = 1 - Notice Object of class stdClass could not be converted to int +false | DateTime = 1 - Notice Object of class DateTime could not be converted to int +false | resource = 6 +false | NULL = 0 +true | false = 1 +true | true = 1 +true | 0 = 1 +true | 10 = 11 +true | 0.0 = 1 +true | 10.0 = 11 +true | 3.14 = 3 +true | '0' = 1 +true | '10' = 11 +true | '010' = 11 +true | '10 elephants' = 11 - Notice A non well formed numeric value encountered +true | 'foo' = 1 - Warning A non-numeric value encountered +true | array ( ) = 1 +true | array ( 0 => 1 ) = 1 +true | array ( 0 => 1, 1 => 100 ) = 1 +true | array ( 'foo' => 1, 'bar' => 2 ) = 1 +true | array ( 'bar' => 1, 'foo' => 2 ) = 1 +true | (object) array ( ) = 1 - Notice Object of class stdClass could not be converted to int +true | (object) array ( 'foo' => 1, 'bar' => 2 ) = 1 - Notice Object of class stdClass could not be converted to int +true | (object) array ( 'bar' => 1, 'foo' => 2 ) = 1 - Notice Object of class stdClass could not be converted to int +true | DateTime = 1 - Notice Object of class DateTime could not be converted to int +true | resource = 7 +true | NULL = 1 +0 | false = 0 +0 | true = 1 +0 | 0 = 0 +0 | 10 = 10 +0 | 0.0 = 0 +0 | 10.0 = 10 +0 | 3.14 = 3 +0 | '0' = 0 +0 | '10' = 10 +0 | '010' = 10 +0 | '10 elephants' = 10 - Notice A non well formed numeric value encountered +0 | 'foo' = 0 - Warning A non-numeric value encountered +0 | array ( ) = 0 +0 | array ( 0 => 1 ) = 1 +0 | array ( 0 => 1, 1 => 100 ) = 1 +0 | array ( 'foo' => 1, 'bar' => 2 ) = 1 +0 | array ( 'bar' => 1, 'foo' => 2 ) = 1 +0 | (object) array ( ) = 1 - Notice Object of class stdClass could not be converted to int +0 | (object) array ( 'foo' => 1, 'bar' => 2 ) = 1 - Notice Object of class stdClass could not be converted to int +0 | (object) array ( 'bar' => 1, 'foo' => 2 ) = 1 - Notice Object of class stdClass could not be converted to int +0 | DateTime = 1 - Notice Object of class DateTime could not be converted to int +0 | resource = 6 +0 | NULL = 0 +10 | false = 10 +10 | true = 11 +10 | 0 = 10 +10 | 10 = 10 +10 | 0.0 = 10 +10 | 10.0 = 10 +10 | 3.14 = 11 +10 | '0' = 10 +10 | '10' = 10 +10 | '010' = 10 +10 | '10 elephants' = 10 - Notice A non well formed numeric value encountered +10 | 'foo' = 10 - Warning A non-numeric value encountered +10 | array ( ) = 10 +10 | array ( 0 => 1 ) = 11 +10 | array ( 0 => 1, 1 => 100 ) = 11 +10 | array ( 'foo' => 1, 'bar' => 2 ) = 11 +10 | array ( 'bar' => 1, 'foo' => 2 ) = 11 +10 | (object) array ( ) = 11 - Notice Object of class stdClass could not be converted to int +10 | (object) array ( 'foo' => 1, 'bar' => 2 ) = 11 - Notice Object of class stdClass could not be converted to int +10 | (object) array ( 'bar' => 1, 'foo' => 2 ) = 11 - Notice Object of class stdClass could not be converted to int +10 | DateTime = 11 - Notice Object of class DateTime could not be converted to int +10 | resource = 14 +10 | NULL = 10 +0.0 | false = 0 +0.0 | true = 1 +0.0 | 0 = 0 +0.0 | 10 = 10 +0.0 | 0.0 = 0 +0.0 | 10.0 = 10 +0.0 | 3.14 = 3 +0.0 | '0' = 0 +0.0 | '10' = 10 +0.0 | '010' = 10 +0.0 | '10 elephants' = 10 - Notice A non well formed numeric value encountered +0.0 | 'foo' = 0 - Warning A non-numeric value encountered +0.0 | array ( ) = 0 +0.0 | array ( 0 => 1 ) = 1 +0.0 | array ( 0 => 1, 1 => 100 ) = 1 +0.0 | array ( 'foo' => 1, 'bar' => 2 ) = 1 +0.0 | array ( 'bar' => 1, 'foo' => 2 ) = 1 +0.0 | (object) array ( ) = 1 - Notice Object of class stdClass could not be converted to int +0.0 | (object) array ( 'foo' => 1, 'bar' => 2 ) = 1 - Notice Object of class stdClass could not be converted to int +0.0 | (object) array ( 'bar' => 1, 'foo' => 2 ) = 1 - Notice Object of class stdClass could not be converted to int +0.0 | DateTime = 1 - Notice Object of class DateTime could not be converted to int +0.0 | resource = 6 +0.0 | NULL = 0 +10.0 | false = 10 +10.0 | true = 11 +10.0 | 0 = 10 +10.0 | 10 = 10 +10.0 | 0.0 = 10 +10.0 | 10.0 = 10 +10.0 | 3.14 = 11 +10.0 | '0' = 10 +10.0 | '10' = 10 +10.0 | '010' = 10 +10.0 | '10 elephants' = 10 - Notice A non well formed numeric value encountered +10.0 | 'foo' = 10 - Warning A non-numeric value encountered +10.0 | array ( ) = 10 +10.0 | array ( 0 => 1 ) = 11 +10.0 | array ( 0 => 1, 1 => 100 ) = 11 +10.0 | array ( 'foo' => 1, 'bar' => 2 ) = 11 +10.0 | array ( 'bar' => 1, 'foo' => 2 ) = 11 +10.0 | (object) array ( ) = 11 - Notice Object of class stdClass could not be converted to int +10.0 | (object) array ( 'foo' => 1, 'bar' => 2 ) = 11 - Notice Object of class stdClass could not be converted to int +10.0 | (object) array ( 'bar' => 1, 'foo' => 2 ) = 11 - Notice Object of class stdClass could not be converted to int +10.0 | DateTime = 11 - Notice Object of class DateTime could not be converted to int +10.0 | resource = 14 +10.0 | NULL = 10 +3.14 | false = 3 +3.14 | true = 3 +3.14 | 0 = 3 +3.14 | 10 = 11 +3.14 | 0.0 = 3 +3.14 | 10.0 = 11 +3.14 | 3.14 = 3 +3.14 | '0' = 3 +3.14 | '10' = 11 +3.14 | '010' = 11 +3.14 | '10 elephants' = 11 - Notice A non well formed numeric value encountered +3.14 | 'foo' = 3 - Warning A non-numeric value encountered +3.14 | array ( ) = 3 +3.14 | array ( 0 => 1 ) = 3 +3.14 | array ( 0 => 1, 1 => 100 ) = 3 +3.14 | array ( 'foo' => 1, 'bar' => 2 ) = 3 +3.14 | array ( 'bar' => 1, 'foo' => 2 ) = 3 +3.14 | (object) array ( ) = 3 - Notice Object of class stdClass could not be converted to int +3.14 | (object) array ( 'foo' => 1, 'bar' => 2 ) = 3 - Notice Object of class stdClass could not be converted to int +3.14 | (object) array ( 'bar' => 1, 'foo' => 2 ) = 3 - Notice Object of class stdClass could not be converted to int +3.14 | DateTime = 3 - Notice Object of class DateTime could not be converted to int +3.14 | resource = 7 +3.14 | NULL = 3 +'0' | false = 0 +'0' | true = 1 +'0' | 0 = 0 +'0' | 10 = 10 +'0' | 0.0 = 0 +'0' | 10.0 = 10 +'0' | 3.14 = 3 +'0' | '0' = base64:MA== +'0' | '10' = base64:MTA= +'0' | '010' = base64:MDEw +'0' | '10 elephants' = base64:MTAgZWxlcGhhbnRz +'0' | 'foo' = base64:dm9v +'0' | array ( ) = 0 +'0' | array ( 0 => 1 ) = 1 +'0' | array ( 0 => 1, 1 => 100 ) = 1 +'0' | array ( 'foo' => 1, 'bar' => 2 ) = 1 +'0' | array ( 'bar' => 1, 'foo' => 2 ) = 1 +'0' | (object) array ( ) = 1 - Notice Object of class stdClass could not be converted to int +'0' | (object) array ( 'foo' => 1, 'bar' => 2 ) = 1 - Notice Object of class stdClass could not be converted to int +'0' | (object) array ( 'bar' => 1, 'foo' => 2 ) = 1 - Notice Object of class stdClass could not be converted to int +'0' | DateTime = 1 - Notice Object of class DateTime could not be converted to int +'0' | resource = 6 +'0' | NULL = 0 +'10' | false = 10 +'10' | true = 11 +'10' | 0 = 10 +'10' | 10 = 10 +'10' | 0.0 = 10 +'10' | 10.0 = 10 +'10' | 3.14 = 11 +'10' | '0' = base64:MTA= +'10' | '10' = base64:MTA= +'10' | '010' = base64:MTEw +'10' | '10 elephants' = base64:MTAgZWxlcGhhbnRz +'10' | 'foo' = base64:d39v +'10' | array ( ) = 10 +'10' | array ( 0 => 1 ) = 11 +'10' | array ( 0 => 1, 1 => 100 ) = 11 +'10' | array ( 'foo' => 1, 'bar' => 2 ) = 11 +'10' | array ( 'bar' => 1, 'foo' => 2 ) = 11 +'10' | (object) array ( ) = 11 - Notice Object of class stdClass could not be converted to int +'10' | (object) array ( 'foo' => 1, 'bar' => 2 ) = 11 - Notice Object of class stdClass could not be converted to int +'10' | (object) array ( 'bar' => 1, 'foo' => 2 ) = 11 - Notice Object of class stdClass could not be converted to int +'10' | DateTime = 11 - Notice Object of class DateTime could not be converted to int +'10' | resource = 14 +'10' | NULL = 10 +'010' | false = 10 +'010' | true = 11 +'010' | 0 = 10 +'010' | 10 = 10 +'010' | 0.0 = 10 +'010' | 10.0 = 10 +'010' | 3.14 = 11 +'010' | '0' = base64:MDEw +'010' | '10' = base64:MTEw +'010' | '010' = base64:MDEw +'010' | '10 elephants' = base64:MTEwZWxlcGhhbnRz +'010' | 'foo' = base64:dn9/ +'010' | array ( ) = 10 +'010' | array ( 0 => 1 ) = 11 +'010' | array ( 0 => 1, 1 => 100 ) = 11 +'010' | array ( 'foo' => 1, 'bar' => 2 ) = 11 +'010' | array ( 'bar' => 1, 'foo' => 2 ) = 11 +'010' | (object) array ( ) = 11 - Notice Object of class stdClass could not be converted to int +'010' | (object) array ( 'foo' => 1, 'bar' => 2 ) = 11 - Notice Object of class stdClass could not be converted to int +'010' | (object) array ( 'bar' => 1, 'foo' => 2 ) = 11 - Notice Object of class stdClass could not be converted to int +'010' | DateTime = 11 - Notice Object of class DateTime could not be converted to int +'010' | resource = 14 +'010' | NULL = 10 +'10 elephants' | false = 10 - Notice A non well formed numeric value encountered +'10 elephants' | true = 11 - Notice A non well formed numeric value encountered +'10 elephants' | 0 = 10 - Notice A non well formed numeric value encountered +'10 elephants' | 10 = 10 - Notice A non well formed numeric value encountered +'10 elephants' | 0.0 = 10 - Notice A non well formed numeric value encountered +'10 elephants' | 10.0 = 10 - Notice A non well formed numeric value encountered +'10 elephants' | 3.14 = 11 - Notice A non well formed numeric value encountered +'10 elephants' | '0' = base64:MTAgZWxlcGhhbnRz +'10 elephants' | '10' = base64:MTAgZWxlcGhhbnRz +'10 elephants' | '010' = base64:MTEwZWxlcGhhbnRz +'10 elephants' | '10 elephants' = base64:MTAgZWxlcGhhbnRz +'10 elephants' | 'foo' = base64:d39vZWxlcGhhbnRz +'10 elephants' | array ( ) = 10 - Notice A non well formed numeric value encountered +'10 elephants' | array ( 0 => 1 ) = 11 - Notice A non well formed numeric value encountered +'10 elephants' | array ( 0 => 1, 1 => 100 ) = 11 - Notice A non well formed numeric value encountered +'10 elephants' | array ( 'foo' => 1, 'bar' => 2 ) = 11 - Notice A non well formed numeric value encountered +'10 elephants' | array ( 'bar' => 1, 'foo' => 2 ) = 11 - Notice A non well formed numeric value encountered +'10 elephants' | (object) array ( ) = 11 - Notice Object of class stdClass could not be converted to int +'10 elephants' | (object) array ( 'foo' => 1, 'bar' => 2 ) = 11 - Notice Object of class stdClass could not be converted to int +'10 elephants' | (object) array ( 'bar' => 1, 'foo' => 2 ) = 11 - Notice Object of class stdClass could not be converted to int +'10 elephants' | DateTime = 11 - Notice Object of class DateTime could not be converted to int +'10 elephants' | resource = 14 - Notice A non well formed numeric value encountered +'10 elephants' | NULL = 10 - Notice A non well formed numeric value encountered +'foo' | false = 0 - Warning A non-numeric value encountered +'foo' | true = 1 - Warning A non-numeric value encountered +'foo' | 0 = 0 - Warning A non-numeric value encountered +'foo' | 10 = 10 - Warning A non-numeric value encountered +'foo' | 0.0 = 0 - Warning A non-numeric value encountered +'foo' | 10.0 = 10 - Warning A non-numeric value encountered +'foo' | 3.14 = 3 - Warning A non-numeric value encountered +'foo' | '0' = base64:dm9v +'foo' | '10' = base64:d39v +'foo' | '010' = base64:dn9/ +'foo' | '10 elephants' = base64:d39vZWxlcGhhbnRz +'foo' | 'foo' = base64:Zm9v +'foo' | array ( ) = 0 - Warning A non-numeric value encountered +'foo' | array ( 0 => 1 ) = 1 - Warning A non-numeric value encountered +'foo' | array ( 0 => 1, 1 => 100 ) = 1 - Warning A non-numeric value encountered +'foo' | array ( 'foo' => 1, 'bar' => 2 ) = 1 - Warning A non-numeric value encountered +'foo' | array ( 'bar' => 1, 'foo' => 2 ) = 1 - Warning A non-numeric value encountered +'foo' | (object) array ( ) = 1 - Notice Object of class stdClass could not be converted to int +'foo' | (object) array ( 'foo' => 1, 'bar' => 2 ) = 1 - Notice Object of class stdClass could not be converted to int +'foo' | (object) array ( 'bar' => 1, 'foo' => 2 ) = 1 - Notice Object of class stdClass could not be converted to int +'foo' | DateTime = 1 - Notice Object of class DateTime could not be converted to int +'foo' | resource = 6 - Warning A non-numeric value encountered +'foo' | NULL = 0 - Warning A non-numeric value encountered +array ( ) | false = 0 +array ( ) | true = 1 +array ( ) | 0 = 0 +array ( ) | 10 = 10 +array ( ) | 0.0 = 0 +array ( ) | 10.0 = 10 +array ( ) | 3.14 = 3 +array ( ) | '0' = 0 +array ( ) | '10' = 10 +array ( ) | '010' = 10 +array ( ) | '10 elephants' = 10 - Notice A non well formed numeric value encountered +array ( ) | 'foo' = 0 - Warning A non-numeric value encountered +array ( ) | array ( ) = 0 +array ( ) | array ( 0 => 1 ) = 1 +array ( ) | array ( 0 => 1, 1 => 100 ) = 1 +array ( ) | array ( 'foo' => 1, 'bar' => 2 ) = 1 +array ( ) | array ( 'bar' => 1, 'foo' => 2 ) = 1 +array ( ) | (object) array ( ) = 1 - Notice Object of class stdClass could not be converted to int +array ( ) | (object) array ( 'foo' => 1, 'bar' => 2 ) = 1 - Notice Object of class stdClass could not be converted to int +array ( ) | (object) array ( 'bar' => 1, 'foo' => 2 ) = 1 - Notice Object of class stdClass could not be converted to int +array ( ) | DateTime = 1 - Notice Object of class DateTime could not be converted to int +array ( ) | resource = 6 +array ( ) | NULL = 0 +array ( 0 => 1 ) | false = 1 +array ( 0 => 1 ) | true = 1 +array ( 0 => 1 ) | 0 = 1 +array ( 0 => 1 ) | 10 = 11 +array ( 0 => 1 ) | 0.0 = 1 +array ( 0 => 1 ) | 10.0 = 11 +array ( 0 => 1 ) | 3.14 = 3 +array ( 0 => 1 ) | '0' = 1 +array ( 0 => 1 ) | '10' = 11 +array ( 0 => 1 ) | '010' = 11 +array ( 0 => 1 ) | '10 elephants' = 11 - Notice A non well formed numeric value encountered +array ( 0 => 1 ) | 'foo' = 1 - Warning A non-numeric value encountered +array ( 0 => 1 ) | array ( ) = 1 +array ( 0 => 1 ) | array ( 0 => 1 ) = 1 +array ( 0 => 1 ) | array ( 0 => 1, 1 => 100 ) = 1 +array ( 0 => 1 ) | array ( 'foo' => 1, 'bar' => 2 ) = 1 +array ( 0 => 1 ) | array ( 'bar' => 1, 'foo' => 2 ) = 1 +array ( 0 => 1 ) | (object) array ( ) = 1 - Notice Object of class stdClass could not be converted to int +array ( 0 => 1 ) | (object) array ( 'foo' => 1, 'bar' => 2 ) = 1 - Notice Object of class stdClass could not be converted to int +array ( 0 => 1 ) | (object) array ( 'bar' => 1, 'foo' => 2 ) = 1 - Notice Object of class stdClass could not be converted to int +array ( 0 => 1 ) | DateTime = 1 - Notice Object of class DateTime could not be converted to int +array ( 0 => 1 ) | resource = 7 +array ( 0 => 1 ) | NULL = 1 +array ( 0 => 1, 1 => 100 ) | false = 1 +array ( 0 => 1, 1 => 100 ) | true = 1 +array ( 0 => 1, 1 => 100 ) | 0 = 1 +array ( 0 => 1, 1 => 100 ) | 10 = 11 +array ( 0 => 1, 1 => 100 ) | 0.0 = 1 +array ( 0 => 1, 1 => 100 ) | 10.0 = 11 +array ( 0 => 1, 1 => 100 ) | 3.14 = 3 +array ( 0 => 1, 1 => 100 ) | '0' = 1 +array ( 0 => 1, 1 => 100 ) | '10' = 11 +array ( 0 => 1, 1 => 100 ) | '010' = 11 +array ( 0 => 1, 1 => 100 ) | '10 elephants' = 11 - Notice A non well formed numeric value encountered +array ( 0 => 1, 1 => 100 ) | 'foo' = 1 - Warning A non-numeric value encountered +array ( 0 => 1, 1 => 100 ) | array ( ) = 1 +array ( 0 => 1, 1 => 100 ) | array ( 0 => 1 ) = 1 +array ( 0 => 1, 1 => 100 ) | array ( 0 => 1, 1 => 100 ) = 1 +array ( 0 => 1, 1 => 100 ) | array ( 'foo' => 1, 'bar' => 2 ) = 1 +array ( 0 => 1, 1 => 100 ) | array ( 'bar' => 1, 'foo' => 2 ) = 1 +array ( 0 => 1, 1 => 100 ) | (object) array ( ) = 1 - Notice Object of class stdClass could not be converted to int +array ( 0 => 1, 1 => 100 ) | (object) array ( 'foo' => 1, 'bar' => 2 ) = 1 - Notice Object of class stdClass could not be converted to int +array ( 0 => 1, 1 => 100 ) | (object) array ( 'bar' => 1, 'foo' => 2 ) = 1 - Notice Object of class stdClass could not be converted to int +array ( 0 => 1, 1 => 100 ) | DateTime = 1 - Notice Object of class DateTime could not be converted to int +array ( 0 => 1, 1 => 100 ) | resource = 7 +array ( 0 => 1, 1 => 100 ) | NULL = 1 +array ( 'foo' => 1, 'bar' => 2 ) | false = 1 +array ( 'foo' => 1, 'bar' => 2 ) | true = 1 +array ( 'foo' => 1, 'bar' => 2 ) | 0 = 1 +array ( 'foo' => 1, 'bar' => 2 ) | 10 = 11 +array ( 'foo' => 1, 'bar' => 2 ) | 0.0 = 1 +array ( 'foo' => 1, 'bar' => 2 ) | 10.0 = 11 +array ( 'foo' => 1, 'bar' => 2 ) | 3.14 = 3 +array ( 'foo' => 1, 'bar' => 2 ) | '0' = 1 +array ( 'foo' => 1, 'bar' => 2 ) | '10' = 11 +array ( 'foo' => 1, 'bar' => 2 ) | '010' = 11 +array ( 'foo' => 1, 'bar' => 2 ) | '10 elephants' = 11 - Notice A non well formed numeric value encountered +array ( 'foo' => 1, 'bar' => 2 ) | 'foo' = 1 - Warning A non-numeric value encountered +array ( 'foo' => 1, 'bar' => 2 ) | array ( ) = 1 +array ( 'foo' => 1, 'bar' => 2 ) | array ( 0 => 1 ) = 1 +array ( 'foo' => 1, 'bar' => 2 ) | array ( 0 => 1, 1 => 100 ) = 1 +array ( 'foo' => 1, 'bar' => 2 ) | array ( 'foo' => 1, 'bar' => 2 ) = 1 +array ( 'foo' => 1, 'bar' => 2 ) | array ( 'bar' => 1, 'foo' => 2 ) = 1 +array ( 'foo' => 1, 'bar' => 2 ) | (object) array ( ) = 1 - Notice Object of class stdClass could not be converted to int +array ( 'foo' => 1, 'bar' => 2 ) | (object) array ( 'foo' => 1, 'bar' => 2 ) = 1 - Notice Object of class stdClass could not be converted to int +array ( 'foo' => 1, 'bar' => 2 ) | (object) array ( 'bar' => 1, 'foo' => 2 ) = 1 - Notice Object of class stdClass could not be converted to int +array ( 'foo' => 1, 'bar' => 2 ) | DateTime = 1 - Notice Object of class DateTime could not be converted to int +array ( 'foo' => 1, 'bar' => 2 ) | resource = 7 +array ( 'foo' => 1, 'bar' => 2 ) | NULL = 1 +array ( 'bar' => 1, 'foo' => 2 ) | false = 1 +array ( 'bar' => 1, 'foo' => 2 ) | true = 1 +array ( 'bar' => 1, 'foo' => 2 ) | 0 = 1 +array ( 'bar' => 1, 'foo' => 2 ) | 10 = 11 +array ( 'bar' => 1, 'foo' => 2 ) | 0.0 = 1 +array ( 'bar' => 1, 'foo' => 2 ) | 10.0 = 11 +array ( 'bar' => 1, 'foo' => 2 ) | 3.14 = 3 +array ( 'bar' => 1, 'foo' => 2 ) | '0' = 1 +array ( 'bar' => 1, 'foo' => 2 ) | '10' = 11 +array ( 'bar' => 1, 'foo' => 2 ) | '010' = 11 +array ( 'bar' => 1, 'foo' => 2 ) | '10 elephants' = 11 - Notice A non well formed numeric value encountered +array ( 'bar' => 1, 'foo' => 2 ) | 'foo' = 1 - Warning A non-numeric value encountered +array ( 'bar' => 1, 'foo' => 2 ) | array ( ) = 1 +array ( 'bar' => 1, 'foo' => 2 ) | array ( 0 => 1 ) = 1 +array ( 'bar' => 1, 'foo' => 2 ) | array ( 0 => 1, 1 => 100 ) = 1 +array ( 'bar' => 1, 'foo' => 2 ) | array ( 'foo' => 1, 'bar' => 2 ) = 1 +array ( 'bar' => 1, 'foo' => 2 ) | array ( 'bar' => 1, 'foo' => 2 ) = 1 +array ( 'bar' => 1, 'foo' => 2 ) | (object) array ( ) = 1 - Notice Object of class stdClass could not be converted to int +array ( 'bar' => 1, 'foo' => 2 ) | (object) array ( 'foo' => 1, 'bar' => 2 ) = 1 - Notice Object of class stdClass could not be converted to int +array ( 'bar' => 1, 'foo' => 2 ) | (object) array ( 'bar' => 1, 'foo' => 2 ) = 1 - Notice Object of class stdClass could not be converted to int +array ( 'bar' => 1, 'foo' => 2 ) | DateTime = 1 - Notice Object of class DateTime could not be converted to int +array ( 'bar' => 1, 'foo' => 2 ) | resource = 7 +array ( 'bar' => 1, 'foo' => 2 ) | NULL = 1 +(object) array ( ) | false = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( ) | true = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( ) | 0 = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( ) | 10 = 11 - Notice Object of class stdClass could not be converted to int +(object) array ( ) | 0.0 = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( ) | 10.0 = 11 - Notice Object of class stdClass could not be converted to int +(object) array ( ) | 3.14 = 3 - Notice Object of class stdClass could not be converted to int +(object) array ( ) | '0' = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( ) | '10' = 11 - Notice Object of class stdClass could not be converted to int +(object) array ( ) | '010' = 11 - Notice Object of class stdClass could not be converted to int +(object) array ( ) | '10 elephants' = 11 - Notice A non well formed numeric value encountered +(object) array ( ) | 'foo' = 1 - Warning A non-numeric value encountered +(object) array ( ) | array ( ) = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( ) | array ( 0 => 1 ) = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( ) | array ( 0 => 1, 1 => 100 ) = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( ) | array ( 'foo' => 1, 'bar' => 2 ) = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( ) | array ( 'bar' => 1, 'foo' => 2 ) = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( ) | (object) array ( ) = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( ) | (object) array ( 'foo' => 1, 'bar' => 2 ) = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( ) | (object) array ( 'bar' => 1, 'foo' => 2 ) = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( ) | DateTime = 1 - Notice Object of class DateTime could not be converted to int +(object) array ( ) | resource = 7 - Notice Object of class stdClass could not be converted to int +(object) array ( ) | NULL = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) | false = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) | true = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) | 0 = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) | 10 = 11 - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) | 0.0 = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) | 10.0 = 11 - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) | 3.14 = 3 - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) | '0' = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) | '10' = 11 - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) | '010' = 11 - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) | '10 elephants' = 11 - Notice A non well formed numeric value encountered +(object) array ( 'foo' => 1, 'bar' => 2 ) | 'foo' = 1 - Warning A non-numeric value encountered +(object) array ( 'foo' => 1, 'bar' => 2 ) | array ( ) = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) | array ( 0 => 1 ) = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) | array ( 0 => 1, 1 => 100 ) = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) | array ( 'foo' => 1, 'bar' => 2 ) = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) | array ( 'bar' => 1, 'foo' => 2 ) = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) | (object) array ( ) = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) | (object) array ( 'foo' => 1, 'bar' => 2 ) = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) | (object) array ( 'bar' => 1, 'foo' => 2 ) = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) | DateTime = 1 - Notice Object of class DateTime could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) | resource = 7 - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) | NULL = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) | false = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) | true = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) | 0 = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) | 10 = 11 - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) | 0.0 = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) | 10.0 = 11 - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) | 3.14 = 3 - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) | '0' = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) | '10' = 11 - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) | '010' = 11 - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) | '10 elephants' = 11 - Notice A non well formed numeric value encountered +(object) array ( 'bar' => 1, 'foo' => 2 ) | 'foo' = 1 - Warning A non-numeric value encountered +(object) array ( 'bar' => 1, 'foo' => 2 ) | array ( ) = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) | array ( 0 => 1 ) = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) | array ( 0 => 1, 1 => 100 ) = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) | array ( 'foo' => 1, 'bar' => 2 ) = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) | array ( 'bar' => 1, 'foo' => 2 ) = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) | (object) array ( ) = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) | (object) array ( 'foo' => 1, 'bar' => 2 ) = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) | (object) array ( 'bar' => 1, 'foo' => 2 ) = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) | DateTime = 1 - Notice Object of class DateTime could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) | resource = 7 - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) | NULL = 1 - Notice Object of class stdClass could not be converted to int +DateTime | false = 1 - Notice Object of class DateTime could not be converted to int +DateTime | true = 1 - Notice Object of class DateTime could not be converted to int +DateTime | 0 = 1 - Notice Object of class DateTime could not be converted to int +DateTime | 10 = 11 - Notice Object of class DateTime could not be converted to int +DateTime | 0.0 = 1 - Notice Object of class DateTime could not be converted to int +DateTime | 10.0 = 11 - Notice Object of class DateTime could not be converted to int +DateTime | 3.14 = 3 - Notice Object of class DateTime could not be converted to int +DateTime | '0' = 1 - Notice Object of class DateTime could not be converted to int +DateTime | '10' = 11 - Notice Object of class DateTime could not be converted to int +DateTime | '010' = 11 - Notice Object of class DateTime could not be converted to int +DateTime | '10 elephants' = 11 - Notice A non well formed numeric value encountered +DateTime | 'foo' = 1 - Warning A non-numeric value encountered +DateTime | array ( ) = 1 - Notice Object of class DateTime could not be converted to int +DateTime | array ( 0 => 1 ) = 1 - Notice Object of class DateTime could not be converted to int +DateTime | array ( 0 => 1, 1 => 100 ) = 1 - Notice Object of class DateTime could not be converted to int +DateTime | array ( 'foo' => 1, 'bar' => 2 ) = 1 - Notice Object of class DateTime could not be converted to int +DateTime | array ( 'bar' => 1, 'foo' => 2 ) = 1 - Notice Object of class DateTime could not be converted to int +DateTime | (object) array ( ) = 1 - Notice Object of class stdClass could not be converted to int +DateTime | (object) array ( 'foo' => 1, 'bar' => 2 ) = 1 - Notice Object of class stdClass could not be converted to int +DateTime | (object) array ( 'bar' => 1, 'foo' => 2 ) = 1 - Notice Object of class stdClass could not be converted to int +DateTime | DateTime = 1 - Notice Object of class DateTime could not be converted to int +DateTime | resource = 7 - Notice Object of class DateTime could not be converted to int +DateTime | NULL = 1 - Notice Object of class DateTime could not be converted to int +resource | false = 6 +resource | true = 7 +resource | 0 = 6 +resource | 10 = 14 +resource | 0.0 = 6 +resource | 10.0 = 14 +resource | 3.14 = 7 +resource | '0' = 6 +resource | '10' = 14 +resource | '010' = 14 +resource | '10 elephants' = 14 - Notice A non well formed numeric value encountered +resource | 'foo' = 6 - Warning A non-numeric value encountered +resource | array ( ) = 6 +resource | array ( 0 => 1 ) = 7 +resource | array ( 0 => 1, 1 => 100 ) = 7 +resource | array ( 'foo' => 1, 'bar' => 2 ) = 7 +resource | array ( 'bar' => 1, 'foo' => 2 ) = 7 +resource | (object) array ( ) = 7 - Notice Object of class stdClass could not be converted to int +resource | (object) array ( 'foo' => 1, 'bar' => 2 ) = 7 - Notice Object of class stdClass could not be converted to int +resource | (object) array ( 'bar' => 1, 'foo' => 2 ) = 7 - Notice Object of class stdClass could not be converted to int +resource | DateTime = 7 - Notice Object of class DateTime could not be converted to int +resource | resource = 6 +resource | NULL = 6 +NULL | false = 0 +NULL | true = 1 +NULL | 0 = 0 +NULL | 10 = 10 +NULL | 0.0 = 0 +NULL | 10.0 = 10 +NULL | 3.14 = 3 +NULL | '0' = 0 +NULL | '10' = 10 +NULL | '010' = 10 +NULL | '10 elephants' = 10 - Notice A non well formed numeric value encountered +NULL | 'foo' = 0 - Warning A non-numeric value encountered +NULL | array ( ) = 0 +NULL | array ( 0 => 1 ) = 1 +NULL | array ( 0 => 1, 1 => 100 ) = 1 +NULL | array ( 'foo' => 1, 'bar' => 2 ) = 1 +NULL | array ( 'bar' => 1, 'foo' => 2 ) = 1 +NULL | (object) array ( ) = 1 - Notice Object of class stdClass could not be converted to int +NULL | (object) array ( 'foo' => 1, 'bar' => 2 ) = 1 - Notice Object of class stdClass could not be converted to int +NULL | (object) array ( 'bar' => 1, 'foo' => 2 ) = 1 - Notice Object of class stdClass could not be converted to int +NULL | DateTime = 1 - Notice Object of class DateTime could not be converted to int +NULL | resource = 6 +NULL | NULL = 0 \ No newline at end of file diff --git a/Zend/tests/operators/bitwise/or_strict.phpt b/Zend/tests/operators/bitwise/or_strict.phpt new file mode 100644 index 000000000000..c2e8c539b6b1 --- /dev/null +++ b/Zend/tests/operators/bitwise/or_strict.phpt @@ -0,0 +1,542 @@ +--TEST-- +bitwise or operator with strict operators +--FILE-- + 1 ) - TypeError Unsupported operand type bool for bitwise or +false | array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type bool for bitwise or +false | array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type bool for bitwise or +false | array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type bool for bitwise or +false | (object) array ( ) - TypeError Unsupported operand type bool for bitwise or +false | (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type bool for bitwise or +false | (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type bool for bitwise or +false | DateTime - TypeError Unsupported operand type bool for bitwise or +false | resource - TypeError Unsupported operand type bool for bitwise or +false | NULL - TypeError Unsupported operand type bool for bitwise or +true | false - TypeError Unsupported operand type bool for bitwise or +true | true - TypeError Unsupported operand type bool for bitwise or +true | 0 - TypeError Unsupported operand type bool for bitwise or +true | 10 - TypeError Unsupported operand type bool for bitwise or +true | 0.0 - TypeError Unsupported operand type bool for bitwise or +true | 10.0 - TypeError Unsupported operand type bool for bitwise or +true | 3.14 - TypeError Unsupported operand type bool for bitwise or +true | '0' - TypeError Unsupported operand type bool for bitwise or +true | '10' - TypeError Unsupported operand type bool for bitwise or +true | '010' - TypeError Unsupported operand type bool for bitwise or +true | '10 elephants' - TypeError Unsupported operand type bool for bitwise or +true | 'foo' - TypeError Unsupported operand type bool for bitwise or +true | array ( ) - TypeError Unsupported operand type bool for bitwise or +true | array ( 0 => 1 ) - TypeError Unsupported operand type bool for bitwise or +true | array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type bool for bitwise or +true | array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type bool for bitwise or +true | array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type bool for bitwise or +true | (object) array ( ) - TypeError Unsupported operand type bool for bitwise or +true | (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type bool for bitwise or +true | (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type bool for bitwise or +true | DateTime - TypeError Unsupported operand type bool for bitwise or +true | resource - TypeError Unsupported operand type bool for bitwise or +true | NULL - TypeError Unsupported operand type bool for bitwise or +0 | false - TypeError Unsupported operand type bool for bitwise or +0 | true - TypeError Unsupported operand type bool for bitwise or +0 | 0 = 0 +0 | 10 = 10 +0 | 0.0 - TypeError Unsupported operand type float for bitwise or +0 | 10.0 - TypeError Unsupported operand type float for bitwise or +0 | 3.14 - TypeError Unsupported operand type float for bitwise or +0 | '0' - TypeError Operand type mismatch int and string for bitwise or +0 | '10' - TypeError Operand type mismatch int and string for bitwise or +0 | '010' - TypeError Operand type mismatch int and string for bitwise or +0 | '10 elephants' - TypeError Operand type mismatch int and string for bitwise or +0 | 'foo' - TypeError Operand type mismatch int and string for bitwise or +0 | array ( ) - TypeError Unsupported operand type array for bitwise or +0 | array ( 0 => 1 ) - TypeError Unsupported operand type array for bitwise or +0 | array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for bitwise or +0 | array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for bitwise or +0 | array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for bitwise or +0 | (object) array ( ) - TypeError Unsupported operand type object for bitwise or +0 | (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for bitwise or +0 | (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for bitwise or +0 | DateTime - TypeError Unsupported operand type object for bitwise or +0 | resource - TypeError Unsupported operand type resource for bitwise or +0 | NULL - TypeError Unsupported operand type null for bitwise or +10 | false - TypeError Unsupported operand type bool for bitwise or +10 | true - TypeError Unsupported operand type bool for bitwise or +10 | 0 = 10 +10 | 10 = 10 +10 | 0.0 - TypeError Unsupported operand type float for bitwise or +10 | 10.0 - TypeError Unsupported operand type float for bitwise or +10 | 3.14 - TypeError Unsupported operand type float for bitwise or +10 | '0' - TypeError Operand type mismatch int and string for bitwise or +10 | '10' - TypeError Operand type mismatch int and string for bitwise or +10 | '010' - TypeError Operand type mismatch int and string for bitwise or +10 | '10 elephants' - TypeError Operand type mismatch int and string for bitwise or +10 | 'foo' - TypeError Operand type mismatch int and string for bitwise or +10 | array ( ) - TypeError Unsupported operand type array for bitwise or +10 | array ( 0 => 1 ) - TypeError Unsupported operand type array for bitwise or +10 | array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for bitwise or +10 | array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for bitwise or +10 | array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for bitwise or +10 | (object) array ( ) - TypeError Unsupported operand type object for bitwise or +10 | (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for bitwise or +10 | (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for bitwise or +10 | DateTime - TypeError Unsupported operand type object for bitwise or +10 | resource - TypeError Unsupported operand type resource for bitwise or +10 | NULL - TypeError Unsupported operand type null for bitwise or +0.0 | false - TypeError Unsupported operand type float for bitwise or +0.0 | true - TypeError Unsupported operand type float for bitwise or +0.0 | 0 - TypeError Unsupported operand type float for bitwise or +0.0 | 10 - TypeError Unsupported operand type float for bitwise or +0.0 | 0.0 - TypeError Unsupported operand type float for bitwise or +0.0 | 10.0 - TypeError Unsupported operand type float for bitwise or +0.0 | 3.14 - TypeError Unsupported operand type float for bitwise or +0.0 | '0' - TypeError Unsupported operand type float for bitwise or +0.0 | '10' - TypeError Unsupported operand type float for bitwise or +0.0 | '010' - TypeError Unsupported operand type float for bitwise or +0.0 | '10 elephants' - TypeError Unsupported operand type float for bitwise or +0.0 | 'foo' - TypeError Unsupported operand type float for bitwise or +0.0 | array ( ) - TypeError Unsupported operand type float for bitwise or +0.0 | array ( 0 => 1 ) - TypeError Unsupported operand type float for bitwise or +0.0 | array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type float for bitwise or +0.0 | array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type float for bitwise or +0.0 | array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type float for bitwise or +0.0 | (object) array ( ) - TypeError Unsupported operand type float for bitwise or +0.0 | (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type float for bitwise or +0.0 | (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type float for bitwise or +0.0 | DateTime - TypeError Unsupported operand type float for bitwise or +0.0 | resource - TypeError Unsupported operand type float for bitwise or +0.0 | NULL - TypeError Unsupported operand type float for bitwise or +10.0 | false - TypeError Unsupported operand type float for bitwise or +10.0 | true - TypeError Unsupported operand type float for bitwise or +10.0 | 0 - TypeError Unsupported operand type float for bitwise or +10.0 | 10 - TypeError Unsupported operand type float for bitwise or +10.0 | 0.0 - TypeError Unsupported operand type float for bitwise or +10.0 | 10.0 - TypeError Unsupported operand type float for bitwise or +10.0 | 3.14 - TypeError Unsupported operand type float for bitwise or +10.0 | '0' - TypeError Unsupported operand type float for bitwise or +10.0 | '10' - TypeError Unsupported operand type float for bitwise or +10.0 | '010' - TypeError Unsupported operand type float for bitwise or +10.0 | '10 elephants' - TypeError Unsupported operand type float for bitwise or +10.0 | 'foo' - TypeError Unsupported operand type float for bitwise or +10.0 | array ( ) - TypeError Unsupported operand type float for bitwise or +10.0 | array ( 0 => 1 ) - TypeError Unsupported operand type float for bitwise or +10.0 | array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type float for bitwise or +10.0 | array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type float for bitwise or +10.0 | array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type float for bitwise or +10.0 | (object) array ( ) - TypeError Unsupported operand type float for bitwise or +10.0 | (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type float for bitwise or +10.0 | (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type float for bitwise or +10.0 | DateTime - TypeError Unsupported operand type float for bitwise or +10.0 | resource - TypeError Unsupported operand type float for bitwise or +10.0 | NULL - TypeError Unsupported operand type float for bitwise or +3.14 | false - TypeError Unsupported operand type float for bitwise or +3.14 | true - TypeError Unsupported operand type float for bitwise or +3.14 | 0 - TypeError Unsupported operand type float for bitwise or +3.14 | 10 - TypeError Unsupported operand type float for bitwise or +3.14 | 0.0 - TypeError Unsupported operand type float for bitwise or +3.14 | 10.0 - TypeError Unsupported operand type float for bitwise or +3.14 | 3.14 - TypeError Unsupported operand type float for bitwise or +3.14 | '0' - TypeError Unsupported operand type float for bitwise or +3.14 | '10' - TypeError Unsupported operand type float for bitwise or +3.14 | '010' - TypeError Unsupported operand type float for bitwise or +3.14 | '10 elephants' - TypeError Unsupported operand type float for bitwise or +3.14 | 'foo' - TypeError Unsupported operand type float for bitwise or +3.14 | array ( ) - TypeError Unsupported operand type float for bitwise or +3.14 | array ( 0 => 1 ) - TypeError Unsupported operand type float for bitwise or +3.14 | array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type float for bitwise or +3.14 | array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type float for bitwise or +3.14 | array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type float for bitwise or +3.14 | (object) array ( ) - TypeError Unsupported operand type float for bitwise or +3.14 | (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type float for bitwise or +3.14 | (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type float for bitwise or +3.14 | DateTime - TypeError Unsupported operand type float for bitwise or +3.14 | resource - TypeError Unsupported operand type float for bitwise or +3.14 | NULL - TypeError Unsupported operand type float for bitwise or +'0' | false - TypeError Unsupported operand type bool for bitwise or +'0' | true - TypeError Unsupported operand type bool for bitwise or +'0' | 0 - TypeError Operand type mismatch string and int for bitwise or +'0' | 10 - TypeError Operand type mismatch string and int for bitwise or +'0' | 0.0 - TypeError Unsupported operand type float for bitwise or +'0' | 10.0 - TypeError Unsupported operand type float for bitwise or +'0' | 3.14 - TypeError Unsupported operand type float for bitwise or +'0' | '0' = base64:MA== +'0' | '10' = base64:MTA= +'0' | '010' = base64:MDEw +'0' | '10 elephants' = base64:MTAgZWxlcGhhbnRz +'0' | 'foo' = base64:dm9v +'0' | array ( ) - TypeError Unsupported operand type array for bitwise or +'0' | array ( 0 => 1 ) - TypeError Unsupported operand type array for bitwise or +'0' | array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for bitwise or +'0' | array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for bitwise or +'0' | array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for bitwise or +'0' | (object) array ( ) - TypeError Unsupported operand type object for bitwise or +'0' | (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for bitwise or +'0' | (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for bitwise or +'0' | DateTime - TypeError Unsupported operand type object for bitwise or +'0' | resource - TypeError Unsupported operand type resource for bitwise or +'0' | NULL - TypeError Unsupported operand type null for bitwise or +'10' | false - TypeError Unsupported operand type bool for bitwise or +'10' | true - TypeError Unsupported operand type bool for bitwise or +'10' | 0 - TypeError Operand type mismatch string and int for bitwise or +'10' | 10 - TypeError Operand type mismatch string and int for bitwise or +'10' | 0.0 - TypeError Unsupported operand type float for bitwise or +'10' | 10.0 - TypeError Unsupported operand type float for bitwise or +'10' | 3.14 - TypeError Unsupported operand type float for bitwise or +'10' | '0' = base64:MTA= +'10' | '10' = base64:MTA= +'10' | '010' = base64:MTEw +'10' | '10 elephants' = base64:MTAgZWxlcGhhbnRz +'10' | 'foo' = base64:d39v +'10' | array ( ) - TypeError Unsupported operand type array for bitwise or +'10' | array ( 0 => 1 ) - TypeError Unsupported operand type array for bitwise or +'10' | array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for bitwise or +'10' | array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for bitwise or +'10' | array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for bitwise or +'10' | (object) array ( ) - TypeError Unsupported operand type object for bitwise or +'10' | (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for bitwise or +'10' | (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for bitwise or +'10' | DateTime - TypeError Unsupported operand type object for bitwise or +'10' | resource - TypeError Unsupported operand type resource for bitwise or +'10' | NULL - TypeError Unsupported operand type null for bitwise or +'010' | false - TypeError Unsupported operand type bool for bitwise or +'010' | true - TypeError Unsupported operand type bool for bitwise or +'010' | 0 - TypeError Operand type mismatch string and int for bitwise or +'010' | 10 - TypeError Operand type mismatch string and int for bitwise or +'010' | 0.0 - TypeError Unsupported operand type float for bitwise or +'010' | 10.0 - TypeError Unsupported operand type float for bitwise or +'010' | 3.14 - TypeError Unsupported operand type float for bitwise or +'010' | '0' = base64:MDEw +'010' | '10' = base64:MTEw +'010' | '010' = base64:MDEw +'010' | '10 elephants' = base64:MTEwZWxlcGhhbnRz +'010' | 'foo' = base64:dn9/ +'010' | array ( ) - TypeError Unsupported operand type array for bitwise or +'010' | array ( 0 => 1 ) - TypeError Unsupported operand type array for bitwise or +'010' | array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for bitwise or +'010' | array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for bitwise or +'010' | array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for bitwise or +'010' | (object) array ( ) - TypeError Unsupported operand type object for bitwise or +'010' | (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for bitwise or +'010' | (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for bitwise or +'010' | DateTime - TypeError Unsupported operand type object for bitwise or +'010' | resource - TypeError Unsupported operand type resource for bitwise or +'010' | NULL - TypeError Unsupported operand type null for bitwise or +'10 elephants' | false - TypeError Unsupported operand type bool for bitwise or +'10 elephants' | true - TypeError Unsupported operand type bool for bitwise or +'10 elephants' | 0 - TypeError Operand type mismatch string and int for bitwise or +'10 elephants' | 10 - TypeError Operand type mismatch string and int for bitwise or +'10 elephants' | 0.0 - TypeError Unsupported operand type float for bitwise or +'10 elephants' | 10.0 - TypeError Unsupported operand type float for bitwise or +'10 elephants' | 3.14 - TypeError Unsupported operand type float for bitwise or +'10 elephants' | '0' = base64:MTAgZWxlcGhhbnRz +'10 elephants' | '10' = base64:MTAgZWxlcGhhbnRz +'10 elephants' | '010' = base64:MTEwZWxlcGhhbnRz +'10 elephants' | '10 elephants' = base64:MTAgZWxlcGhhbnRz +'10 elephants' | 'foo' = base64:d39vZWxlcGhhbnRz +'10 elephants' | array ( ) - TypeError Unsupported operand type array for bitwise or +'10 elephants' | array ( 0 => 1 ) - TypeError Unsupported operand type array for bitwise or +'10 elephants' | array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for bitwise or +'10 elephants' | array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for bitwise or +'10 elephants' | array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for bitwise or +'10 elephants' | (object) array ( ) - TypeError Unsupported operand type object for bitwise or +'10 elephants' | (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for bitwise or +'10 elephants' | (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for bitwise or +'10 elephants' | DateTime - TypeError Unsupported operand type object for bitwise or +'10 elephants' | resource - TypeError Unsupported operand type resource for bitwise or +'10 elephants' | NULL - TypeError Unsupported operand type null for bitwise or +'foo' | false - TypeError Unsupported operand type bool for bitwise or +'foo' | true - TypeError Unsupported operand type bool for bitwise or +'foo' | 0 - TypeError Operand type mismatch string and int for bitwise or +'foo' | 10 - TypeError Operand type mismatch string and int for bitwise or +'foo' | 0.0 - TypeError Unsupported operand type float for bitwise or +'foo' | 10.0 - TypeError Unsupported operand type float for bitwise or +'foo' | 3.14 - TypeError Unsupported operand type float for bitwise or +'foo' | '0' = base64:dm9v +'foo' | '10' = base64:d39v +'foo' | '010' = base64:dn9/ +'foo' | '10 elephants' = base64:d39vZWxlcGhhbnRz +'foo' | 'foo' = base64:Zm9v +'foo' | array ( ) - TypeError Unsupported operand type array for bitwise or +'foo' | array ( 0 => 1 ) - TypeError Unsupported operand type array for bitwise or +'foo' | array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for bitwise or +'foo' | array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for bitwise or +'foo' | array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for bitwise or +'foo' | (object) array ( ) - TypeError Unsupported operand type object for bitwise or +'foo' | (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for bitwise or +'foo' | (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for bitwise or +'foo' | DateTime - TypeError Unsupported operand type object for bitwise or +'foo' | resource - TypeError Unsupported operand type resource for bitwise or +'foo' | NULL - TypeError Unsupported operand type null for bitwise or +array ( ) | false - TypeError Unsupported operand type array for bitwise or +array ( ) | true - TypeError Unsupported operand type array for bitwise or +array ( ) | 0 - TypeError Unsupported operand type array for bitwise or +array ( ) | 10 - TypeError Unsupported operand type array for bitwise or +array ( ) | 0.0 - TypeError Unsupported operand type array for bitwise or +array ( ) | 10.0 - TypeError Unsupported operand type array for bitwise or +array ( ) | 3.14 - TypeError Unsupported operand type array for bitwise or +array ( ) | '0' - TypeError Unsupported operand type array for bitwise or +array ( ) | '10' - TypeError Unsupported operand type array for bitwise or +array ( ) | '010' - TypeError Unsupported operand type array for bitwise or +array ( ) | '10 elephants' - TypeError Unsupported operand type array for bitwise or +array ( ) | 'foo' - TypeError Unsupported operand type array for bitwise or +array ( ) | array ( ) - TypeError Unsupported operand type array for bitwise or +array ( ) | array ( 0 => 1 ) - TypeError Unsupported operand type array for bitwise or +array ( ) | array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for bitwise or +array ( ) | array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for bitwise or +array ( ) | array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for bitwise or +array ( ) | (object) array ( ) - TypeError Unsupported operand type array for bitwise or +array ( ) | (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for bitwise or +array ( ) | (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for bitwise or +array ( ) | DateTime - TypeError Unsupported operand type array for bitwise or +array ( ) | resource - TypeError Unsupported operand type array for bitwise or +array ( ) | NULL - TypeError Unsupported operand type array for bitwise or +array ( 0 => 1 ) | false - TypeError Unsupported operand type array for bitwise or +array ( 0 => 1 ) | true - TypeError Unsupported operand type array for bitwise or +array ( 0 => 1 ) | 0 - TypeError Unsupported operand type array for bitwise or +array ( 0 => 1 ) | 10 - TypeError Unsupported operand type array for bitwise or +array ( 0 => 1 ) | 0.0 - TypeError Unsupported operand type array for bitwise or +array ( 0 => 1 ) | 10.0 - TypeError Unsupported operand type array for bitwise or +array ( 0 => 1 ) | 3.14 - TypeError Unsupported operand type array for bitwise or +array ( 0 => 1 ) | '0' - TypeError Unsupported operand type array for bitwise or +array ( 0 => 1 ) | '10' - TypeError Unsupported operand type array for bitwise or +array ( 0 => 1 ) | '010' - TypeError Unsupported operand type array for bitwise or +array ( 0 => 1 ) | '10 elephants' - TypeError Unsupported operand type array for bitwise or +array ( 0 => 1 ) | 'foo' - TypeError Unsupported operand type array for bitwise or +array ( 0 => 1 ) | array ( ) - TypeError Unsupported operand type array for bitwise or +array ( 0 => 1 ) | array ( 0 => 1 ) - TypeError Unsupported operand type array for bitwise or +array ( 0 => 1 ) | array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for bitwise or +array ( 0 => 1 ) | array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for bitwise or +array ( 0 => 1 ) | array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for bitwise or +array ( 0 => 1 ) | (object) array ( ) - TypeError Unsupported operand type array for bitwise or +array ( 0 => 1 ) | (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for bitwise or +array ( 0 => 1 ) | (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for bitwise or +array ( 0 => 1 ) | DateTime - TypeError Unsupported operand type array for bitwise or +array ( 0 => 1 ) | resource - TypeError Unsupported operand type array for bitwise or +array ( 0 => 1 ) | NULL - TypeError Unsupported operand type array for bitwise or +array ( 0 => 1, 1 => 100 ) | false - TypeError Unsupported operand type array for bitwise or +array ( 0 => 1, 1 => 100 ) | true - TypeError Unsupported operand type array for bitwise or +array ( 0 => 1, 1 => 100 ) | 0 - TypeError Unsupported operand type array for bitwise or +array ( 0 => 1, 1 => 100 ) | 10 - TypeError Unsupported operand type array for bitwise or +array ( 0 => 1, 1 => 100 ) | 0.0 - TypeError Unsupported operand type array for bitwise or +array ( 0 => 1, 1 => 100 ) | 10.0 - TypeError Unsupported operand type array for bitwise or +array ( 0 => 1, 1 => 100 ) | 3.14 - TypeError Unsupported operand type array for bitwise or +array ( 0 => 1, 1 => 100 ) | '0' - TypeError Unsupported operand type array for bitwise or +array ( 0 => 1, 1 => 100 ) | '10' - TypeError Unsupported operand type array for bitwise or +array ( 0 => 1, 1 => 100 ) | '010' - TypeError Unsupported operand type array for bitwise or +array ( 0 => 1, 1 => 100 ) | '10 elephants' - TypeError Unsupported operand type array for bitwise or +array ( 0 => 1, 1 => 100 ) | 'foo' - TypeError Unsupported operand type array for bitwise or +array ( 0 => 1, 1 => 100 ) | array ( ) - TypeError Unsupported operand type array for bitwise or +array ( 0 => 1, 1 => 100 ) | array ( 0 => 1 ) - TypeError Unsupported operand type array for bitwise or +array ( 0 => 1, 1 => 100 ) | array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for bitwise or +array ( 0 => 1, 1 => 100 ) | array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for bitwise or +array ( 0 => 1, 1 => 100 ) | array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for bitwise or +array ( 0 => 1, 1 => 100 ) | (object) array ( ) - TypeError Unsupported operand type array for bitwise or +array ( 0 => 1, 1 => 100 ) | (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for bitwise or +array ( 0 => 1, 1 => 100 ) | (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for bitwise or +array ( 0 => 1, 1 => 100 ) | DateTime - TypeError Unsupported operand type array for bitwise or +array ( 0 => 1, 1 => 100 ) | resource - TypeError Unsupported operand type array for bitwise or +array ( 0 => 1, 1 => 100 ) | NULL - TypeError Unsupported operand type array for bitwise or +array ( 'foo' => 1, 'bar' => 2 ) | false - TypeError Unsupported operand type array for bitwise or +array ( 'foo' => 1, 'bar' => 2 ) | true - TypeError Unsupported operand type array for bitwise or +array ( 'foo' => 1, 'bar' => 2 ) | 0 - TypeError Unsupported operand type array for bitwise or +array ( 'foo' => 1, 'bar' => 2 ) | 10 - TypeError Unsupported operand type array for bitwise or +array ( 'foo' => 1, 'bar' => 2 ) | 0.0 - TypeError Unsupported operand type array for bitwise or +array ( 'foo' => 1, 'bar' => 2 ) | 10.0 - TypeError Unsupported operand type array for bitwise or +array ( 'foo' => 1, 'bar' => 2 ) | 3.14 - TypeError Unsupported operand type array for bitwise or +array ( 'foo' => 1, 'bar' => 2 ) | '0' - TypeError Unsupported operand type array for bitwise or +array ( 'foo' => 1, 'bar' => 2 ) | '10' - TypeError Unsupported operand type array for bitwise or +array ( 'foo' => 1, 'bar' => 2 ) | '010' - TypeError Unsupported operand type array for bitwise or +array ( 'foo' => 1, 'bar' => 2 ) | '10 elephants' - TypeError Unsupported operand type array for bitwise or +array ( 'foo' => 1, 'bar' => 2 ) | 'foo' - TypeError Unsupported operand type array for bitwise or +array ( 'foo' => 1, 'bar' => 2 ) | array ( ) - TypeError Unsupported operand type array for bitwise or +array ( 'foo' => 1, 'bar' => 2 ) | array ( 0 => 1 ) - TypeError Unsupported operand type array for bitwise or +array ( 'foo' => 1, 'bar' => 2 ) | array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for bitwise or +array ( 'foo' => 1, 'bar' => 2 ) | array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for bitwise or +array ( 'foo' => 1, 'bar' => 2 ) | array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for bitwise or +array ( 'foo' => 1, 'bar' => 2 ) | (object) array ( ) - TypeError Unsupported operand type array for bitwise or +array ( 'foo' => 1, 'bar' => 2 ) | (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for bitwise or +array ( 'foo' => 1, 'bar' => 2 ) | (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for bitwise or +array ( 'foo' => 1, 'bar' => 2 ) | DateTime - TypeError Unsupported operand type array for bitwise or +array ( 'foo' => 1, 'bar' => 2 ) | resource - TypeError Unsupported operand type array for bitwise or +array ( 'foo' => 1, 'bar' => 2 ) | NULL - TypeError Unsupported operand type array for bitwise or +array ( 'bar' => 1, 'foo' => 2 ) | false - TypeError Unsupported operand type array for bitwise or +array ( 'bar' => 1, 'foo' => 2 ) | true - TypeError Unsupported operand type array for bitwise or +array ( 'bar' => 1, 'foo' => 2 ) | 0 - TypeError Unsupported operand type array for bitwise or +array ( 'bar' => 1, 'foo' => 2 ) | 10 - TypeError Unsupported operand type array for bitwise or +array ( 'bar' => 1, 'foo' => 2 ) | 0.0 - TypeError Unsupported operand type array for bitwise or +array ( 'bar' => 1, 'foo' => 2 ) | 10.0 - TypeError Unsupported operand type array for bitwise or +array ( 'bar' => 1, 'foo' => 2 ) | 3.14 - TypeError Unsupported operand type array for bitwise or +array ( 'bar' => 1, 'foo' => 2 ) | '0' - TypeError Unsupported operand type array for bitwise or +array ( 'bar' => 1, 'foo' => 2 ) | '10' - TypeError Unsupported operand type array for bitwise or +array ( 'bar' => 1, 'foo' => 2 ) | '010' - TypeError Unsupported operand type array for bitwise or +array ( 'bar' => 1, 'foo' => 2 ) | '10 elephants' - TypeError Unsupported operand type array for bitwise or +array ( 'bar' => 1, 'foo' => 2 ) | 'foo' - TypeError Unsupported operand type array for bitwise or +array ( 'bar' => 1, 'foo' => 2 ) | array ( ) - TypeError Unsupported operand type array for bitwise or +array ( 'bar' => 1, 'foo' => 2 ) | array ( 0 => 1 ) - TypeError Unsupported operand type array for bitwise or +array ( 'bar' => 1, 'foo' => 2 ) | array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for bitwise or +array ( 'bar' => 1, 'foo' => 2 ) | array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for bitwise or +array ( 'bar' => 1, 'foo' => 2 ) | array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for bitwise or +array ( 'bar' => 1, 'foo' => 2 ) | (object) array ( ) - TypeError Unsupported operand type array for bitwise or +array ( 'bar' => 1, 'foo' => 2 ) | (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for bitwise or +array ( 'bar' => 1, 'foo' => 2 ) | (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for bitwise or +array ( 'bar' => 1, 'foo' => 2 ) | DateTime - TypeError Unsupported operand type array for bitwise or +array ( 'bar' => 1, 'foo' => 2 ) | resource - TypeError Unsupported operand type array for bitwise or +array ( 'bar' => 1, 'foo' => 2 ) | NULL - TypeError Unsupported operand type array for bitwise or +(object) array ( ) | false - TypeError Unsupported operand type object for bitwise or +(object) array ( ) | true - TypeError Unsupported operand type object for bitwise or +(object) array ( ) | 0 - TypeError Unsupported operand type object for bitwise or +(object) array ( ) | 10 - TypeError Unsupported operand type object for bitwise or +(object) array ( ) | 0.0 - TypeError Unsupported operand type object for bitwise or +(object) array ( ) | 10.0 - TypeError Unsupported operand type object for bitwise or +(object) array ( ) | 3.14 - TypeError Unsupported operand type object for bitwise or +(object) array ( ) | '0' - TypeError Unsupported operand type object for bitwise or +(object) array ( ) | '10' - TypeError Unsupported operand type object for bitwise or +(object) array ( ) | '010' - TypeError Unsupported operand type object for bitwise or +(object) array ( ) | '10 elephants' - TypeError Unsupported operand type object for bitwise or +(object) array ( ) | 'foo' - TypeError Unsupported operand type object for bitwise or +(object) array ( ) | array ( ) - TypeError Unsupported operand type object for bitwise or +(object) array ( ) | array ( 0 => 1 ) - TypeError Unsupported operand type object for bitwise or +(object) array ( ) | array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type object for bitwise or +(object) array ( ) | array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for bitwise or +(object) array ( ) | array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for bitwise or +(object) array ( ) | (object) array ( ) - TypeError Unsupported operand type object for bitwise or +(object) array ( ) | (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for bitwise or +(object) array ( ) | (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for bitwise or +(object) array ( ) | DateTime - TypeError Unsupported operand type object for bitwise or +(object) array ( ) | resource - TypeError Unsupported operand type object for bitwise or +(object) array ( ) | NULL - TypeError Unsupported operand type object for bitwise or +(object) array ( 'foo' => 1, 'bar' => 2 ) | false - TypeError Unsupported operand type object for bitwise or +(object) array ( 'foo' => 1, 'bar' => 2 ) | true - TypeError Unsupported operand type object for bitwise or +(object) array ( 'foo' => 1, 'bar' => 2 ) | 0 - TypeError Unsupported operand type object for bitwise or +(object) array ( 'foo' => 1, 'bar' => 2 ) | 10 - TypeError Unsupported operand type object for bitwise or +(object) array ( 'foo' => 1, 'bar' => 2 ) | 0.0 - TypeError Unsupported operand type object for bitwise or +(object) array ( 'foo' => 1, 'bar' => 2 ) | 10.0 - TypeError Unsupported operand type object for bitwise or +(object) array ( 'foo' => 1, 'bar' => 2 ) | 3.14 - TypeError Unsupported operand type object for bitwise or +(object) array ( 'foo' => 1, 'bar' => 2 ) | '0' - TypeError Unsupported operand type object for bitwise or +(object) array ( 'foo' => 1, 'bar' => 2 ) | '10' - TypeError Unsupported operand type object for bitwise or +(object) array ( 'foo' => 1, 'bar' => 2 ) | '010' - TypeError Unsupported operand type object for bitwise or +(object) array ( 'foo' => 1, 'bar' => 2 ) | '10 elephants' - TypeError Unsupported operand type object for bitwise or +(object) array ( 'foo' => 1, 'bar' => 2 ) | 'foo' - TypeError Unsupported operand type object for bitwise or +(object) array ( 'foo' => 1, 'bar' => 2 ) | array ( ) - TypeError Unsupported operand type object for bitwise or +(object) array ( 'foo' => 1, 'bar' => 2 ) | array ( 0 => 1 ) - TypeError Unsupported operand type object for bitwise or +(object) array ( 'foo' => 1, 'bar' => 2 ) | array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type object for bitwise or +(object) array ( 'foo' => 1, 'bar' => 2 ) | array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for bitwise or +(object) array ( 'foo' => 1, 'bar' => 2 ) | array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for bitwise or +(object) array ( 'foo' => 1, 'bar' => 2 ) | (object) array ( ) - TypeError Unsupported operand type object for bitwise or +(object) array ( 'foo' => 1, 'bar' => 2 ) | (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for bitwise or +(object) array ( 'foo' => 1, 'bar' => 2 ) | (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for bitwise or +(object) array ( 'foo' => 1, 'bar' => 2 ) | DateTime - TypeError Unsupported operand type object for bitwise or +(object) array ( 'foo' => 1, 'bar' => 2 ) | resource - TypeError Unsupported operand type object for bitwise or +(object) array ( 'foo' => 1, 'bar' => 2 ) | NULL - TypeError Unsupported operand type object for bitwise or +(object) array ( 'bar' => 1, 'foo' => 2 ) | false - TypeError Unsupported operand type object for bitwise or +(object) array ( 'bar' => 1, 'foo' => 2 ) | true - TypeError Unsupported operand type object for bitwise or +(object) array ( 'bar' => 1, 'foo' => 2 ) | 0 - TypeError Unsupported operand type object for bitwise or +(object) array ( 'bar' => 1, 'foo' => 2 ) | 10 - TypeError Unsupported operand type object for bitwise or +(object) array ( 'bar' => 1, 'foo' => 2 ) | 0.0 - TypeError Unsupported operand type object for bitwise or +(object) array ( 'bar' => 1, 'foo' => 2 ) | 10.0 - TypeError Unsupported operand type object for bitwise or +(object) array ( 'bar' => 1, 'foo' => 2 ) | 3.14 - TypeError Unsupported operand type object for bitwise or +(object) array ( 'bar' => 1, 'foo' => 2 ) | '0' - TypeError Unsupported operand type object for bitwise or +(object) array ( 'bar' => 1, 'foo' => 2 ) | '10' - TypeError Unsupported operand type object for bitwise or +(object) array ( 'bar' => 1, 'foo' => 2 ) | '010' - TypeError Unsupported operand type object for bitwise or +(object) array ( 'bar' => 1, 'foo' => 2 ) | '10 elephants' - TypeError Unsupported operand type object for bitwise or +(object) array ( 'bar' => 1, 'foo' => 2 ) | 'foo' - TypeError Unsupported operand type object for bitwise or +(object) array ( 'bar' => 1, 'foo' => 2 ) | array ( ) - TypeError Unsupported operand type object for bitwise or +(object) array ( 'bar' => 1, 'foo' => 2 ) | array ( 0 => 1 ) - TypeError Unsupported operand type object for bitwise or +(object) array ( 'bar' => 1, 'foo' => 2 ) | array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type object for bitwise or +(object) array ( 'bar' => 1, 'foo' => 2 ) | array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for bitwise or +(object) array ( 'bar' => 1, 'foo' => 2 ) | array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for bitwise or +(object) array ( 'bar' => 1, 'foo' => 2 ) | (object) array ( ) - TypeError Unsupported operand type object for bitwise or +(object) array ( 'bar' => 1, 'foo' => 2 ) | (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for bitwise or +(object) array ( 'bar' => 1, 'foo' => 2 ) | (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for bitwise or +(object) array ( 'bar' => 1, 'foo' => 2 ) | DateTime - TypeError Unsupported operand type object for bitwise or +(object) array ( 'bar' => 1, 'foo' => 2 ) | resource - TypeError Unsupported operand type object for bitwise or +(object) array ( 'bar' => 1, 'foo' => 2 ) | NULL - TypeError Unsupported operand type object for bitwise or +DateTime | false - TypeError Unsupported operand type object for bitwise or +DateTime | true - TypeError Unsupported operand type object for bitwise or +DateTime | 0 - TypeError Unsupported operand type object for bitwise or +DateTime | 10 - TypeError Unsupported operand type object for bitwise or +DateTime | 0.0 - TypeError Unsupported operand type object for bitwise or +DateTime | 10.0 - TypeError Unsupported operand type object for bitwise or +DateTime | 3.14 - TypeError Unsupported operand type object for bitwise or +DateTime | '0' - TypeError Unsupported operand type object for bitwise or +DateTime | '10' - TypeError Unsupported operand type object for bitwise or +DateTime | '010' - TypeError Unsupported operand type object for bitwise or +DateTime | '10 elephants' - TypeError Unsupported operand type object for bitwise or +DateTime | 'foo' - TypeError Unsupported operand type object for bitwise or +DateTime | array ( ) - TypeError Unsupported operand type object for bitwise or +DateTime | array ( 0 => 1 ) - TypeError Unsupported operand type object for bitwise or +DateTime | array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type object for bitwise or +DateTime | array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for bitwise or +DateTime | array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for bitwise or +DateTime | (object) array ( ) - TypeError Unsupported operand type object for bitwise or +DateTime | (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for bitwise or +DateTime | (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for bitwise or +DateTime | DateTime - TypeError Unsupported operand type object for bitwise or +DateTime | resource - TypeError Unsupported operand type object for bitwise or +DateTime | NULL - TypeError Unsupported operand type object for bitwise or +resource | false - TypeError Unsupported operand type resource for bitwise or +resource | true - TypeError Unsupported operand type resource for bitwise or +resource | 0 - TypeError Unsupported operand type resource for bitwise or +resource | 10 - TypeError Unsupported operand type resource for bitwise or +resource | 0.0 - TypeError Unsupported operand type resource for bitwise or +resource | 10.0 - TypeError Unsupported operand type resource for bitwise or +resource | 3.14 - TypeError Unsupported operand type resource for bitwise or +resource | '0' - TypeError Unsupported operand type resource for bitwise or +resource | '10' - TypeError Unsupported operand type resource for bitwise or +resource | '010' - TypeError Unsupported operand type resource for bitwise or +resource | '10 elephants' - TypeError Unsupported operand type resource for bitwise or +resource | 'foo' - TypeError Unsupported operand type resource for bitwise or +resource | array ( ) - TypeError Unsupported operand type resource for bitwise or +resource | array ( 0 => 1 ) - TypeError Unsupported operand type resource for bitwise or +resource | array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type resource for bitwise or +resource | array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type resource for bitwise or +resource | array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type resource for bitwise or +resource | (object) array ( ) - TypeError Unsupported operand type resource for bitwise or +resource | (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type resource for bitwise or +resource | (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type resource for bitwise or +resource | DateTime - TypeError Unsupported operand type resource for bitwise or +resource | resource - TypeError Unsupported operand type resource for bitwise or +resource | NULL - TypeError Unsupported operand type resource for bitwise or +NULL | false - TypeError Unsupported operand type null for bitwise or +NULL | true - TypeError Unsupported operand type null for bitwise or +NULL | 0 - TypeError Unsupported operand type null for bitwise or +NULL | 10 - TypeError Unsupported operand type null for bitwise or +NULL | 0.0 - TypeError Unsupported operand type null for bitwise or +NULL | 10.0 - TypeError Unsupported operand type null for bitwise or +NULL | 3.14 - TypeError Unsupported operand type null for bitwise or +NULL | '0' - TypeError Unsupported operand type null for bitwise or +NULL | '10' - TypeError Unsupported operand type null for bitwise or +NULL | '010' - TypeError Unsupported operand type null for bitwise or +NULL | '10 elephants' - TypeError Unsupported operand type null for bitwise or +NULL | 'foo' - TypeError Unsupported operand type null for bitwise or +NULL | array ( ) - TypeError Unsupported operand type null for bitwise or +NULL | array ( 0 => 1 ) - TypeError Unsupported operand type null for bitwise or +NULL | array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type null for bitwise or +NULL | array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type null for bitwise or +NULL | array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type null for bitwise or +NULL | (object) array ( ) - TypeError Unsupported operand type null for bitwise or +NULL | (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type null for bitwise or +NULL | (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type null for bitwise or +NULL | DateTime - TypeError Unsupported operand type null for bitwise or +NULL | resource - TypeError Unsupported operand type null for bitwise or +NULL | NULL - TypeError Unsupported operand type null for bitwise or \ No newline at end of file diff --git a/Zend/tests/operators/bitwise/shift_left.phpt b/Zend/tests/operators/bitwise/shift_left.phpt new file mode 100644 index 000000000000..25bb692ca3da --- /dev/null +++ b/Zend/tests/operators/bitwise/shift_left.phpt @@ -0,0 +1,540 @@ +--TEST-- +bitwise shift left operator +--FILE-- + 1 ) = 0 +false << array ( 0 => 1, 1 => 100 ) = 0 +false << array ( 'foo' => 1, 'bar' => 2 ) = 0 +false << array ( 'bar' => 1, 'foo' => 2 ) = 0 +false << (object) array ( ) = 0 - Notice Object of class stdClass could not be converted to int +false << (object) array ( 'foo' => 1, 'bar' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +false << (object) array ( 'bar' => 1, 'foo' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +false << DateTime = 0 - Notice Object of class DateTime could not be converted to int +false << resource = 0 +false << NULL = 0 +true << false = 1 +true << true = 2 +true << 0 = 1 +true << 10 = 1024 +true << 0.0 = 1 +true << 10.0 = 1024 +true << 3.14 = 8 +true << '0' = 1 +true << '10' = 1024 +true << '010' = 1024 +true << '10 elephants' = 1024 - Notice A non well formed numeric value encountered +true << 'foo' = 1 - Warning A non-numeric value encountered +true << array ( ) = 1 +true << array ( 0 => 1 ) = 2 +true << array ( 0 => 1, 1 => 100 ) = 2 +true << array ( 'foo' => 1, 'bar' => 2 ) = 2 +true << array ( 'bar' => 1, 'foo' => 2 ) = 2 +true << (object) array ( ) = 2 - Notice Object of class stdClass could not be converted to int +true << (object) array ( 'foo' => 1, 'bar' => 2 ) = 2 - Notice Object of class stdClass could not be converted to int +true << (object) array ( 'bar' => 1, 'foo' => 2 ) = 2 - Notice Object of class stdClass could not be converted to int +true << DateTime = 2 - Notice Object of class DateTime could not be converted to int +true << resource = 64 +true << NULL = 1 +0 << false = 0 +0 << true = 0 +0 << 0 = 0 +0 << 10 = 0 +0 << 0.0 = 0 +0 << 10.0 = 0 +0 << 3.14 = 0 +0 << '0' = 0 +0 << '10' = 0 +0 << '010' = 0 +0 << '10 elephants' = 0 - Notice A non well formed numeric value encountered +0 << 'foo' = 0 - Warning A non-numeric value encountered +0 << array ( ) = 0 +0 << array ( 0 => 1 ) = 0 +0 << array ( 0 => 1, 1 => 100 ) = 0 +0 << array ( 'foo' => 1, 'bar' => 2 ) = 0 +0 << array ( 'bar' => 1, 'foo' => 2 ) = 0 +0 << (object) array ( ) = 0 - Notice Object of class stdClass could not be converted to int +0 << (object) array ( 'foo' => 1, 'bar' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +0 << (object) array ( 'bar' => 1, 'foo' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +0 << DateTime = 0 - Notice Object of class DateTime could not be converted to int +0 << resource = 0 +0 << NULL = 0 +10 << false = 10 +10 << true = 20 +10 << 0 = 10 +10 << 10 = 10240 +10 << 0.0 = 10 +10 << 10.0 = 10240 +10 << 3.14 = 80 +10 << '0' = 10 +10 << '10' = 10240 +10 << '010' = 10240 +10 << '10 elephants' = 10240 - Notice A non well formed numeric value encountered +10 << 'foo' = 10 - Warning A non-numeric value encountered +10 << array ( ) = 10 +10 << array ( 0 => 1 ) = 20 +10 << array ( 0 => 1, 1 => 100 ) = 20 +10 << array ( 'foo' => 1, 'bar' => 2 ) = 20 +10 << array ( 'bar' => 1, 'foo' => 2 ) = 20 +10 << (object) array ( ) = 20 - Notice Object of class stdClass could not be converted to int +10 << (object) array ( 'foo' => 1, 'bar' => 2 ) = 20 - Notice Object of class stdClass could not be converted to int +10 << (object) array ( 'bar' => 1, 'foo' => 2 ) = 20 - Notice Object of class stdClass could not be converted to int +10 << DateTime = 20 - Notice Object of class DateTime could not be converted to int +10 << resource = 640 +10 << NULL = 10 +0.0 << false = 0 +0.0 << true = 0 +0.0 << 0 = 0 +0.0 << 10 = 0 +0.0 << 0.0 = 0 +0.0 << 10.0 = 0 +0.0 << 3.14 = 0 +0.0 << '0' = 0 +0.0 << '10' = 0 +0.0 << '010' = 0 +0.0 << '10 elephants' = 0 - Notice A non well formed numeric value encountered +0.0 << 'foo' = 0 - Warning A non-numeric value encountered +0.0 << array ( ) = 0 +0.0 << array ( 0 => 1 ) = 0 +0.0 << array ( 0 => 1, 1 => 100 ) = 0 +0.0 << array ( 'foo' => 1, 'bar' => 2 ) = 0 +0.0 << array ( 'bar' => 1, 'foo' => 2 ) = 0 +0.0 << (object) array ( ) = 0 - Notice Object of class stdClass could not be converted to int +0.0 << (object) array ( 'foo' => 1, 'bar' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +0.0 << (object) array ( 'bar' => 1, 'foo' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +0.0 << DateTime = 0 - Notice Object of class DateTime could not be converted to int +0.0 << resource = 0 +0.0 << NULL = 0 +10.0 << false = 10 +10.0 << true = 20 +10.0 << 0 = 10 +10.0 << 10 = 10240 +10.0 << 0.0 = 10 +10.0 << 10.0 = 10240 +10.0 << 3.14 = 80 +10.0 << '0' = 10 +10.0 << '10' = 10240 +10.0 << '010' = 10240 +10.0 << '10 elephants' = 10240 - Notice A non well formed numeric value encountered +10.0 << 'foo' = 10 - Warning A non-numeric value encountered +10.0 << array ( ) = 10 +10.0 << array ( 0 => 1 ) = 20 +10.0 << array ( 0 => 1, 1 => 100 ) = 20 +10.0 << array ( 'foo' => 1, 'bar' => 2 ) = 20 +10.0 << array ( 'bar' => 1, 'foo' => 2 ) = 20 +10.0 << (object) array ( ) = 20 - Notice Object of class stdClass could not be converted to int +10.0 << (object) array ( 'foo' => 1, 'bar' => 2 ) = 20 - Notice Object of class stdClass could not be converted to int +10.0 << (object) array ( 'bar' => 1, 'foo' => 2 ) = 20 - Notice Object of class stdClass could not be converted to int +10.0 << DateTime = 20 - Notice Object of class DateTime could not be converted to int +10.0 << resource = 640 +10.0 << NULL = 10 +3.14 << false = 3 +3.14 << true = 6 +3.14 << 0 = 3 +3.14 << 10 = 3072 +3.14 << 0.0 = 3 +3.14 << 10.0 = 3072 +3.14 << 3.14 = 24 +3.14 << '0' = 3 +3.14 << '10' = 3072 +3.14 << '010' = 3072 +3.14 << '10 elephants' = 3072 - Notice A non well formed numeric value encountered +3.14 << 'foo' = 3 - Warning A non-numeric value encountered +3.14 << array ( ) = 3 +3.14 << array ( 0 => 1 ) = 6 +3.14 << array ( 0 => 1, 1 => 100 ) = 6 +3.14 << array ( 'foo' => 1, 'bar' => 2 ) = 6 +3.14 << array ( 'bar' => 1, 'foo' => 2 ) = 6 +3.14 << (object) array ( ) = 6 - Notice Object of class stdClass could not be converted to int +3.14 << (object) array ( 'foo' => 1, 'bar' => 2 ) = 6 - Notice Object of class stdClass could not be converted to int +3.14 << (object) array ( 'bar' => 1, 'foo' => 2 ) = 6 - Notice Object of class stdClass could not be converted to int +3.14 << DateTime = 6 - Notice Object of class DateTime could not be converted to int +3.14 << resource = 192 +3.14 << NULL = 3 +'0' << false = 0 +'0' << true = 0 +'0' << 0 = 0 +'0' << 10 = 0 +'0' << 0.0 = 0 +'0' << 10.0 = 0 +'0' << 3.14 = 0 +'0' << '0' = 0 +'0' << '10' = 0 +'0' << '010' = 0 +'0' << '10 elephants' = 0 - Notice A non well formed numeric value encountered +'0' << 'foo' = 0 - Warning A non-numeric value encountered +'0' << array ( ) = 0 +'0' << array ( 0 => 1 ) = 0 +'0' << array ( 0 => 1, 1 => 100 ) = 0 +'0' << array ( 'foo' => 1, 'bar' => 2 ) = 0 +'0' << array ( 'bar' => 1, 'foo' => 2 ) = 0 +'0' << (object) array ( ) = 0 - Notice Object of class stdClass could not be converted to int +'0' << (object) array ( 'foo' => 1, 'bar' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +'0' << (object) array ( 'bar' => 1, 'foo' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +'0' << DateTime = 0 - Notice Object of class DateTime could not be converted to int +'0' << resource = 0 +'0' << NULL = 0 +'10' << false = 10 +'10' << true = 20 +'10' << 0 = 10 +'10' << 10 = 10240 +'10' << 0.0 = 10 +'10' << 10.0 = 10240 +'10' << 3.14 = 80 +'10' << '0' = 10 +'10' << '10' = 10240 +'10' << '010' = 10240 +'10' << '10 elephants' = 10240 - Notice A non well formed numeric value encountered +'10' << 'foo' = 10 - Warning A non-numeric value encountered +'10' << array ( ) = 10 +'10' << array ( 0 => 1 ) = 20 +'10' << array ( 0 => 1, 1 => 100 ) = 20 +'10' << array ( 'foo' => 1, 'bar' => 2 ) = 20 +'10' << array ( 'bar' => 1, 'foo' => 2 ) = 20 +'10' << (object) array ( ) = 20 - Notice Object of class stdClass could not be converted to int +'10' << (object) array ( 'foo' => 1, 'bar' => 2 ) = 20 - Notice Object of class stdClass could not be converted to int +'10' << (object) array ( 'bar' => 1, 'foo' => 2 ) = 20 - Notice Object of class stdClass could not be converted to int +'10' << DateTime = 20 - Notice Object of class DateTime could not be converted to int +'10' << resource = 640 +'10' << NULL = 10 +'010' << false = 10 +'010' << true = 20 +'010' << 0 = 10 +'010' << 10 = 10240 +'010' << 0.0 = 10 +'010' << 10.0 = 10240 +'010' << 3.14 = 80 +'010' << '0' = 10 +'010' << '10' = 10240 +'010' << '010' = 10240 +'010' << '10 elephants' = 10240 - Notice A non well formed numeric value encountered +'010' << 'foo' = 10 - Warning A non-numeric value encountered +'010' << array ( ) = 10 +'010' << array ( 0 => 1 ) = 20 +'010' << array ( 0 => 1, 1 => 100 ) = 20 +'010' << array ( 'foo' => 1, 'bar' => 2 ) = 20 +'010' << array ( 'bar' => 1, 'foo' => 2 ) = 20 +'010' << (object) array ( ) = 20 - Notice Object of class stdClass could not be converted to int +'010' << (object) array ( 'foo' => 1, 'bar' => 2 ) = 20 - Notice Object of class stdClass could not be converted to int +'010' << (object) array ( 'bar' => 1, 'foo' => 2 ) = 20 - Notice Object of class stdClass could not be converted to int +'010' << DateTime = 20 - Notice Object of class DateTime could not be converted to int +'010' << resource = 640 +'010' << NULL = 10 +'10 elephants' << false = 10 - Notice A non well formed numeric value encountered +'10 elephants' << true = 20 - Notice A non well formed numeric value encountered +'10 elephants' << 0 = 10 - Notice A non well formed numeric value encountered +'10 elephants' << 10 = 10240 - Notice A non well formed numeric value encountered +'10 elephants' << 0.0 = 10 - Notice A non well formed numeric value encountered +'10 elephants' << 10.0 = 10240 - Notice A non well formed numeric value encountered +'10 elephants' << 3.14 = 80 - Notice A non well formed numeric value encountered +'10 elephants' << '0' = 10 - Notice A non well formed numeric value encountered +'10 elephants' << '10' = 10240 - Notice A non well formed numeric value encountered +'10 elephants' << '010' = 10240 - Notice A non well formed numeric value encountered +'10 elephants' << '10 elephants' = 10240 - Notice A non well formed numeric value encountered +'10 elephants' << 'foo' = 10 - Warning A non-numeric value encountered +'10 elephants' << array ( ) = 10 - Notice A non well formed numeric value encountered +'10 elephants' << array ( 0 => 1 ) = 20 - Notice A non well formed numeric value encountered +'10 elephants' << array ( 0 => 1, 1 => 100 ) = 20 - Notice A non well formed numeric value encountered +'10 elephants' << array ( 'foo' => 1, 'bar' => 2 ) = 20 - Notice A non well formed numeric value encountered +'10 elephants' << array ( 'bar' => 1, 'foo' => 2 ) = 20 - Notice A non well formed numeric value encountered +'10 elephants' << (object) array ( ) = 20 - Notice Object of class stdClass could not be converted to int +'10 elephants' << (object) array ( 'foo' => 1, 'bar' => 2 ) = 20 - Notice Object of class stdClass could not be converted to int +'10 elephants' << (object) array ( 'bar' => 1, 'foo' => 2 ) = 20 - Notice Object of class stdClass could not be converted to int +'10 elephants' << DateTime = 20 - Notice Object of class DateTime could not be converted to int +'10 elephants' << resource = 640 - Notice A non well formed numeric value encountered +'10 elephants' << NULL = 10 - Notice A non well formed numeric value encountered +'foo' << false = 0 - Warning A non-numeric value encountered +'foo' << true = 0 - Warning A non-numeric value encountered +'foo' << 0 = 0 - Warning A non-numeric value encountered +'foo' << 10 = 0 - Warning A non-numeric value encountered +'foo' << 0.0 = 0 - Warning A non-numeric value encountered +'foo' << 10.0 = 0 - Warning A non-numeric value encountered +'foo' << 3.14 = 0 - Warning A non-numeric value encountered +'foo' << '0' = 0 - Warning A non-numeric value encountered +'foo' << '10' = 0 - Warning A non-numeric value encountered +'foo' << '010' = 0 - Warning A non-numeric value encountered +'foo' << '10 elephants' = 0 - Notice A non well formed numeric value encountered +'foo' << 'foo' = 0 - Warning A non-numeric value encountered +'foo' << array ( ) = 0 - Warning A non-numeric value encountered +'foo' << array ( 0 => 1 ) = 0 - Warning A non-numeric value encountered +'foo' << array ( 0 => 1, 1 => 100 ) = 0 - Warning A non-numeric value encountered +'foo' << array ( 'foo' => 1, 'bar' => 2 ) = 0 - Warning A non-numeric value encountered +'foo' << array ( 'bar' => 1, 'foo' => 2 ) = 0 - Warning A non-numeric value encountered +'foo' << (object) array ( ) = 0 - Notice Object of class stdClass could not be converted to int +'foo' << (object) array ( 'foo' => 1, 'bar' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +'foo' << (object) array ( 'bar' => 1, 'foo' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +'foo' << DateTime = 0 - Notice Object of class DateTime could not be converted to int +'foo' << resource = 0 - Warning A non-numeric value encountered +'foo' << NULL = 0 - Warning A non-numeric value encountered +array ( ) << false = 0 +array ( ) << true = 0 +array ( ) << 0 = 0 +array ( ) << 10 = 0 +array ( ) << 0.0 = 0 +array ( ) << 10.0 = 0 +array ( ) << 3.14 = 0 +array ( ) << '0' = 0 +array ( ) << '10' = 0 +array ( ) << '010' = 0 +array ( ) << '10 elephants' = 0 - Notice A non well formed numeric value encountered +array ( ) << 'foo' = 0 - Warning A non-numeric value encountered +array ( ) << array ( ) = 0 +array ( ) << array ( 0 => 1 ) = 0 +array ( ) << array ( 0 => 1, 1 => 100 ) = 0 +array ( ) << array ( 'foo' => 1, 'bar' => 2 ) = 0 +array ( ) << array ( 'bar' => 1, 'foo' => 2 ) = 0 +array ( ) << (object) array ( ) = 0 - Notice Object of class stdClass could not be converted to int +array ( ) << (object) array ( 'foo' => 1, 'bar' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +array ( ) << (object) array ( 'bar' => 1, 'foo' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +array ( ) << DateTime = 0 - Notice Object of class DateTime could not be converted to int +array ( ) << resource = 0 +array ( ) << NULL = 0 +array ( 0 => 1 ) << false = 1 +array ( 0 => 1 ) << true = 2 +array ( 0 => 1 ) << 0 = 1 +array ( 0 => 1 ) << 10 = 1024 +array ( 0 => 1 ) << 0.0 = 1 +array ( 0 => 1 ) << 10.0 = 1024 +array ( 0 => 1 ) << 3.14 = 8 +array ( 0 => 1 ) << '0' = 1 +array ( 0 => 1 ) << '10' = 1024 +array ( 0 => 1 ) << '010' = 1024 +array ( 0 => 1 ) << '10 elephants' = 1024 - Notice A non well formed numeric value encountered +array ( 0 => 1 ) << 'foo' = 1 - Warning A non-numeric value encountered +array ( 0 => 1 ) << array ( ) = 1 +array ( 0 => 1 ) << array ( 0 => 1 ) = 2 +array ( 0 => 1 ) << array ( 0 => 1, 1 => 100 ) = 2 +array ( 0 => 1 ) << array ( 'foo' => 1, 'bar' => 2 ) = 2 +array ( 0 => 1 ) << array ( 'bar' => 1, 'foo' => 2 ) = 2 +array ( 0 => 1 ) << (object) array ( ) = 2 - Notice Object of class stdClass could not be converted to int +array ( 0 => 1 ) << (object) array ( 'foo' => 1, 'bar' => 2 ) = 2 - Notice Object of class stdClass could not be converted to int +array ( 0 => 1 ) << (object) array ( 'bar' => 1, 'foo' => 2 ) = 2 - Notice Object of class stdClass could not be converted to int +array ( 0 => 1 ) << DateTime = 2 - Notice Object of class DateTime could not be converted to int +array ( 0 => 1 ) << resource = 64 +array ( 0 => 1 ) << NULL = 1 +array ( 0 => 1, 1 => 100 ) << false = 1 +array ( 0 => 1, 1 => 100 ) << true = 2 +array ( 0 => 1, 1 => 100 ) << 0 = 1 +array ( 0 => 1, 1 => 100 ) << 10 = 1024 +array ( 0 => 1, 1 => 100 ) << 0.0 = 1 +array ( 0 => 1, 1 => 100 ) << 10.0 = 1024 +array ( 0 => 1, 1 => 100 ) << 3.14 = 8 +array ( 0 => 1, 1 => 100 ) << '0' = 1 +array ( 0 => 1, 1 => 100 ) << '10' = 1024 +array ( 0 => 1, 1 => 100 ) << '010' = 1024 +array ( 0 => 1, 1 => 100 ) << '10 elephants' = 1024 - Notice A non well formed numeric value encountered +array ( 0 => 1, 1 => 100 ) << 'foo' = 1 - Warning A non-numeric value encountered +array ( 0 => 1, 1 => 100 ) << array ( ) = 1 +array ( 0 => 1, 1 => 100 ) << array ( 0 => 1 ) = 2 +array ( 0 => 1, 1 => 100 ) << array ( 0 => 1, 1 => 100 ) = 2 +array ( 0 => 1, 1 => 100 ) << array ( 'foo' => 1, 'bar' => 2 ) = 2 +array ( 0 => 1, 1 => 100 ) << array ( 'bar' => 1, 'foo' => 2 ) = 2 +array ( 0 => 1, 1 => 100 ) << (object) array ( ) = 2 - Notice Object of class stdClass could not be converted to int +array ( 0 => 1, 1 => 100 ) << (object) array ( 'foo' => 1, 'bar' => 2 ) = 2 - Notice Object of class stdClass could not be converted to int +array ( 0 => 1, 1 => 100 ) << (object) array ( 'bar' => 1, 'foo' => 2 ) = 2 - Notice Object of class stdClass could not be converted to int +array ( 0 => 1, 1 => 100 ) << DateTime = 2 - Notice Object of class DateTime could not be converted to int +array ( 0 => 1, 1 => 100 ) << resource = 64 +array ( 0 => 1, 1 => 100 ) << NULL = 1 +array ( 'foo' => 1, 'bar' => 2 ) << false = 1 +array ( 'foo' => 1, 'bar' => 2 ) << true = 2 +array ( 'foo' => 1, 'bar' => 2 ) << 0 = 1 +array ( 'foo' => 1, 'bar' => 2 ) << 10 = 1024 +array ( 'foo' => 1, 'bar' => 2 ) << 0.0 = 1 +array ( 'foo' => 1, 'bar' => 2 ) << 10.0 = 1024 +array ( 'foo' => 1, 'bar' => 2 ) << 3.14 = 8 +array ( 'foo' => 1, 'bar' => 2 ) << '0' = 1 +array ( 'foo' => 1, 'bar' => 2 ) << '10' = 1024 +array ( 'foo' => 1, 'bar' => 2 ) << '010' = 1024 +array ( 'foo' => 1, 'bar' => 2 ) << '10 elephants' = 1024 - Notice A non well formed numeric value encountered +array ( 'foo' => 1, 'bar' => 2 ) << 'foo' = 1 - Warning A non-numeric value encountered +array ( 'foo' => 1, 'bar' => 2 ) << array ( ) = 1 +array ( 'foo' => 1, 'bar' => 2 ) << array ( 0 => 1 ) = 2 +array ( 'foo' => 1, 'bar' => 2 ) << array ( 0 => 1, 1 => 100 ) = 2 +array ( 'foo' => 1, 'bar' => 2 ) << array ( 'foo' => 1, 'bar' => 2 ) = 2 +array ( 'foo' => 1, 'bar' => 2 ) << array ( 'bar' => 1, 'foo' => 2 ) = 2 +array ( 'foo' => 1, 'bar' => 2 ) << (object) array ( ) = 2 - Notice Object of class stdClass could not be converted to int +array ( 'foo' => 1, 'bar' => 2 ) << (object) array ( 'foo' => 1, 'bar' => 2 ) = 2 - Notice Object of class stdClass could not be converted to int +array ( 'foo' => 1, 'bar' => 2 ) << (object) array ( 'bar' => 1, 'foo' => 2 ) = 2 - Notice Object of class stdClass could not be converted to int +array ( 'foo' => 1, 'bar' => 2 ) << DateTime = 2 - Notice Object of class DateTime could not be converted to int +array ( 'foo' => 1, 'bar' => 2 ) << resource = 64 +array ( 'foo' => 1, 'bar' => 2 ) << NULL = 1 +array ( 'bar' => 1, 'foo' => 2 ) << false = 1 +array ( 'bar' => 1, 'foo' => 2 ) << true = 2 +array ( 'bar' => 1, 'foo' => 2 ) << 0 = 1 +array ( 'bar' => 1, 'foo' => 2 ) << 10 = 1024 +array ( 'bar' => 1, 'foo' => 2 ) << 0.0 = 1 +array ( 'bar' => 1, 'foo' => 2 ) << 10.0 = 1024 +array ( 'bar' => 1, 'foo' => 2 ) << 3.14 = 8 +array ( 'bar' => 1, 'foo' => 2 ) << '0' = 1 +array ( 'bar' => 1, 'foo' => 2 ) << '10' = 1024 +array ( 'bar' => 1, 'foo' => 2 ) << '010' = 1024 +array ( 'bar' => 1, 'foo' => 2 ) << '10 elephants' = 1024 - Notice A non well formed numeric value encountered +array ( 'bar' => 1, 'foo' => 2 ) << 'foo' = 1 - Warning A non-numeric value encountered +array ( 'bar' => 1, 'foo' => 2 ) << array ( ) = 1 +array ( 'bar' => 1, 'foo' => 2 ) << array ( 0 => 1 ) = 2 +array ( 'bar' => 1, 'foo' => 2 ) << array ( 0 => 1, 1 => 100 ) = 2 +array ( 'bar' => 1, 'foo' => 2 ) << array ( 'foo' => 1, 'bar' => 2 ) = 2 +array ( 'bar' => 1, 'foo' => 2 ) << array ( 'bar' => 1, 'foo' => 2 ) = 2 +array ( 'bar' => 1, 'foo' => 2 ) << (object) array ( ) = 2 - Notice Object of class stdClass could not be converted to int +array ( 'bar' => 1, 'foo' => 2 ) << (object) array ( 'foo' => 1, 'bar' => 2 ) = 2 - Notice Object of class stdClass could not be converted to int +array ( 'bar' => 1, 'foo' => 2 ) << (object) array ( 'bar' => 1, 'foo' => 2 ) = 2 - Notice Object of class stdClass could not be converted to int +array ( 'bar' => 1, 'foo' => 2 ) << DateTime = 2 - Notice Object of class DateTime could not be converted to int +array ( 'bar' => 1, 'foo' => 2 ) << resource = 64 +array ( 'bar' => 1, 'foo' => 2 ) << NULL = 1 +(object) array ( ) << false = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( ) << true = 2 - Notice Object of class stdClass could not be converted to int +(object) array ( ) << 0 = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( ) << 10 = 1024 - Notice Object of class stdClass could not be converted to int +(object) array ( ) << 0.0 = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( ) << 10.0 = 1024 - Notice Object of class stdClass could not be converted to int +(object) array ( ) << 3.14 = 8 - Notice Object of class stdClass could not be converted to int +(object) array ( ) << '0' = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( ) << '10' = 1024 - Notice Object of class stdClass could not be converted to int +(object) array ( ) << '010' = 1024 - Notice Object of class stdClass could not be converted to int +(object) array ( ) << '10 elephants' = 1024 - Notice A non well formed numeric value encountered +(object) array ( ) << 'foo' = 1 - Warning A non-numeric value encountered +(object) array ( ) << array ( ) = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( ) << array ( 0 => 1 ) = 2 - Notice Object of class stdClass could not be converted to int +(object) array ( ) << array ( 0 => 1, 1 => 100 ) = 2 - Notice Object of class stdClass could not be converted to int +(object) array ( ) << array ( 'foo' => 1, 'bar' => 2 ) = 2 - Notice Object of class stdClass could not be converted to int +(object) array ( ) << array ( 'bar' => 1, 'foo' => 2 ) = 2 - Notice Object of class stdClass could not be converted to int +(object) array ( ) << (object) array ( ) = 2 - Notice Object of class stdClass could not be converted to int +(object) array ( ) << (object) array ( 'foo' => 1, 'bar' => 2 ) = 2 - Notice Object of class stdClass could not be converted to int +(object) array ( ) << (object) array ( 'bar' => 1, 'foo' => 2 ) = 2 - Notice Object of class stdClass could not be converted to int +(object) array ( ) << DateTime = 2 - Notice Object of class DateTime could not be converted to int +(object) array ( ) << resource = 64 - Notice Object of class stdClass could not be converted to int +(object) array ( ) << NULL = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) << false = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) << true = 2 - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) << 0 = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) << 10 = 1024 - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) << 0.0 = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) << 10.0 = 1024 - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) << 3.14 = 8 - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) << '0' = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) << '10' = 1024 - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) << '010' = 1024 - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) << '10 elephants' = 1024 - Notice A non well formed numeric value encountered +(object) array ( 'foo' => 1, 'bar' => 2 ) << 'foo' = 1 - Warning A non-numeric value encountered +(object) array ( 'foo' => 1, 'bar' => 2 ) << array ( ) = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) << array ( 0 => 1 ) = 2 - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) << array ( 0 => 1, 1 => 100 ) = 2 - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) << array ( 'foo' => 1, 'bar' => 2 ) = 2 - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) << array ( 'bar' => 1, 'foo' => 2 ) = 2 - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) << (object) array ( ) = 2 - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) << (object) array ( 'foo' => 1, 'bar' => 2 ) = 2 - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) << (object) array ( 'bar' => 1, 'foo' => 2 ) = 2 - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) << DateTime = 2 - Notice Object of class DateTime could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) << resource = 64 - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) << NULL = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) << false = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) << true = 2 - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) << 0 = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) << 10 = 1024 - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) << 0.0 = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) << 10.0 = 1024 - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) << 3.14 = 8 - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) << '0' = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) << '10' = 1024 - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) << '010' = 1024 - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) << '10 elephants' = 1024 - Notice A non well formed numeric value encountered +(object) array ( 'bar' => 1, 'foo' => 2 ) << 'foo' = 1 - Warning A non-numeric value encountered +(object) array ( 'bar' => 1, 'foo' => 2 ) << array ( ) = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) << array ( 0 => 1 ) = 2 - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) << array ( 0 => 1, 1 => 100 ) = 2 - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) << array ( 'foo' => 1, 'bar' => 2 ) = 2 - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) << array ( 'bar' => 1, 'foo' => 2 ) = 2 - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) << (object) array ( ) = 2 - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) << (object) array ( 'foo' => 1, 'bar' => 2 ) = 2 - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) << (object) array ( 'bar' => 1, 'foo' => 2 ) = 2 - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) << DateTime = 2 - Notice Object of class DateTime could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) << resource = 64 - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) << NULL = 1 - Notice Object of class stdClass could not be converted to int +DateTime << false = 1 - Notice Object of class DateTime could not be converted to int +DateTime << true = 2 - Notice Object of class DateTime could not be converted to int +DateTime << 0 = 1 - Notice Object of class DateTime could not be converted to int +DateTime << 10 = 1024 - Notice Object of class DateTime could not be converted to int +DateTime << 0.0 = 1 - Notice Object of class DateTime could not be converted to int +DateTime << 10.0 = 1024 - Notice Object of class DateTime could not be converted to int +DateTime << 3.14 = 8 - Notice Object of class DateTime could not be converted to int +DateTime << '0' = 1 - Notice Object of class DateTime could not be converted to int +DateTime << '10' = 1024 - Notice Object of class DateTime could not be converted to int +DateTime << '010' = 1024 - Notice Object of class DateTime could not be converted to int +DateTime << '10 elephants' = 1024 - Notice A non well formed numeric value encountered +DateTime << 'foo' = 1 - Warning A non-numeric value encountered +DateTime << array ( ) = 1 - Notice Object of class DateTime could not be converted to int +DateTime << array ( 0 => 1 ) = 2 - Notice Object of class DateTime could not be converted to int +DateTime << array ( 0 => 1, 1 => 100 ) = 2 - Notice Object of class DateTime could not be converted to int +DateTime << array ( 'foo' => 1, 'bar' => 2 ) = 2 - Notice Object of class DateTime could not be converted to int +DateTime << array ( 'bar' => 1, 'foo' => 2 ) = 2 - Notice Object of class DateTime could not be converted to int +DateTime << (object) array ( ) = 2 - Notice Object of class stdClass could not be converted to int +DateTime << (object) array ( 'foo' => 1, 'bar' => 2 ) = 2 - Notice Object of class stdClass could not be converted to int +DateTime << (object) array ( 'bar' => 1, 'foo' => 2 ) = 2 - Notice Object of class stdClass could not be converted to int +DateTime << DateTime = 2 - Notice Object of class DateTime could not be converted to int +DateTime << resource = 64 - Notice Object of class DateTime could not be converted to int +DateTime << NULL = 1 - Notice Object of class DateTime could not be converted to int +resource << false = 6 +resource << true = 12 +resource << 0 = 6 +resource << 10 = 6144 +resource << 0.0 = 6 +resource << 10.0 = 6144 +resource << 3.14 = 48 +resource << '0' = 6 +resource << '10' = 6144 +resource << '010' = 6144 +resource << '10 elephants' = 6144 - Notice A non well formed numeric value encountered +resource << 'foo' = 6 - Warning A non-numeric value encountered +resource << array ( ) = 6 +resource << array ( 0 => 1 ) = 12 +resource << array ( 0 => 1, 1 => 100 ) = 12 +resource << array ( 'foo' => 1, 'bar' => 2 ) = 12 +resource << array ( 'bar' => 1, 'foo' => 2 ) = 12 +resource << (object) array ( ) = 12 - Notice Object of class stdClass could not be converted to int +resource << (object) array ( 'foo' => 1, 'bar' => 2 ) = 12 - Notice Object of class stdClass could not be converted to int +resource << (object) array ( 'bar' => 1, 'foo' => 2 ) = 12 - Notice Object of class stdClass could not be converted to int +resource << DateTime = 12 - Notice Object of class DateTime could not be converted to int +resource << resource = 384 +resource << NULL = 6 +NULL << false = 0 +NULL << true = 0 +NULL << 0 = 0 +NULL << 10 = 0 +NULL << 0.0 = 0 +NULL << 10.0 = 0 +NULL << 3.14 = 0 +NULL << '0' = 0 +NULL << '10' = 0 +NULL << '010' = 0 +NULL << '10 elephants' = 0 - Notice A non well formed numeric value encountered +NULL << 'foo' = 0 - Warning A non-numeric value encountered +NULL << array ( ) = 0 +NULL << array ( 0 => 1 ) = 0 +NULL << array ( 0 => 1, 1 => 100 ) = 0 +NULL << array ( 'foo' => 1, 'bar' => 2 ) = 0 +NULL << array ( 'bar' => 1, 'foo' => 2 ) = 0 +NULL << (object) array ( ) = 0 - Notice Object of class stdClass could not be converted to int +NULL << (object) array ( 'foo' => 1, 'bar' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +NULL << (object) array ( 'bar' => 1, 'foo' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +NULL << DateTime = 0 - Notice Object of class DateTime could not be converted to int +NULL << resource = 0 +NULL << NULL = 0 \ No newline at end of file diff --git a/Zend/tests/operators/bitwise/shift_left_strict.phpt b/Zend/tests/operators/bitwise/shift_left_strict.phpt new file mode 100644 index 000000000000..742ea4ab0d83 --- /dev/null +++ b/Zend/tests/operators/bitwise/shift_left_strict.phpt @@ -0,0 +1,542 @@ +--TEST-- +bitwise shift left operator with strict operators +--FILE-- + 1 ) - TypeError Unsupported operand type bool for bit shift left +false << array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type bool for bit shift left +false << array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type bool for bit shift left +false << array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type bool for bit shift left +false << (object) array ( ) - TypeError Unsupported operand type bool for bit shift left +false << (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type bool for bit shift left +false << (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type bool for bit shift left +false << DateTime - TypeError Unsupported operand type bool for bit shift left +false << resource - TypeError Unsupported operand type bool for bit shift left +false << NULL - TypeError Unsupported operand type bool for bit shift left +true << false - TypeError Unsupported operand type bool for bit shift left +true << true - TypeError Unsupported operand type bool for bit shift left +true << 0 - TypeError Unsupported operand type bool for bit shift left +true << 10 - TypeError Unsupported operand type bool for bit shift left +true << 0.0 - TypeError Unsupported operand type bool for bit shift left +true << 10.0 - TypeError Unsupported operand type bool for bit shift left +true << 3.14 - TypeError Unsupported operand type bool for bit shift left +true << '0' - TypeError Unsupported operand type bool for bit shift left +true << '10' - TypeError Unsupported operand type bool for bit shift left +true << '010' - TypeError Unsupported operand type bool for bit shift left +true << '10 elephants' - TypeError Unsupported operand type bool for bit shift left +true << 'foo' - TypeError Unsupported operand type bool for bit shift left +true << array ( ) - TypeError Unsupported operand type bool for bit shift left +true << array ( 0 => 1 ) - TypeError Unsupported operand type bool for bit shift left +true << array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type bool for bit shift left +true << array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type bool for bit shift left +true << array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type bool for bit shift left +true << (object) array ( ) - TypeError Unsupported operand type bool for bit shift left +true << (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type bool for bit shift left +true << (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type bool for bit shift left +true << DateTime - TypeError Unsupported operand type bool for bit shift left +true << resource - TypeError Unsupported operand type bool for bit shift left +true << NULL - TypeError Unsupported operand type bool for bit shift left +0 << false - TypeError Unsupported operand type bool for bit shift left +0 << true - TypeError Unsupported operand type bool for bit shift left +0 << 0 = 0 +0 << 10 = 0 +0 << 0.0 - TypeError Unsupported operand type float for bit shift left +0 << 10.0 - TypeError Unsupported operand type float for bit shift left +0 << 3.14 - TypeError Unsupported operand type float for bit shift left +0 << '0' - TypeError Unsupported operand type string for bit shift left +0 << '10' - TypeError Unsupported operand type string for bit shift left +0 << '010' - TypeError Unsupported operand type string for bit shift left +0 << '10 elephants' - TypeError Unsupported operand type string for bit shift left +0 << 'foo' - TypeError Unsupported operand type string for bit shift left +0 << array ( ) - TypeError Unsupported operand type array for bit shift left +0 << array ( 0 => 1 ) - TypeError Unsupported operand type array for bit shift left +0 << array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for bit shift left +0 << array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for bit shift left +0 << array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for bit shift left +0 << (object) array ( ) - TypeError Unsupported operand type object for bit shift left +0 << (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for bit shift left +0 << (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for bit shift left +0 << DateTime - TypeError Unsupported operand type object for bit shift left +0 << resource - TypeError Unsupported operand type resource for bit shift left +0 << NULL - TypeError Unsupported operand type null for bit shift left +10 << false - TypeError Unsupported operand type bool for bit shift left +10 << true - TypeError Unsupported operand type bool for bit shift left +10 << 0 = 10 +10 << 10 = 10240 +10 << 0.0 - TypeError Unsupported operand type float for bit shift left +10 << 10.0 - TypeError Unsupported operand type float for bit shift left +10 << 3.14 - TypeError Unsupported operand type float for bit shift left +10 << '0' - TypeError Unsupported operand type string for bit shift left +10 << '10' - TypeError Unsupported operand type string for bit shift left +10 << '010' - TypeError Unsupported operand type string for bit shift left +10 << '10 elephants' - TypeError Unsupported operand type string for bit shift left +10 << 'foo' - TypeError Unsupported operand type string for bit shift left +10 << array ( ) - TypeError Unsupported operand type array for bit shift left +10 << array ( 0 => 1 ) - TypeError Unsupported operand type array for bit shift left +10 << array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for bit shift left +10 << array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for bit shift left +10 << array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for bit shift left +10 << (object) array ( ) - TypeError Unsupported operand type object for bit shift left +10 << (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for bit shift left +10 << (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for bit shift left +10 << DateTime - TypeError Unsupported operand type object for bit shift left +10 << resource - TypeError Unsupported operand type resource for bit shift left +10 << NULL - TypeError Unsupported operand type null for bit shift left +0.0 << false - TypeError Unsupported operand type float for bit shift left +0.0 << true - TypeError Unsupported operand type float for bit shift left +0.0 << 0 - TypeError Unsupported operand type float for bit shift left +0.0 << 10 - TypeError Unsupported operand type float for bit shift left +0.0 << 0.0 - TypeError Unsupported operand type float for bit shift left +0.0 << 10.0 - TypeError Unsupported operand type float for bit shift left +0.0 << 3.14 - TypeError Unsupported operand type float for bit shift left +0.0 << '0' - TypeError Unsupported operand type float for bit shift left +0.0 << '10' - TypeError Unsupported operand type float for bit shift left +0.0 << '010' - TypeError Unsupported operand type float for bit shift left +0.0 << '10 elephants' - TypeError Unsupported operand type float for bit shift left +0.0 << 'foo' - TypeError Unsupported operand type float for bit shift left +0.0 << array ( ) - TypeError Unsupported operand type float for bit shift left +0.0 << array ( 0 => 1 ) - TypeError Unsupported operand type float for bit shift left +0.0 << array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type float for bit shift left +0.0 << array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type float for bit shift left +0.0 << array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type float for bit shift left +0.0 << (object) array ( ) - TypeError Unsupported operand type float for bit shift left +0.0 << (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type float for bit shift left +0.0 << (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type float for bit shift left +0.0 << DateTime - TypeError Unsupported operand type float for bit shift left +0.0 << resource - TypeError Unsupported operand type float for bit shift left +0.0 << NULL - TypeError Unsupported operand type float for bit shift left +10.0 << false - TypeError Unsupported operand type float for bit shift left +10.0 << true - TypeError Unsupported operand type float for bit shift left +10.0 << 0 - TypeError Unsupported operand type float for bit shift left +10.0 << 10 - TypeError Unsupported operand type float for bit shift left +10.0 << 0.0 - TypeError Unsupported operand type float for bit shift left +10.0 << 10.0 - TypeError Unsupported operand type float for bit shift left +10.0 << 3.14 - TypeError Unsupported operand type float for bit shift left +10.0 << '0' - TypeError Unsupported operand type float for bit shift left +10.0 << '10' - TypeError Unsupported operand type float for bit shift left +10.0 << '010' - TypeError Unsupported operand type float for bit shift left +10.0 << '10 elephants' - TypeError Unsupported operand type float for bit shift left +10.0 << 'foo' - TypeError Unsupported operand type float for bit shift left +10.0 << array ( ) - TypeError Unsupported operand type float for bit shift left +10.0 << array ( 0 => 1 ) - TypeError Unsupported operand type float for bit shift left +10.0 << array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type float for bit shift left +10.0 << array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type float for bit shift left +10.0 << array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type float for bit shift left +10.0 << (object) array ( ) - TypeError Unsupported operand type float for bit shift left +10.0 << (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type float for bit shift left +10.0 << (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type float for bit shift left +10.0 << DateTime - TypeError Unsupported operand type float for bit shift left +10.0 << resource - TypeError Unsupported operand type float for bit shift left +10.0 << NULL - TypeError Unsupported operand type float for bit shift left +3.14 << false - TypeError Unsupported operand type float for bit shift left +3.14 << true - TypeError Unsupported operand type float for bit shift left +3.14 << 0 - TypeError Unsupported operand type float for bit shift left +3.14 << 10 - TypeError Unsupported operand type float for bit shift left +3.14 << 0.0 - TypeError Unsupported operand type float for bit shift left +3.14 << 10.0 - TypeError Unsupported operand type float for bit shift left +3.14 << 3.14 - TypeError Unsupported operand type float for bit shift left +3.14 << '0' - TypeError Unsupported operand type float for bit shift left +3.14 << '10' - TypeError Unsupported operand type float for bit shift left +3.14 << '010' - TypeError Unsupported operand type float for bit shift left +3.14 << '10 elephants' - TypeError Unsupported operand type float for bit shift left +3.14 << 'foo' - TypeError Unsupported operand type float for bit shift left +3.14 << array ( ) - TypeError Unsupported operand type float for bit shift left +3.14 << array ( 0 => 1 ) - TypeError Unsupported operand type float for bit shift left +3.14 << array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type float for bit shift left +3.14 << array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type float for bit shift left +3.14 << array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type float for bit shift left +3.14 << (object) array ( ) - TypeError Unsupported operand type float for bit shift left +3.14 << (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type float for bit shift left +3.14 << (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type float for bit shift left +3.14 << DateTime - TypeError Unsupported operand type float for bit shift left +3.14 << resource - TypeError Unsupported operand type float for bit shift left +3.14 << NULL - TypeError Unsupported operand type float for bit shift left +'0' << false - TypeError Unsupported operand type string for bit shift left +'0' << true - TypeError Unsupported operand type string for bit shift left +'0' << 0 - TypeError Unsupported operand type string for bit shift left +'0' << 10 - TypeError Unsupported operand type string for bit shift left +'0' << 0.0 - TypeError Unsupported operand type string for bit shift left +'0' << 10.0 - TypeError Unsupported operand type string for bit shift left +'0' << 3.14 - TypeError Unsupported operand type string for bit shift left +'0' << '0' - TypeError Unsupported operand type string for bit shift left +'0' << '10' - TypeError Unsupported operand type string for bit shift left +'0' << '010' - TypeError Unsupported operand type string for bit shift left +'0' << '10 elephants' - TypeError Unsupported operand type string for bit shift left +'0' << 'foo' - TypeError Unsupported operand type string for bit shift left +'0' << array ( ) - TypeError Unsupported operand type string for bit shift left +'0' << array ( 0 => 1 ) - TypeError Unsupported operand type string for bit shift left +'0' << array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type string for bit shift left +'0' << array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type string for bit shift left +'0' << array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type string for bit shift left +'0' << (object) array ( ) - TypeError Unsupported operand type string for bit shift left +'0' << (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type string for bit shift left +'0' << (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type string for bit shift left +'0' << DateTime - TypeError Unsupported operand type string for bit shift left +'0' << resource - TypeError Unsupported operand type string for bit shift left +'0' << NULL - TypeError Unsupported operand type string for bit shift left +'10' << false - TypeError Unsupported operand type string for bit shift left +'10' << true - TypeError Unsupported operand type string for bit shift left +'10' << 0 - TypeError Unsupported operand type string for bit shift left +'10' << 10 - TypeError Unsupported operand type string for bit shift left +'10' << 0.0 - TypeError Unsupported operand type string for bit shift left +'10' << 10.0 - TypeError Unsupported operand type string for bit shift left +'10' << 3.14 - TypeError Unsupported operand type string for bit shift left +'10' << '0' - TypeError Unsupported operand type string for bit shift left +'10' << '10' - TypeError Unsupported operand type string for bit shift left +'10' << '010' - TypeError Unsupported operand type string for bit shift left +'10' << '10 elephants' - TypeError Unsupported operand type string for bit shift left +'10' << 'foo' - TypeError Unsupported operand type string for bit shift left +'10' << array ( ) - TypeError Unsupported operand type string for bit shift left +'10' << array ( 0 => 1 ) - TypeError Unsupported operand type string for bit shift left +'10' << array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type string for bit shift left +'10' << array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type string for bit shift left +'10' << array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type string for bit shift left +'10' << (object) array ( ) - TypeError Unsupported operand type string for bit shift left +'10' << (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type string for bit shift left +'10' << (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type string for bit shift left +'10' << DateTime - TypeError Unsupported operand type string for bit shift left +'10' << resource - TypeError Unsupported operand type string for bit shift left +'10' << NULL - TypeError Unsupported operand type string for bit shift left +'010' << false - TypeError Unsupported operand type string for bit shift left +'010' << true - TypeError Unsupported operand type string for bit shift left +'010' << 0 - TypeError Unsupported operand type string for bit shift left +'010' << 10 - TypeError Unsupported operand type string for bit shift left +'010' << 0.0 - TypeError Unsupported operand type string for bit shift left +'010' << 10.0 - TypeError Unsupported operand type string for bit shift left +'010' << 3.14 - TypeError Unsupported operand type string for bit shift left +'010' << '0' - TypeError Unsupported operand type string for bit shift left +'010' << '10' - TypeError Unsupported operand type string for bit shift left +'010' << '010' - TypeError Unsupported operand type string for bit shift left +'010' << '10 elephants' - TypeError Unsupported operand type string for bit shift left +'010' << 'foo' - TypeError Unsupported operand type string for bit shift left +'010' << array ( ) - TypeError Unsupported operand type string for bit shift left +'010' << array ( 0 => 1 ) - TypeError Unsupported operand type string for bit shift left +'010' << array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type string for bit shift left +'010' << array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type string for bit shift left +'010' << array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type string for bit shift left +'010' << (object) array ( ) - TypeError Unsupported operand type string for bit shift left +'010' << (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type string for bit shift left +'010' << (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type string for bit shift left +'010' << DateTime - TypeError Unsupported operand type string for bit shift left +'010' << resource - TypeError Unsupported operand type string for bit shift left +'010' << NULL - TypeError Unsupported operand type string for bit shift left +'10 elephants' << false - TypeError Unsupported operand type string for bit shift left +'10 elephants' << true - TypeError Unsupported operand type string for bit shift left +'10 elephants' << 0 - TypeError Unsupported operand type string for bit shift left +'10 elephants' << 10 - TypeError Unsupported operand type string for bit shift left +'10 elephants' << 0.0 - TypeError Unsupported operand type string for bit shift left +'10 elephants' << 10.0 - TypeError Unsupported operand type string for bit shift left +'10 elephants' << 3.14 - TypeError Unsupported operand type string for bit shift left +'10 elephants' << '0' - TypeError Unsupported operand type string for bit shift left +'10 elephants' << '10' - TypeError Unsupported operand type string for bit shift left +'10 elephants' << '010' - TypeError Unsupported operand type string for bit shift left +'10 elephants' << '10 elephants' - TypeError Unsupported operand type string for bit shift left +'10 elephants' << 'foo' - TypeError Unsupported operand type string for bit shift left +'10 elephants' << array ( ) - TypeError Unsupported operand type string for bit shift left +'10 elephants' << array ( 0 => 1 ) - TypeError Unsupported operand type string for bit shift left +'10 elephants' << array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type string for bit shift left +'10 elephants' << array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type string for bit shift left +'10 elephants' << array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type string for bit shift left +'10 elephants' << (object) array ( ) - TypeError Unsupported operand type string for bit shift left +'10 elephants' << (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type string for bit shift left +'10 elephants' << (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type string for bit shift left +'10 elephants' << DateTime - TypeError Unsupported operand type string for bit shift left +'10 elephants' << resource - TypeError Unsupported operand type string for bit shift left +'10 elephants' << NULL - TypeError Unsupported operand type string for bit shift left +'foo' << false - TypeError Unsupported operand type string for bit shift left +'foo' << true - TypeError Unsupported operand type string for bit shift left +'foo' << 0 - TypeError Unsupported operand type string for bit shift left +'foo' << 10 - TypeError Unsupported operand type string for bit shift left +'foo' << 0.0 - TypeError Unsupported operand type string for bit shift left +'foo' << 10.0 - TypeError Unsupported operand type string for bit shift left +'foo' << 3.14 - TypeError Unsupported operand type string for bit shift left +'foo' << '0' - TypeError Unsupported operand type string for bit shift left +'foo' << '10' - TypeError Unsupported operand type string for bit shift left +'foo' << '010' - TypeError Unsupported operand type string for bit shift left +'foo' << '10 elephants' - TypeError Unsupported operand type string for bit shift left +'foo' << 'foo' - TypeError Unsupported operand type string for bit shift left +'foo' << array ( ) - TypeError Unsupported operand type string for bit shift left +'foo' << array ( 0 => 1 ) - TypeError Unsupported operand type string for bit shift left +'foo' << array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type string for bit shift left +'foo' << array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type string for bit shift left +'foo' << array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type string for bit shift left +'foo' << (object) array ( ) - TypeError Unsupported operand type string for bit shift left +'foo' << (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type string for bit shift left +'foo' << (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type string for bit shift left +'foo' << DateTime - TypeError Unsupported operand type string for bit shift left +'foo' << resource - TypeError Unsupported operand type string for bit shift left +'foo' << NULL - TypeError Unsupported operand type string for bit shift left +array ( ) << false - TypeError Unsupported operand type array for bit shift left +array ( ) << true - TypeError Unsupported operand type array for bit shift left +array ( ) << 0 - TypeError Unsupported operand type array for bit shift left +array ( ) << 10 - TypeError Unsupported operand type array for bit shift left +array ( ) << 0.0 - TypeError Unsupported operand type array for bit shift left +array ( ) << 10.0 - TypeError Unsupported operand type array for bit shift left +array ( ) << 3.14 - TypeError Unsupported operand type array for bit shift left +array ( ) << '0' - TypeError Unsupported operand type array for bit shift left +array ( ) << '10' - TypeError Unsupported operand type array for bit shift left +array ( ) << '010' - TypeError Unsupported operand type array for bit shift left +array ( ) << '10 elephants' - TypeError Unsupported operand type array for bit shift left +array ( ) << 'foo' - TypeError Unsupported operand type array for bit shift left +array ( ) << array ( ) - TypeError Unsupported operand type array for bit shift left +array ( ) << array ( 0 => 1 ) - TypeError Unsupported operand type array for bit shift left +array ( ) << array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for bit shift left +array ( ) << array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for bit shift left +array ( ) << array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for bit shift left +array ( ) << (object) array ( ) - TypeError Unsupported operand type array for bit shift left +array ( ) << (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for bit shift left +array ( ) << (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for bit shift left +array ( ) << DateTime - TypeError Unsupported operand type array for bit shift left +array ( ) << resource - TypeError Unsupported operand type array for bit shift left +array ( ) << NULL - TypeError Unsupported operand type array for bit shift left +array ( 0 => 1 ) << false - TypeError Unsupported operand type array for bit shift left +array ( 0 => 1 ) << true - TypeError Unsupported operand type array for bit shift left +array ( 0 => 1 ) << 0 - TypeError Unsupported operand type array for bit shift left +array ( 0 => 1 ) << 10 - TypeError Unsupported operand type array for bit shift left +array ( 0 => 1 ) << 0.0 - TypeError Unsupported operand type array for bit shift left +array ( 0 => 1 ) << 10.0 - TypeError Unsupported operand type array for bit shift left +array ( 0 => 1 ) << 3.14 - TypeError Unsupported operand type array for bit shift left +array ( 0 => 1 ) << '0' - TypeError Unsupported operand type array for bit shift left +array ( 0 => 1 ) << '10' - TypeError Unsupported operand type array for bit shift left +array ( 0 => 1 ) << '010' - TypeError Unsupported operand type array for bit shift left +array ( 0 => 1 ) << '10 elephants' - TypeError Unsupported operand type array for bit shift left +array ( 0 => 1 ) << 'foo' - TypeError Unsupported operand type array for bit shift left +array ( 0 => 1 ) << array ( ) - TypeError Unsupported operand type array for bit shift left +array ( 0 => 1 ) << array ( 0 => 1 ) - TypeError Unsupported operand type array for bit shift left +array ( 0 => 1 ) << array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for bit shift left +array ( 0 => 1 ) << array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for bit shift left +array ( 0 => 1 ) << array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for bit shift left +array ( 0 => 1 ) << (object) array ( ) - TypeError Unsupported operand type array for bit shift left +array ( 0 => 1 ) << (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for bit shift left +array ( 0 => 1 ) << (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for bit shift left +array ( 0 => 1 ) << DateTime - TypeError Unsupported operand type array for bit shift left +array ( 0 => 1 ) << resource - TypeError Unsupported operand type array for bit shift left +array ( 0 => 1 ) << NULL - TypeError Unsupported operand type array for bit shift left +array ( 0 => 1, 1 => 100 ) << false - TypeError Unsupported operand type array for bit shift left +array ( 0 => 1, 1 => 100 ) << true - TypeError Unsupported operand type array for bit shift left +array ( 0 => 1, 1 => 100 ) << 0 - TypeError Unsupported operand type array for bit shift left +array ( 0 => 1, 1 => 100 ) << 10 - TypeError Unsupported operand type array for bit shift left +array ( 0 => 1, 1 => 100 ) << 0.0 - TypeError Unsupported operand type array for bit shift left +array ( 0 => 1, 1 => 100 ) << 10.0 - TypeError Unsupported operand type array for bit shift left +array ( 0 => 1, 1 => 100 ) << 3.14 - TypeError Unsupported operand type array for bit shift left +array ( 0 => 1, 1 => 100 ) << '0' - TypeError Unsupported operand type array for bit shift left +array ( 0 => 1, 1 => 100 ) << '10' - TypeError Unsupported operand type array for bit shift left +array ( 0 => 1, 1 => 100 ) << '010' - TypeError Unsupported operand type array for bit shift left +array ( 0 => 1, 1 => 100 ) << '10 elephants' - TypeError Unsupported operand type array for bit shift left +array ( 0 => 1, 1 => 100 ) << 'foo' - TypeError Unsupported operand type array for bit shift left +array ( 0 => 1, 1 => 100 ) << array ( ) - TypeError Unsupported operand type array for bit shift left +array ( 0 => 1, 1 => 100 ) << array ( 0 => 1 ) - TypeError Unsupported operand type array for bit shift left +array ( 0 => 1, 1 => 100 ) << array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for bit shift left +array ( 0 => 1, 1 => 100 ) << array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for bit shift left +array ( 0 => 1, 1 => 100 ) << array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for bit shift left +array ( 0 => 1, 1 => 100 ) << (object) array ( ) - TypeError Unsupported operand type array for bit shift left +array ( 0 => 1, 1 => 100 ) << (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for bit shift left +array ( 0 => 1, 1 => 100 ) << (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for bit shift left +array ( 0 => 1, 1 => 100 ) << DateTime - TypeError Unsupported operand type array for bit shift left +array ( 0 => 1, 1 => 100 ) << resource - TypeError Unsupported operand type array for bit shift left +array ( 0 => 1, 1 => 100 ) << NULL - TypeError Unsupported operand type array for bit shift left +array ( 'foo' => 1, 'bar' => 2 ) << false - TypeError Unsupported operand type array for bit shift left +array ( 'foo' => 1, 'bar' => 2 ) << true - TypeError Unsupported operand type array for bit shift left +array ( 'foo' => 1, 'bar' => 2 ) << 0 - TypeError Unsupported operand type array for bit shift left +array ( 'foo' => 1, 'bar' => 2 ) << 10 - TypeError Unsupported operand type array for bit shift left +array ( 'foo' => 1, 'bar' => 2 ) << 0.0 - TypeError Unsupported operand type array for bit shift left +array ( 'foo' => 1, 'bar' => 2 ) << 10.0 - TypeError Unsupported operand type array for bit shift left +array ( 'foo' => 1, 'bar' => 2 ) << 3.14 - TypeError Unsupported operand type array for bit shift left +array ( 'foo' => 1, 'bar' => 2 ) << '0' - TypeError Unsupported operand type array for bit shift left +array ( 'foo' => 1, 'bar' => 2 ) << '10' - TypeError Unsupported operand type array for bit shift left +array ( 'foo' => 1, 'bar' => 2 ) << '010' - TypeError Unsupported operand type array for bit shift left +array ( 'foo' => 1, 'bar' => 2 ) << '10 elephants' - TypeError Unsupported operand type array for bit shift left +array ( 'foo' => 1, 'bar' => 2 ) << 'foo' - TypeError Unsupported operand type array for bit shift left +array ( 'foo' => 1, 'bar' => 2 ) << array ( ) - TypeError Unsupported operand type array for bit shift left +array ( 'foo' => 1, 'bar' => 2 ) << array ( 0 => 1 ) - TypeError Unsupported operand type array for bit shift left +array ( 'foo' => 1, 'bar' => 2 ) << array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for bit shift left +array ( 'foo' => 1, 'bar' => 2 ) << array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for bit shift left +array ( 'foo' => 1, 'bar' => 2 ) << array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for bit shift left +array ( 'foo' => 1, 'bar' => 2 ) << (object) array ( ) - TypeError Unsupported operand type array for bit shift left +array ( 'foo' => 1, 'bar' => 2 ) << (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for bit shift left +array ( 'foo' => 1, 'bar' => 2 ) << (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for bit shift left +array ( 'foo' => 1, 'bar' => 2 ) << DateTime - TypeError Unsupported operand type array for bit shift left +array ( 'foo' => 1, 'bar' => 2 ) << resource - TypeError Unsupported operand type array for bit shift left +array ( 'foo' => 1, 'bar' => 2 ) << NULL - TypeError Unsupported operand type array for bit shift left +array ( 'bar' => 1, 'foo' => 2 ) << false - TypeError Unsupported operand type array for bit shift left +array ( 'bar' => 1, 'foo' => 2 ) << true - TypeError Unsupported operand type array for bit shift left +array ( 'bar' => 1, 'foo' => 2 ) << 0 - TypeError Unsupported operand type array for bit shift left +array ( 'bar' => 1, 'foo' => 2 ) << 10 - TypeError Unsupported operand type array for bit shift left +array ( 'bar' => 1, 'foo' => 2 ) << 0.0 - TypeError Unsupported operand type array for bit shift left +array ( 'bar' => 1, 'foo' => 2 ) << 10.0 - TypeError Unsupported operand type array for bit shift left +array ( 'bar' => 1, 'foo' => 2 ) << 3.14 - TypeError Unsupported operand type array for bit shift left +array ( 'bar' => 1, 'foo' => 2 ) << '0' - TypeError Unsupported operand type array for bit shift left +array ( 'bar' => 1, 'foo' => 2 ) << '10' - TypeError Unsupported operand type array for bit shift left +array ( 'bar' => 1, 'foo' => 2 ) << '010' - TypeError Unsupported operand type array for bit shift left +array ( 'bar' => 1, 'foo' => 2 ) << '10 elephants' - TypeError Unsupported operand type array for bit shift left +array ( 'bar' => 1, 'foo' => 2 ) << 'foo' - TypeError Unsupported operand type array for bit shift left +array ( 'bar' => 1, 'foo' => 2 ) << array ( ) - TypeError Unsupported operand type array for bit shift left +array ( 'bar' => 1, 'foo' => 2 ) << array ( 0 => 1 ) - TypeError Unsupported operand type array for bit shift left +array ( 'bar' => 1, 'foo' => 2 ) << array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for bit shift left +array ( 'bar' => 1, 'foo' => 2 ) << array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for bit shift left +array ( 'bar' => 1, 'foo' => 2 ) << array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for bit shift left +array ( 'bar' => 1, 'foo' => 2 ) << (object) array ( ) - TypeError Unsupported operand type array for bit shift left +array ( 'bar' => 1, 'foo' => 2 ) << (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for bit shift left +array ( 'bar' => 1, 'foo' => 2 ) << (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for bit shift left +array ( 'bar' => 1, 'foo' => 2 ) << DateTime - TypeError Unsupported operand type array for bit shift left +array ( 'bar' => 1, 'foo' => 2 ) << resource - TypeError Unsupported operand type array for bit shift left +array ( 'bar' => 1, 'foo' => 2 ) << NULL - TypeError Unsupported operand type array for bit shift left +(object) array ( ) << false - TypeError Unsupported operand type object for bit shift left +(object) array ( ) << true - TypeError Unsupported operand type object for bit shift left +(object) array ( ) << 0 - TypeError Unsupported operand type object for bit shift left +(object) array ( ) << 10 - TypeError Unsupported operand type object for bit shift left +(object) array ( ) << 0.0 - TypeError Unsupported operand type object for bit shift left +(object) array ( ) << 10.0 - TypeError Unsupported operand type object for bit shift left +(object) array ( ) << 3.14 - TypeError Unsupported operand type object for bit shift left +(object) array ( ) << '0' - TypeError Unsupported operand type object for bit shift left +(object) array ( ) << '10' - TypeError Unsupported operand type object for bit shift left +(object) array ( ) << '010' - TypeError Unsupported operand type object for bit shift left +(object) array ( ) << '10 elephants' - TypeError Unsupported operand type object for bit shift left +(object) array ( ) << 'foo' - TypeError Unsupported operand type object for bit shift left +(object) array ( ) << array ( ) - TypeError Unsupported operand type object for bit shift left +(object) array ( ) << array ( 0 => 1 ) - TypeError Unsupported operand type object for bit shift left +(object) array ( ) << array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type object for bit shift left +(object) array ( ) << array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for bit shift left +(object) array ( ) << array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for bit shift left +(object) array ( ) << (object) array ( ) - TypeError Unsupported operand type object for bit shift left +(object) array ( ) << (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for bit shift left +(object) array ( ) << (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for bit shift left +(object) array ( ) << DateTime - TypeError Unsupported operand type object for bit shift left +(object) array ( ) << resource - TypeError Unsupported operand type object for bit shift left +(object) array ( ) << NULL - TypeError Unsupported operand type object for bit shift left +(object) array ( 'foo' => 1, 'bar' => 2 ) << false - TypeError Unsupported operand type object for bit shift left +(object) array ( 'foo' => 1, 'bar' => 2 ) << true - TypeError Unsupported operand type object for bit shift left +(object) array ( 'foo' => 1, 'bar' => 2 ) << 0 - TypeError Unsupported operand type object for bit shift left +(object) array ( 'foo' => 1, 'bar' => 2 ) << 10 - TypeError Unsupported operand type object for bit shift left +(object) array ( 'foo' => 1, 'bar' => 2 ) << 0.0 - TypeError Unsupported operand type object for bit shift left +(object) array ( 'foo' => 1, 'bar' => 2 ) << 10.0 - TypeError Unsupported operand type object for bit shift left +(object) array ( 'foo' => 1, 'bar' => 2 ) << 3.14 - TypeError Unsupported operand type object for bit shift left +(object) array ( 'foo' => 1, 'bar' => 2 ) << '0' - TypeError Unsupported operand type object for bit shift left +(object) array ( 'foo' => 1, 'bar' => 2 ) << '10' - TypeError Unsupported operand type object for bit shift left +(object) array ( 'foo' => 1, 'bar' => 2 ) << '010' - TypeError Unsupported operand type object for bit shift left +(object) array ( 'foo' => 1, 'bar' => 2 ) << '10 elephants' - TypeError Unsupported operand type object for bit shift left +(object) array ( 'foo' => 1, 'bar' => 2 ) << 'foo' - TypeError Unsupported operand type object for bit shift left +(object) array ( 'foo' => 1, 'bar' => 2 ) << array ( ) - TypeError Unsupported operand type object for bit shift left +(object) array ( 'foo' => 1, 'bar' => 2 ) << array ( 0 => 1 ) - TypeError Unsupported operand type object for bit shift left +(object) array ( 'foo' => 1, 'bar' => 2 ) << array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type object for bit shift left +(object) array ( 'foo' => 1, 'bar' => 2 ) << array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for bit shift left +(object) array ( 'foo' => 1, 'bar' => 2 ) << array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for bit shift left +(object) array ( 'foo' => 1, 'bar' => 2 ) << (object) array ( ) - TypeError Unsupported operand type object for bit shift left +(object) array ( 'foo' => 1, 'bar' => 2 ) << (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for bit shift left +(object) array ( 'foo' => 1, 'bar' => 2 ) << (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for bit shift left +(object) array ( 'foo' => 1, 'bar' => 2 ) << DateTime - TypeError Unsupported operand type object for bit shift left +(object) array ( 'foo' => 1, 'bar' => 2 ) << resource - TypeError Unsupported operand type object for bit shift left +(object) array ( 'foo' => 1, 'bar' => 2 ) << NULL - TypeError Unsupported operand type object for bit shift left +(object) array ( 'bar' => 1, 'foo' => 2 ) << false - TypeError Unsupported operand type object for bit shift left +(object) array ( 'bar' => 1, 'foo' => 2 ) << true - TypeError Unsupported operand type object for bit shift left +(object) array ( 'bar' => 1, 'foo' => 2 ) << 0 - TypeError Unsupported operand type object for bit shift left +(object) array ( 'bar' => 1, 'foo' => 2 ) << 10 - TypeError Unsupported operand type object for bit shift left +(object) array ( 'bar' => 1, 'foo' => 2 ) << 0.0 - TypeError Unsupported operand type object for bit shift left +(object) array ( 'bar' => 1, 'foo' => 2 ) << 10.0 - TypeError Unsupported operand type object for bit shift left +(object) array ( 'bar' => 1, 'foo' => 2 ) << 3.14 - TypeError Unsupported operand type object for bit shift left +(object) array ( 'bar' => 1, 'foo' => 2 ) << '0' - TypeError Unsupported operand type object for bit shift left +(object) array ( 'bar' => 1, 'foo' => 2 ) << '10' - TypeError Unsupported operand type object for bit shift left +(object) array ( 'bar' => 1, 'foo' => 2 ) << '010' - TypeError Unsupported operand type object for bit shift left +(object) array ( 'bar' => 1, 'foo' => 2 ) << '10 elephants' - TypeError Unsupported operand type object for bit shift left +(object) array ( 'bar' => 1, 'foo' => 2 ) << 'foo' - TypeError Unsupported operand type object for bit shift left +(object) array ( 'bar' => 1, 'foo' => 2 ) << array ( ) - TypeError Unsupported operand type object for bit shift left +(object) array ( 'bar' => 1, 'foo' => 2 ) << array ( 0 => 1 ) - TypeError Unsupported operand type object for bit shift left +(object) array ( 'bar' => 1, 'foo' => 2 ) << array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type object for bit shift left +(object) array ( 'bar' => 1, 'foo' => 2 ) << array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for bit shift left +(object) array ( 'bar' => 1, 'foo' => 2 ) << array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for bit shift left +(object) array ( 'bar' => 1, 'foo' => 2 ) << (object) array ( ) - TypeError Unsupported operand type object for bit shift left +(object) array ( 'bar' => 1, 'foo' => 2 ) << (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for bit shift left +(object) array ( 'bar' => 1, 'foo' => 2 ) << (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for bit shift left +(object) array ( 'bar' => 1, 'foo' => 2 ) << DateTime - TypeError Unsupported operand type object for bit shift left +(object) array ( 'bar' => 1, 'foo' => 2 ) << resource - TypeError Unsupported operand type object for bit shift left +(object) array ( 'bar' => 1, 'foo' => 2 ) << NULL - TypeError Unsupported operand type object for bit shift left +DateTime << false - TypeError Unsupported operand type object for bit shift left +DateTime << true - TypeError Unsupported operand type object for bit shift left +DateTime << 0 - TypeError Unsupported operand type object for bit shift left +DateTime << 10 - TypeError Unsupported operand type object for bit shift left +DateTime << 0.0 - TypeError Unsupported operand type object for bit shift left +DateTime << 10.0 - TypeError Unsupported operand type object for bit shift left +DateTime << 3.14 - TypeError Unsupported operand type object for bit shift left +DateTime << '0' - TypeError Unsupported operand type object for bit shift left +DateTime << '10' - TypeError Unsupported operand type object for bit shift left +DateTime << '010' - TypeError Unsupported operand type object for bit shift left +DateTime << '10 elephants' - TypeError Unsupported operand type object for bit shift left +DateTime << 'foo' - TypeError Unsupported operand type object for bit shift left +DateTime << array ( ) - TypeError Unsupported operand type object for bit shift left +DateTime << array ( 0 => 1 ) - TypeError Unsupported operand type object for bit shift left +DateTime << array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type object for bit shift left +DateTime << array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for bit shift left +DateTime << array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for bit shift left +DateTime << (object) array ( ) - TypeError Unsupported operand type object for bit shift left +DateTime << (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for bit shift left +DateTime << (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for bit shift left +DateTime << DateTime - TypeError Unsupported operand type object for bit shift left +DateTime << resource - TypeError Unsupported operand type object for bit shift left +DateTime << NULL - TypeError Unsupported operand type object for bit shift left +resource << false - TypeError Unsupported operand type resource for bit shift left +resource << true - TypeError Unsupported operand type resource for bit shift left +resource << 0 - TypeError Unsupported operand type resource for bit shift left +resource << 10 - TypeError Unsupported operand type resource for bit shift left +resource << 0.0 - TypeError Unsupported operand type resource for bit shift left +resource << 10.0 - TypeError Unsupported operand type resource for bit shift left +resource << 3.14 - TypeError Unsupported operand type resource for bit shift left +resource << '0' - TypeError Unsupported operand type resource for bit shift left +resource << '10' - TypeError Unsupported operand type resource for bit shift left +resource << '010' - TypeError Unsupported operand type resource for bit shift left +resource << '10 elephants' - TypeError Unsupported operand type resource for bit shift left +resource << 'foo' - TypeError Unsupported operand type resource for bit shift left +resource << array ( ) - TypeError Unsupported operand type resource for bit shift left +resource << array ( 0 => 1 ) - TypeError Unsupported operand type resource for bit shift left +resource << array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type resource for bit shift left +resource << array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type resource for bit shift left +resource << array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type resource for bit shift left +resource << (object) array ( ) - TypeError Unsupported operand type resource for bit shift left +resource << (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type resource for bit shift left +resource << (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type resource for bit shift left +resource << DateTime - TypeError Unsupported operand type resource for bit shift left +resource << resource - TypeError Unsupported operand type resource for bit shift left +resource << NULL - TypeError Unsupported operand type resource for bit shift left +NULL << false - TypeError Unsupported operand type null for bit shift left +NULL << true - TypeError Unsupported operand type null for bit shift left +NULL << 0 - TypeError Unsupported operand type null for bit shift left +NULL << 10 - TypeError Unsupported operand type null for bit shift left +NULL << 0.0 - TypeError Unsupported operand type null for bit shift left +NULL << 10.0 - TypeError Unsupported operand type null for bit shift left +NULL << 3.14 - TypeError Unsupported operand type null for bit shift left +NULL << '0' - TypeError Unsupported operand type null for bit shift left +NULL << '10' - TypeError Unsupported operand type null for bit shift left +NULL << '010' - TypeError Unsupported operand type null for bit shift left +NULL << '10 elephants' - TypeError Unsupported operand type null for bit shift left +NULL << 'foo' - TypeError Unsupported operand type null for bit shift left +NULL << array ( ) - TypeError Unsupported operand type null for bit shift left +NULL << array ( 0 => 1 ) - TypeError Unsupported operand type null for bit shift left +NULL << array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type null for bit shift left +NULL << array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type null for bit shift left +NULL << array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type null for bit shift left +NULL << (object) array ( ) - TypeError Unsupported operand type null for bit shift left +NULL << (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type null for bit shift left +NULL << (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type null for bit shift left +NULL << DateTime - TypeError Unsupported operand type null for bit shift left +NULL << resource - TypeError Unsupported operand type null for bit shift left +NULL << NULL - TypeError Unsupported operand type null for bit shift left \ No newline at end of file diff --git a/Zend/tests/operators/bitwise/shift_right.phpt b/Zend/tests/operators/bitwise/shift_right.phpt new file mode 100644 index 000000000000..dce1c15d2f36 --- /dev/null +++ b/Zend/tests/operators/bitwise/shift_right.phpt @@ -0,0 +1,540 @@ +--TEST-- +bitwise shift right operator +--FILE-- +> $b', function($a, $b) { return $a >> $b; }, 'var_out_base64'); + +--EXPECT-- +false >> false = 0 +false >> true = 0 +false >> 0 = 0 +false >> 10 = 0 +false >> 0.0 = 0 +false >> 10.0 = 0 +false >> 3.14 = 0 +false >> '0' = 0 +false >> '10' = 0 +false >> '010' = 0 +false >> '10 elephants' = 0 - Notice A non well formed numeric value encountered +false >> 'foo' = 0 - Warning A non-numeric value encountered +false >> array ( ) = 0 +false >> array ( 0 => 1 ) = 0 +false >> array ( 0 => 1, 1 => 100 ) = 0 +false >> array ( 'foo' => 1, 'bar' => 2 ) = 0 +false >> array ( 'bar' => 1, 'foo' => 2 ) = 0 +false >> (object) array ( ) = 0 - Notice Object of class stdClass could not be converted to int +false >> (object) array ( 'foo' => 1, 'bar' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +false >> (object) array ( 'bar' => 1, 'foo' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +false >> DateTime = 0 - Notice Object of class DateTime could not be converted to int +false >> resource = 0 +false >> NULL = 0 +true >> false = 1 +true >> true = 0 +true >> 0 = 1 +true >> 10 = 0 +true >> 0.0 = 1 +true >> 10.0 = 0 +true >> 3.14 = 0 +true >> '0' = 1 +true >> '10' = 0 +true >> '010' = 0 +true >> '10 elephants' = 0 - Notice A non well formed numeric value encountered +true >> 'foo' = 1 - Warning A non-numeric value encountered +true >> array ( ) = 1 +true >> array ( 0 => 1 ) = 0 +true >> array ( 0 => 1, 1 => 100 ) = 0 +true >> array ( 'foo' => 1, 'bar' => 2 ) = 0 +true >> array ( 'bar' => 1, 'foo' => 2 ) = 0 +true >> (object) array ( ) = 0 - Notice Object of class stdClass could not be converted to int +true >> (object) array ( 'foo' => 1, 'bar' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +true >> (object) array ( 'bar' => 1, 'foo' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +true >> DateTime = 0 - Notice Object of class DateTime could not be converted to int +true >> resource = 0 +true >> NULL = 1 +0 >> false = 0 +0 >> true = 0 +0 >> 0 = 0 +0 >> 10 = 0 +0 >> 0.0 = 0 +0 >> 10.0 = 0 +0 >> 3.14 = 0 +0 >> '0' = 0 +0 >> '10' = 0 +0 >> '010' = 0 +0 >> '10 elephants' = 0 - Notice A non well formed numeric value encountered +0 >> 'foo' = 0 - Warning A non-numeric value encountered +0 >> array ( ) = 0 +0 >> array ( 0 => 1 ) = 0 +0 >> array ( 0 => 1, 1 => 100 ) = 0 +0 >> array ( 'foo' => 1, 'bar' => 2 ) = 0 +0 >> array ( 'bar' => 1, 'foo' => 2 ) = 0 +0 >> (object) array ( ) = 0 - Notice Object of class stdClass could not be converted to int +0 >> (object) array ( 'foo' => 1, 'bar' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +0 >> (object) array ( 'bar' => 1, 'foo' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +0 >> DateTime = 0 - Notice Object of class DateTime could not be converted to int +0 >> resource = 0 +0 >> NULL = 0 +10 >> false = 10 +10 >> true = 5 +10 >> 0 = 10 +10 >> 10 = 0 +10 >> 0.0 = 10 +10 >> 10.0 = 0 +10 >> 3.14 = 1 +10 >> '0' = 10 +10 >> '10' = 0 +10 >> '010' = 0 +10 >> '10 elephants' = 0 - Notice A non well formed numeric value encountered +10 >> 'foo' = 10 - Warning A non-numeric value encountered +10 >> array ( ) = 10 +10 >> array ( 0 => 1 ) = 5 +10 >> array ( 0 => 1, 1 => 100 ) = 5 +10 >> array ( 'foo' => 1, 'bar' => 2 ) = 5 +10 >> array ( 'bar' => 1, 'foo' => 2 ) = 5 +10 >> (object) array ( ) = 5 - Notice Object of class stdClass could not be converted to int +10 >> (object) array ( 'foo' => 1, 'bar' => 2 ) = 5 - Notice Object of class stdClass could not be converted to int +10 >> (object) array ( 'bar' => 1, 'foo' => 2 ) = 5 - Notice Object of class stdClass could not be converted to int +10 >> DateTime = 5 - Notice Object of class DateTime could not be converted to int +10 >> resource = 0 +10 >> NULL = 10 +0.0 >> false = 0 +0.0 >> true = 0 +0.0 >> 0 = 0 +0.0 >> 10 = 0 +0.0 >> 0.0 = 0 +0.0 >> 10.0 = 0 +0.0 >> 3.14 = 0 +0.0 >> '0' = 0 +0.0 >> '10' = 0 +0.0 >> '010' = 0 +0.0 >> '10 elephants' = 0 - Notice A non well formed numeric value encountered +0.0 >> 'foo' = 0 - Warning A non-numeric value encountered +0.0 >> array ( ) = 0 +0.0 >> array ( 0 => 1 ) = 0 +0.0 >> array ( 0 => 1, 1 => 100 ) = 0 +0.0 >> array ( 'foo' => 1, 'bar' => 2 ) = 0 +0.0 >> array ( 'bar' => 1, 'foo' => 2 ) = 0 +0.0 >> (object) array ( ) = 0 - Notice Object of class stdClass could not be converted to int +0.0 >> (object) array ( 'foo' => 1, 'bar' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +0.0 >> (object) array ( 'bar' => 1, 'foo' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +0.0 >> DateTime = 0 - Notice Object of class DateTime could not be converted to int +0.0 >> resource = 0 +0.0 >> NULL = 0 +10.0 >> false = 10 +10.0 >> true = 5 +10.0 >> 0 = 10 +10.0 >> 10 = 0 +10.0 >> 0.0 = 10 +10.0 >> 10.0 = 0 +10.0 >> 3.14 = 1 +10.0 >> '0' = 10 +10.0 >> '10' = 0 +10.0 >> '010' = 0 +10.0 >> '10 elephants' = 0 - Notice A non well formed numeric value encountered +10.0 >> 'foo' = 10 - Warning A non-numeric value encountered +10.0 >> array ( ) = 10 +10.0 >> array ( 0 => 1 ) = 5 +10.0 >> array ( 0 => 1, 1 => 100 ) = 5 +10.0 >> array ( 'foo' => 1, 'bar' => 2 ) = 5 +10.0 >> array ( 'bar' => 1, 'foo' => 2 ) = 5 +10.0 >> (object) array ( ) = 5 - Notice Object of class stdClass could not be converted to int +10.0 >> (object) array ( 'foo' => 1, 'bar' => 2 ) = 5 - Notice Object of class stdClass could not be converted to int +10.0 >> (object) array ( 'bar' => 1, 'foo' => 2 ) = 5 - Notice Object of class stdClass could not be converted to int +10.0 >> DateTime = 5 - Notice Object of class DateTime could not be converted to int +10.0 >> resource = 0 +10.0 >> NULL = 10 +3.14 >> false = 3 +3.14 >> true = 1 +3.14 >> 0 = 3 +3.14 >> 10 = 0 +3.14 >> 0.0 = 3 +3.14 >> 10.0 = 0 +3.14 >> 3.14 = 0 +3.14 >> '0' = 3 +3.14 >> '10' = 0 +3.14 >> '010' = 0 +3.14 >> '10 elephants' = 0 - Notice A non well formed numeric value encountered +3.14 >> 'foo' = 3 - Warning A non-numeric value encountered +3.14 >> array ( ) = 3 +3.14 >> array ( 0 => 1 ) = 1 +3.14 >> array ( 0 => 1, 1 => 100 ) = 1 +3.14 >> array ( 'foo' => 1, 'bar' => 2 ) = 1 +3.14 >> array ( 'bar' => 1, 'foo' => 2 ) = 1 +3.14 >> (object) array ( ) = 1 - Notice Object of class stdClass could not be converted to int +3.14 >> (object) array ( 'foo' => 1, 'bar' => 2 ) = 1 - Notice Object of class stdClass could not be converted to int +3.14 >> (object) array ( 'bar' => 1, 'foo' => 2 ) = 1 - Notice Object of class stdClass could not be converted to int +3.14 >> DateTime = 1 - Notice Object of class DateTime could not be converted to int +3.14 >> resource = 0 +3.14 >> NULL = 3 +'0' >> false = 0 +'0' >> true = 0 +'0' >> 0 = 0 +'0' >> 10 = 0 +'0' >> 0.0 = 0 +'0' >> 10.0 = 0 +'0' >> 3.14 = 0 +'0' >> '0' = 0 +'0' >> '10' = 0 +'0' >> '010' = 0 +'0' >> '10 elephants' = 0 - Notice A non well formed numeric value encountered +'0' >> 'foo' = 0 - Warning A non-numeric value encountered +'0' >> array ( ) = 0 +'0' >> array ( 0 => 1 ) = 0 +'0' >> array ( 0 => 1, 1 => 100 ) = 0 +'0' >> array ( 'foo' => 1, 'bar' => 2 ) = 0 +'0' >> array ( 'bar' => 1, 'foo' => 2 ) = 0 +'0' >> (object) array ( ) = 0 - Notice Object of class stdClass could not be converted to int +'0' >> (object) array ( 'foo' => 1, 'bar' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +'0' >> (object) array ( 'bar' => 1, 'foo' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +'0' >> DateTime = 0 - Notice Object of class DateTime could not be converted to int +'0' >> resource = 0 +'0' >> NULL = 0 +'10' >> false = 10 +'10' >> true = 5 +'10' >> 0 = 10 +'10' >> 10 = 0 +'10' >> 0.0 = 10 +'10' >> 10.0 = 0 +'10' >> 3.14 = 1 +'10' >> '0' = 10 +'10' >> '10' = 0 +'10' >> '010' = 0 +'10' >> '10 elephants' = 0 - Notice A non well formed numeric value encountered +'10' >> 'foo' = 10 - Warning A non-numeric value encountered +'10' >> array ( ) = 10 +'10' >> array ( 0 => 1 ) = 5 +'10' >> array ( 0 => 1, 1 => 100 ) = 5 +'10' >> array ( 'foo' => 1, 'bar' => 2 ) = 5 +'10' >> array ( 'bar' => 1, 'foo' => 2 ) = 5 +'10' >> (object) array ( ) = 5 - Notice Object of class stdClass could not be converted to int +'10' >> (object) array ( 'foo' => 1, 'bar' => 2 ) = 5 - Notice Object of class stdClass could not be converted to int +'10' >> (object) array ( 'bar' => 1, 'foo' => 2 ) = 5 - Notice Object of class stdClass could not be converted to int +'10' >> DateTime = 5 - Notice Object of class DateTime could not be converted to int +'10' >> resource = 0 +'10' >> NULL = 10 +'010' >> false = 10 +'010' >> true = 5 +'010' >> 0 = 10 +'010' >> 10 = 0 +'010' >> 0.0 = 10 +'010' >> 10.0 = 0 +'010' >> 3.14 = 1 +'010' >> '0' = 10 +'010' >> '10' = 0 +'010' >> '010' = 0 +'010' >> '10 elephants' = 0 - Notice A non well formed numeric value encountered +'010' >> 'foo' = 10 - Warning A non-numeric value encountered +'010' >> array ( ) = 10 +'010' >> array ( 0 => 1 ) = 5 +'010' >> array ( 0 => 1, 1 => 100 ) = 5 +'010' >> array ( 'foo' => 1, 'bar' => 2 ) = 5 +'010' >> array ( 'bar' => 1, 'foo' => 2 ) = 5 +'010' >> (object) array ( ) = 5 - Notice Object of class stdClass could not be converted to int +'010' >> (object) array ( 'foo' => 1, 'bar' => 2 ) = 5 - Notice Object of class stdClass could not be converted to int +'010' >> (object) array ( 'bar' => 1, 'foo' => 2 ) = 5 - Notice Object of class stdClass could not be converted to int +'010' >> DateTime = 5 - Notice Object of class DateTime could not be converted to int +'010' >> resource = 0 +'010' >> NULL = 10 +'10 elephants' >> false = 10 - Notice A non well formed numeric value encountered +'10 elephants' >> true = 5 - Notice A non well formed numeric value encountered +'10 elephants' >> 0 = 10 - Notice A non well formed numeric value encountered +'10 elephants' >> 10 = 0 - Notice A non well formed numeric value encountered +'10 elephants' >> 0.0 = 10 - Notice A non well formed numeric value encountered +'10 elephants' >> 10.0 = 0 - Notice A non well formed numeric value encountered +'10 elephants' >> 3.14 = 1 - Notice A non well formed numeric value encountered +'10 elephants' >> '0' = 10 - Notice A non well formed numeric value encountered +'10 elephants' >> '10' = 0 - Notice A non well formed numeric value encountered +'10 elephants' >> '010' = 0 - Notice A non well formed numeric value encountered +'10 elephants' >> '10 elephants' = 0 - Notice A non well formed numeric value encountered +'10 elephants' >> 'foo' = 10 - Warning A non-numeric value encountered +'10 elephants' >> array ( ) = 10 - Notice A non well formed numeric value encountered +'10 elephants' >> array ( 0 => 1 ) = 5 - Notice A non well formed numeric value encountered +'10 elephants' >> array ( 0 => 1, 1 => 100 ) = 5 - Notice A non well formed numeric value encountered +'10 elephants' >> array ( 'foo' => 1, 'bar' => 2 ) = 5 - Notice A non well formed numeric value encountered +'10 elephants' >> array ( 'bar' => 1, 'foo' => 2 ) = 5 - Notice A non well formed numeric value encountered +'10 elephants' >> (object) array ( ) = 5 - Notice Object of class stdClass could not be converted to int +'10 elephants' >> (object) array ( 'foo' => 1, 'bar' => 2 ) = 5 - Notice Object of class stdClass could not be converted to int +'10 elephants' >> (object) array ( 'bar' => 1, 'foo' => 2 ) = 5 - Notice Object of class stdClass could not be converted to int +'10 elephants' >> DateTime = 5 - Notice Object of class DateTime could not be converted to int +'10 elephants' >> resource = 0 - Notice A non well formed numeric value encountered +'10 elephants' >> NULL = 10 - Notice A non well formed numeric value encountered +'foo' >> false = 0 - Warning A non-numeric value encountered +'foo' >> true = 0 - Warning A non-numeric value encountered +'foo' >> 0 = 0 - Warning A non-numeric value encountered +'foo' >> 10 = 0 - Warning A non-numeric value encountered +'foo' >> 0.0 = 0 - Warning A non-numeric value encountered +'foo' >> 10.0 = 0 - Warning A non-numeric value encountered +'foo' >> 3.14 = 0 - Warning A non-numeric value encountered +'foo' >> '0' = 0 - Warning A non-numeric value encountered +'foo' >> '10' = 0 - Warning A non-numeric value encountered +'foo' >> '010' = 0 - Warning A non-numeric value encountered +'foo' >> '10 elephants' = 0 - Notice A non well formed numeric value encountered +'foo' >> 'foo' = 0 - Warning A non-numeric value encountered +'foo' >> array ( ) = 0 - Warning A non-numeric value encountered +'foo' >> array ( 0 => 1 ) = 0 - Warning A non-numeric value encountered +'foo' >> array ( 0 => 1, 1 => 100 ) = 0 - Warning A non-numeric value encountered +'foo' >> array ( 'foo' => 1, 'bar' => 2 ) = 0 - Warning A non-numeric value encountered +'foo' >> array ( 'bar' => 1, 'foo' => 2 ) = 0 - Warning A non-numeric value encountered +'foo' >> (object) array ( ) = 0 - Notice Object of class stdClass could not be converted to int +'foo' >> (object) array ( 'foo' => 1, 'bar' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +'foo' >> (object) array ( 'bar' => 1, 'foo' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +'foo' >> DateTime = 0 - Notice Object of class DateTime could not be converted to int +'foo' >> resource = 0 - Warning A non-numeric value encountered +'foo' >> NULL = 0 - Warning A non-numeric value encountered +array ( ) >> false = 0 +array ( ) >> true = 0 +array ( ) >> 0 = 0 +array ( ) >> 10 = 0 +array ( ) >> 0.0 = 0 +array ( ) >> 10.0 = 0 +array ( ) >> 3.14 = 0 +array ( ) >> '0' = 0 +array ( ) >> '10' = 0 +array ( ) >> '010' = 0 +array ( ) >> '10 elephants' = 0 - Notice A non well formed numeric value encountered +array ( ) >> 'foo' = 0 - Warning A non-numeric value encountered +array ( ) >> array ( ) = 0 +array ( ) >> array ( 0 => 1 ) = 0 +array ( ) >> array ( 0 => 1, 1 => 100 ) = 0 +array ( ) >> array ( 'foo' => 1, 'bar' => 2 ) = 0 +array ( ) >> array ( 'bar' => 1, 'foo' => 2 ) = 0 +array ( ) >> (object) array ( ) = 0 - Notice Object of class stdClass could not be converted to int +array ( ) >> (object) array ( 'foo' => 1, 'bar' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +array ( ) >> (object) array ( 'bar' => 1, 'foo' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +array ( ) >> DateTime = 0 - Notice Object of class DateTime could not be converted to int +array ( ) >> resource = 0 +array ( ) >> NULL = 0 +array ( 0 => 1 ) >> false = 1 +array ( 0 => 1 ) >> true = 0 +array ( 0 => 1 ) >> 0 = 1 +array ( 0 => 1 ) >> 10 = 0 +array ( 0 => 1 ) >> 0.0 = 1 +array ( 0 => 1 ) >> 10.0 = 0 +array ( 0 => 1 ) >> 3.14 = 0 +array ( 0 => 1 ) >> '0' = 1 +array ( 0 => 1 ) >> '10' = 0 +array ( 0 => 1 ) >> '010' = 0 +array ( 0 => 1 ) >> '10 elephants' = 0 - Notice A non well formed numeric value encountered +array ( 0 => 1 ) >> 'foo' = 1 - Warning A non-numeric value encountered +array ( 0 => 1 ) >> array ( ) = 1 +array ( 0 => 1 ) >> array ( 0 => 1 ) = 0 +array ( 0 => 1 ) >> array ( 0 => 1, 1 => 100 ) = 0 +array ( 0 => 1 ) >> array ( 'foo' => 1, 'bar' => 2 ) = 0 +array ( 0 => 1 ) >> array ( 'bar' => 1, 'foo' => 2 ) = 0 +array ( 0 => 1 ) >> (object) array ( ) = 0 - Notice Object of class stdClass could not be converted to int +array ( 0 => 1 ) >> (object) array ( 'foo' => 1, 'bar' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +array ( 0 => 1 ) >> (object) array ( 'bar' => 1, 'foo' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +array ( 0 => 1 ) >> DateTime = 0 - Notice Object of class DateTime could not be converted to int +array ( 0 => 1 ) >> resource = 0 +array ( 0 => 1 ) >> NULL = 1 +array ( 0 => 1, 1 => 100 ) >> false = 1 +array ( 0 => 1, 1 => 100 ) >> true = 0 +array ( 0 => 1, 1 => 100 ) >> 0 = 1 +array ( 0 => 1, 1 => 100 ) >> 10 = 0 +array ( 0 => 1, 1 => 100 ) >> 0.0 = 1 +array ( 0 => 1, 1 => 100 ) >> 10.0 = 0 +array ( 0 => 1, 1 => 100 ) >> 3.14 = 0 +array ( 0 => 1, 1 => 100 ) >> '0' = 1 +array ( 0 => 1, 1 => 100 ) >> '10' = 0 +array ( 0 => 1, 1 => 100 ) >> '010' = 0 +array ( 0 => 1, 1 => 100 ) >> '10 elephants' = 0 - Notice A non well formed numeric value encountered +array ( 0 => 1, 1 => 100 ) >> 'foo' = 1 - Warning A non-numeric value encountered +array ( 0 => 1, 1 => 100 ) >> array ( ) = 1 +array ( 0 => 1, 1 => 100 ) >> array ( 0 => 1 ) = 0 +array ( 0 => 1, 1 => 100 ) >> array ( 0 => 1, 1 => 100 ) = 0 +array ( 0 => 1, 1 => 100 ) >> array ( 'foo' => 1, 'bar' => 2 ) = 0 +array ( 0 => 1, 1 => 100 ) >> array ( 'bar' => 1, 'foo' => 2 ) = 0 +array ( 0 => 1, 1 => 100 ) >> (object) array ( ) = 0 - Notice Object of class stdClass could not be converted to int +array ( 0 => 1, 1 => 100 ) >> (object) array ( 'foo' => 1, 'bar' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +array ( 0 => 1, 1 => 100 ) >> (object) array ( 'bar' => 1, 'foo' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +array ( 0 => 1, 1 => 100 ) >> DateTime = 0 - Notice Object of class DateTime could not be converted to int +array ( 0 => 1, 1 => 100 ) >> resource = 0 +array ( 0 => 1, 1 => 100 ) >> NULL = 1 +array ( 'foo' => 1, 'bar' => 2 ) >> false = 1 +array ( 'foo' => 1, 'bar' => 2 ) >> true = 0 +array ( 'foo' => 1, 'bar' => 2 ) >> 0 = 1 +array ( 'foo' => 1, 'bar' => 2 ) >> 10 = 0 +array ( 'foo' => 1, 'bar' => 2 ) >> 0.0 = 1 +array ( 'foo' => 1, 'bar' => 2 ) >> 10.0 = 0 +array ( 'foo' => 1, 'bar' => 2 ) >> 3.14 = 0 +array ( 'foo' => 1, 'bar' => 2 ) >> '0' = 1 +array ( 'foo' => 1, 'bar' => 2 ) >> '10' = 0 +array ( 'foo' => 1, 'bar' => 2 ) >> '010' = 0 +array ( 'foo' => 1, 'bar' => 2 ) >> '10 elephants' = 0 - Notice A non well formed numeric value encountered +array ( 'foo' => 1, 'bar' => 2 ) >> 'foo' = 1 - Warning A non-numeric value encountered +array ( 'foo' => 1, 'bar' => 2 ) >> array ( ) = 1 +array ( 'foo' => 1, 'bar' => 2 ) >> array ( 0 => 1 ) = 0 +array ( 'foo' => 1, 'bar' => 2 ) >> array ( 0 => 1, 1 => 100 ) = 0 +array ( 'foo' => 1, 'bar' => 2 ) >> array ( 'foo' => 1, 'bar' => 2 ) = 0 +array ( 'foo' => 1, 'bar' => 2 ) >> array ( 'bar' => 1, 'foo' => 2 ) = 0 +array ( 'foo' => 1, 'bar' => 2 ) >> (object) array ( ) = 0 - Notice Object of class stdClass could not be converted to int +array ( 'foo' => 1, 'bar' => 2 ) >> (object) array ( 'foo' => 1, 'bar' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +array ( 'foo' => 1, 'bar' => 2 ) >> (object) array ( 'bar' => 1, 'foo' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +array ( 'foo' => 1, 'bar' => 2 ) >> DateTime = 0 - Notice Object of class DateTime could not be converted to int +array ( 'foo' => 1, 'bar' => 2 ) >> resource = 0 +array ( 'foo' => 1, 'bar' => 2 ) >> NULL = 1 +array ( 'bar' => 1, 'foo' => 2 ) >> false = 1 +array ( 'bar' => 1, 'foo' => 2 ) >> true = 0 +array ( 'bar' => 1, 'foo' => 2 ) >> 0 = 1 +array ( 'bar' => 1, 'foo' => 2 ) >> 10 = 0 +array ( 'bar' => 1, 'foo' => 2 ) >> 0.0 = 1 +array ( 'bar' => 1, 'foo' => 2 ) >> 10.0 = 0 +array ( 'bar' => 1, 'foo' => 2 ) >> 3.14 = 0 +array ( 'bar' => 1, 'foo' => 2 ) >> '0' = 1 +array ( 'bar' => 1, 'foo' => 2 ) >> '10' = 0 +array ( 'bar' => 1, 'foo' => 2 ) >> '010' = 0 +array ( 'bar' => 1, 'foo' => 2 ) >> '10 elephants' = 0 - Notice A non well formed numeric value encountered +array ( 'bar' => 1, 'foo' => 2 ) >> 'foo' = 1 - Warning A non-numeric value encountered +array ( 'bar' => 1, 'foo' => 2 ) >> array ( ) = 1 +array ( 'bar' => 1, 'foo' => 2 ) >> array ( 0 => 1 ) = 0 +array ( 'bar' => 1, 'foo' => 2 ) >> array ( 0 => 1, 1 => 100 ) = 0 +array ( 'bar' => 1, 'foo' => 2 ) >> array ( 'foo' => 1, 'bar' => 2 ) = 0 +array ( 'bar' => 1, 'foo' => 2 ) >> array ( 'bar' => 1, 'foo' => 2 ) = 0 +array ( 'bar' => 1, 'foo' => 2 ) >> (object) array ( ) = 0 - Notice Object of class stdClass could not be converted to int +array ( 'bar' => 1, 'foo' => 2 ) >> (object) array ( 'foo' => 1, 'bar' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +array ( 'bar' => 1, 'foo' => 2 ) >> (object) array ( 'bar' => 1, 'foo' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +array ( 'bar' => 1, 'foo' => 2 ) >> DateTime = 0 - Notice Object of class DateTime could not be converted to int +array ( 'bar' => 1, 'foo' => 2 ) >> resource = 0 +array ( 'bar' => 1, 'foo' => 2 ) >> NULL = 1 +(object) array ( ) >> false = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( ) >> true = 0 - Notice Object of class stdClass could not be converted to int +(object) array ( ) >> 0 = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( ) >> 10 = 0 - Notice Object of class stdClass could not be converted to int +(object) array ( ) >> 0.0 = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( ) >> 10.0 = 0 - Notice Object of class stdClass could not be converted to int +(object) array ( ) >> 3.14 = 0 - Notice Object of class stdClass could not be converted to int +(object) array ( ) >> '0' = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( ) >> '10' = 0 - Notice Object of class stdClass could not be converted to int +(object) array ( ) >> '010' = 0 - Notice Object of class stdClass could not be converted to int +(object) array ( ) >> '10 elephants' = 0 - Notice A non well formed numeric value encountered +(object) array ( ) >> 'foo' = 1 - Warning A non-numeric value encountered +(object) array ( ) >> array ( ) = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( ) >> array ( 0 => 1 ) = 0 - Notice Object of class stdClass could not be converted to int +(object) array ( ) >> array ( 0 => 1, 1 => 100 ) = 0 - Notice Object of class stdClass could not be converted to int +(object) array ( ) >> array ( 'foo' => 1, 'bar' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +(object) array ( ) >> array ( 'bar' => 1, 'foo' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +(object) array ( ) >> (object) array ( ) = 0 - Notice Object of class stdClass could not be converted to int +(object) array ( ) >> (object) array ( 'foo' => 1, 'bar' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +(object) array ( ) >> (object) array ( 'bar' => 1, 'foo' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +(object) array ( ) >> DateTime = 0 - Notice Object of class DateTime could not be converted to int +(object) array ( ) >> resource = 0 - Notice Object of class stdClass could not be converted to int +(object) array ( ) >> NULL = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) >> false = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) >> true = 0 - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) >> 0 = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) >> 10 = 0 - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) >> 0.0 = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) >> 10.0 = 0 - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) >> 3.14 = 0 - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) >> '0' = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) >> '10' = 0 - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) >> '010' = 0 - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) >> '10 elephants' = 0 - Notice A non well formed numeric value encountered +(object) array ( 'foo' => 1, 'bar' => 2 ) >> 'foo' = 1 - Warning A non-numeric value encountered +(object) array ( 'foo' => 1, 'bar' => 2 ) >> array ( ) = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) >> array ( 0 => 1 ) = 0 - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) >> array ( 0 => 1, 1 => 100 ) = 0 - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) >> array ( 'foo' => 1, 'bar' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) >> array ( 'bar' => 1, 'foo' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) >> (object) array ( ) = 0 - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) >> (object) array ( 'foo' => 1, 'bar' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) >> (object) array ( 'bar' => 1, 'foo' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) >> DateTime = 0 - Notice Object of class DateTime could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) >> resource = 0 - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) >> NULL = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) >> false = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) >> true = 0 - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) >> 0 = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) >> 10 = 0 - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) >> 0.0 = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) >> 10.0 = 0 - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) >> 3.14 = 0 - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) >> '0' = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) >> '10' = 0 - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) >> '010' = 0 - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) >> '10 elephants' = 0 - Notice A non well formed numeric value encountered +(object) array ( 'bar' => 1, 'foo' => 2 ) >> 'foo' = 1 - Warning A non-numeric value encountered +(object) array ( 'bar' => 1, 'foo' => 2 ) >> array ( ) = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) >> array ( 0 => 1 ) = 0 - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) >> array ( 0 => 1, 1 => 100 ) = 0 - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) >> array ( 'foo' => 1, 'bar' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) >> array ( 'bar' => 1, 'foo' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) >> (object) array ( ) = 0 - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) >> (object) array ( 'foo' => 1, 'bar' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) >> (object) array ( 'bar' => 1, 'foo' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) >> DateTime = 0 - Notice Object of class DateTime could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) >> resource = 0 - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) >> NULL = 1 - Notice Object of class stdClass could not be converted to int +DateTime >> false = 1 - Notice Object of class DateTime could not be converted to int +DateTime >> true = 0 - Notice Object of class DateTime could not be converted to int +DateTime >> 0 = 1 - Notice Object of class DateTime could not be converted to int +DateTime >> 10 = 0 - Notice Object of class DateTime could not be converted to int +DateTime >> 0.0 = 1 - Notice Object of class DateTime could not be converted to int +DateTime >> 10.0 = 0 - Notice Object of class DateTime could not be converted to int +DateTime >> 3.14 = 0 - Notice Object of class DateTime could not be converted to int +DateTime >> '0' = 1 - Notice Object of class DateTime could not be converted to int +DateTime >> '10' = 0 - Notice Object of class DateTime could not be converted to int +DateTime >> '010' = 0 - Notice Object of class DateTime could not be converted to int +DateTime >> '10 elephants' = 0 - Notice A non well formed numeric value encountered +DateTime >> 'foo' = 1 - Warning A non-numeric value encountered +DateTime >> array ( ) = 1 - Notice Object of class DateTime could not be converted to int +DateTime >> array ( 0 => 1 ) = 0 - Notice Object of class DateTime could not be converted to int +DateTime >> array ( 0 => 1, 1 => 100 ) = 0 - Notice Object of class DateTime could not be converted to int +DateTime >> array ( 'foo' => 1, 'bar' => 2 ) = 0 - Notice Object of class DateTime could not be converted to int +DateTime >> array ( 'bar' => 1, 'foo' => 2 ) = 0 - Notice Object of class DateTime could not be converted to int +DateTime >> (object) array ( ) = 0 - Notice Object of class stdClass could not be converted to int +DateTime >> (object) array ( 'foo' => 1, 'bar' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +DateTime >> (object) array ( 'bar' => 1, 'foo' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +DateTime >> DateTime = 0 - Notice Object of class DateTime could not be converted to int +DateTime >> resource = 0 - Notice Object of class DateTime could not be converted to int +DateTime >> NULL = 1 - Notice Object of class DateTime could not be converted to int +resource >> false = 6 +resource >> true = 3 +resource >> 0 = 6 +resource >> 10 = 0 +resource >> 0.0 = 6 +resource >> 10.0 = 0 +resource >> 3.14 = 0 +resource >> '0' = 6 +resource >> '10' = 0 +resource >> '010' = 0 +resource >> '10 elephants' = 0 - Notice A non well formed numeric value encountered +resource >> 'foo' = 6 - Warning A non-numeric value encountered +resource >> array ( ) = 6 +resource >> array ( 0 => 1 ) = 3 +resource >> array ( 0 => 1, 1 => 100 ) = 3 +resource >> array ( 'foo' => 1, 'bar' => 2 ) = 3 +resource >> array ( 'bar' => 1, 'foo' => 2 ) = 3 +resource >> (object) array ( ) = 3 - Notice Object of class stdClass could not be converted to int +resource >> (object) array ( 'foo' => 1, 'bar' => 2 ) = 3 - Notice Object of class stdClass could not be converted to int +resource >> (object) array ( 'bar' => 1, 'foo' => 2 ) = 3 - Notice Object of class stdClass could not be converted to int +resource >> DateTime = 3 - Notice Object of class DateTime could not be converted to int +resource >> resource = 0 +resource >> NULL = 6 +NULL >> false = 0 +NULL >> true = 0 +NULL >> 0 = 0 +NULL >> 10 = 0 +NULL >> 0.0 = 0 +NULL >> 10.0 = 0 +NULL >> 3.14 = 0 +NULL >> '0' = 0 +NULL >> '10' = 0 +NULL >> '010' = 0 +NULL >> '10 elephants' = 0 - Notice A non well formed numeric value encountered +NULL >> 'foo' = 0 - Warning A non-numeric value encountered +NULL >> array ( ) = 0 +NULL >> array ( 0 => 1 ) = 0 +NULL >> array ( 0 => 1, 1 => 100 ) = 0 +NULL >> array ( 'foo' => 1, 'bar' => 2 ) = 0 +NULL >> array ( 'bar' => 1, 'foo' => 2 ) = 0 +NULL >> (object) array ( ) = 0 - Notice Object of class stdClass could not be converted to int +NULL >> (object) array ( 'foo' => 1, 'bar' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +NULL >> (object) array ( 'bar' => 1, 'foo' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +NULL >> DateTime = 0 - Notice Object of class DateTime could not be converted to int +NULL >> resource = 0 +NULL >> NULL = 0 \ No newline at end of file diff --git a/Zend/tests/operators/bitwise/shift_right_strict.phpt b/Zend/tests/operators/bitwise/shift_right_strict.phpt new file mode 100644 index 000000000000..e89e0c6dbb13 --- /dev/null +++ b/Zend/tests/operators/bitwise/shift_right_strict.phpt @@ -0,0 +1,542 @@ +--TEST-- +bitwise shift right operator with strict operators +--FILE-- +> $b', function($a, $b) { return $a >> $b; }, 'var_out_base64'); + +--EXPECT-- +false >> false - TypeError Unsupported operand type bool for bit shift right +false >> true - TypeError Unsupported operand type bool for bit shift right +false >> 0 - TypeError Unsupported operand type bool for bit shift right +false >> 10 - TypeError Unsupported operand type bool for bit shift right +false >> 0.0 - TypeError Unsupported operand type bool for bit shift right +false >> 10.0 - TypeError Unsupported operand type bool for bit shift right +false >> 3.14 - TypeError Unsupported operand type bool for bit shift right +false >> '0' - TypeError Unsupported operand type bool for bit shift right +false >> '10' - TypeError Unsupported operand type bool for bit shift right +false >> '010' - TypeError Unsupported operand type bool for bit shift right +false >> '10 elephants' - TypeError Unsupported operand type bool for bit shift right +false >> 'foo' - TypeError Unsupported operand type bool for bit shift right +false >> array ( ) - TypeError Unsupported operand type bool for bit shift right +false >> array ( 0 => 1 ) - TypeError Unsupported operand type bool for bit shift right +false >> array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type bool for bit shift right +false >> array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type bool for bit shift right +false >> array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type bool for bit shift right +false >> (object) array ( ) - TypeError Unsupported operand type bool for bit shift right +false >> (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type bool for bit shift right +false >> (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type bool for bit shift right +false >> DateTime - TypeError Unsupported operand type bool for bit shift right +false >> resource - TypeError Unsupported operand type bool for bit shift right +false >> NULL - TypeError Unsupported operand type bool for bit shift right +true >> false - TypeError Unsupported operand type bool for bit shift right +true >> true - TypeError Unsupported operand type bool for bit shift right +true >> 0 - TypeError Unsupported operand type bool for bit shift right +true >> 10 - TypeError Unsupported operand type bool for bit shift right +true >> 0.0 - TypeError Unsupported operand type bool for bit shift right +true >> 10.0 - TypeError Unsupported operand type bool for bit shift right +true >> 3.14 - TypeError Unsupported operand type bool for bit shift right +true >> '0' - TypeError Unsupported operand type bool for bit shift right +true >> '10' - TypeError Unsupported operand type bool for bit shift right +true >> '010' - TypeError Unsupported operand type bool for bit shift right +true >> '10 elephants' - TypeError Unsupported operand type bool for bit shift right +true >> 'foo' - TypeError Unsupported operand type bool for bit shift right +true >> array ( ) - TypeError Unsupported operand type bool for bit shift right +true >> array ( 0 => 1 ) - TypeError Unsupported operand type bool for bit shift right +true >> array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type bool for bit shift right +true >> array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type bool for bit shift right +true >> array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type bool for bit shift right +true >> (object) array ( ) - TypeError Unsupported operand type bool for bit shift right +true >> (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type bool for bit shift right +true >> (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type bool for bit shift right +true >> DateTime - TypeError Unsupported operand type bool for bit shift right +true >> resource - TypeError Unsupported operand type bool for bit shift right +true >> NULL - TypeError Unsupported operand type bool for bit shift right +0 >> false - TypeError Unsupported operand type bool for bit shift right +0 >> true - TypeError Unsupported operand type bool for bit shift right +0 >> 0 = 0 +0 >> 10 = 0 +0 >> 0.0 - TypeError Unsupported operand type float for bit shift right +0 >> 10.0 - TypeError Unsupported operand type float for bit shift right +0 >> 3.14 - TypeError Unsupported operand type float for bit shift right +0 >> '0' - TypeError Unsupported operand type string for bit shift right +0 >> '10' - TypeError Unsupported operand type string for bit shift right +0 >> '010' - TypeError Unsupported operand type string for bit shift right +0 >> '10 elephants' - TypeError Unsupported operand type string for bit shift right +0 >> 'foo' - TypeError Unsupported operand type string for bit shift right +0 >> array ( ) - TypeError Unsupported operand type array for bit shift right +0 >> array ( 0 => 1 ) - TypeError Unsupported operand type array for bit shift right +0 >> array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for bit shift right +0 >> array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for bit shift right +0 >> array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for bit shift right +0 >> (object) array ( ) - TypeError Unsupported operand type object for bit shift right +0 >> (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for bit shift right +0 >> (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for bit shift right +0 >> DateTime - TypeError Unsupported operand type object for bit shift right +0 >> resource - TypeError Unsupported operand type resource for bit shift right +0 >> NULL - TypeError Unsupported operand type null for bit shift right +10 >> false - TypeError Unsupported operand type bool for bit shift right +10 >> true - TypeError Unsupported operand type bool for bit shift right +10 >> 0 = 10 +10 >> 10 = 0 +10 >> 0.0 - TypeError Unsupported operand type float for bit shift right +10 >> 10.0 - TypeError Unsupported operand type float for bit shift right +10 >> 3.14 - TypeError Unsupported operand type float for bit shift right +10 >> '0' - TypeError Unsupported operand type string for bit shift right +10 >> '10' - TypeError Unsupported operand type string for bit shift right +10 >> '010' - TypeError Unsupported operand type string for bit shift right +10 >> '10 elephants' - TypeError Unsupported operand type string for bit shift right +10 >> 'foo' - TypeError Unsupported operand type string for bit shift right +10 >> array ( ) - TypeError Unsupported operand type array for bit shift right +10 >> array ( 0 => 1 ) - TypeError Unsupported operand type array for bit shift right +10 >> array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for bit shift right +10 >> array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for bit shift right +10 >> array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for bit shift right +10 >> (object) array ( ) - TypeError Unsupported operand type object for bit shift right +10 >> (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for bit shift right +10 >> (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for bit shift right +10 >> DateTime - TypeError Unsupported operand type object for bit shift right +10 >> resource - TypeError Unsupported operand type resource for bit shift right +10 >> NULL - TypeError Unsupported operand type null for bit shift right +0.0 >> false - TypeError Unsupported operand type float for bit shift right +0.0 >> true - TypeError Unsupported operand type float for bit shift right +0.0 >> 0 - TypeError Unsupported operand type float for bit shift right +0.0 >> 10 - TypeError Unsupported operand type float for bit shift right +0.0 >> 0.0 - TypeError Unsupported operand type float for bit shift right +0.0 >> 10.0 - TypeError Unsupported operand type float for bit shift right +0.0 >> 3.14 - TypeError Unsupported operand type float for bit shift right +0.0 >> '0' - TypeError Unsupported operand type float for bit shift right +0.0 >> '10' - TypeError Unsupported operand type float for bit shift right +0.0 >> '010' - TypeError Unsupported operand type float for bit shift right +0.0 >> '10 elephants' - TypeError Unsupported operand type float for bit shift right +0.0 >> 'foo' - TypeError Unsupported operand type float for bit shift right +0.0 >> array ( ) - TypeError Unsupported operand type float for bit shift right +0.0 >> array ( 0 => 1 ) - TypeError Unsupported operand type float for bit shift right +0.0 >> array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type float for bit shift right +0.0 >> array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type float for bit shift right +0.0 >> array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type float for bit shift right +0.0 >> (object) array ( ) - TypeError Unsupported operand type float for bit shift right +0.0 >> (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type float for bit shift right +0.0 >> (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type float for bit shift right +0.0 >> DateTime - TypeError Unsupported operand type float for bit shift right +0.0 >> resource - TypeError Unsupported operand type float for bit shift right +0.0 >> NULL - TypeError Unsupported operand type float for bit shift right +10.0 >> false - TypeError Unsupported operand type float for bit shift right +10.0 >> true - TypeError Unsupported operand type float for bit shift right +10.0 >> 0 - TypeError Unsupported operand type float for bit shift right +10.0 >> 10 - TypeError Unsupported operand type float for bit shift right +10.0 >> 0.0 - TypeError Unsupported operand type float for bit shift right +10.0 >> 10.0 - TypeError Unsupported operand type float for bit shift right +10.0 >> 3.14 - TypeError Unsupported operand type float for bit shift right +10.0 >> '0' - TypeError Unsupported operand type float for bit shift right +10.0 >> '10' - TypeError Unsupported operand type float for bit shift right +10.0 >> '010' - TypeError Unsupported operand type float for bit shift right +10.0 >> '10 elephants' - TypeError Unsupported operand type float for bit shift right +10.0 >> 'foo' - TypeError Unsupported operand type float for bit shift right +10.0 >> array ( ) - TypeError Unsupported operand type float for bit shift right +10.0 >> array ( 0 => 1 ) - TypeError Unsupported operand type float for bit shift right +10.0 >> array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type float for bit shift right +10.0 >> array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type float for bit shift right +10.0 >> array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type float for bit shift right +10.0 >> (object) array ( ) - TypeError Unsupported operand type float for bit shift right +10.0 >> (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type float for bit shift right +10.0 >> (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type float for bit shift right +10.0 >> DateTime - TypeError Unsupported operand type float for bit shift right +10.0 >> resource - TypeError Unsupported operand type float for bit shift right +10.0 >> NULL - TypeError Unsupported operand type float for bit shift right +3.14 >> false - TypeError Unsupported operand type float for bit shift right +3.14 >> true - TypeError Unsupported operand type float for bit shift right +3.14 >> 0 - TypeError Unsupported operand type float for bit shift right +3.14 >> 10 - TypeError Unsupported operand type float for bit shift right +3.14 >> 0.0 - TypeError Unsupported operand type float for bit shift right +3.14 >> 10.0 - TypeError Unsupported operand type float for bit shift right +3.14 >> 3.14 - TypeError Unsupported operand type float for bit shift right +3.14 >> '0' - TypeError Unsupported operand type float for bit shift right +3.14 >> '10' - TypeError Unsupported operand type float for bit shift right +3.14 >> '010' - TypeError Unsupported operand type float for bit shift right +3.14 >> '10 elephants' - TypeError Unsupported operand type float for bit shift right +3.14 >> 'foo' - TypeError Unsupported operand type float for bit shift right +3.14 >> array ( ) - TypeError Unsupported operand type float for bit shift right +3.14 >> array ( 0 => 1 ) - TypeError Unsupported operand type float for bit shift right +3.14 >> array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type float for bit shift right +3.14 >> array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type float for bit shift right +3.14 >> array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type float for bit shift right +3.14 >> (object) array ( ) - TypeError Unsupported operand type float for bit shift right +3.14 >> (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type float for bit shift right +3.14 >> (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type float for bit shift right +3.14 >> DateTime - TypeError Unsupported operand type float for bit shift right +3.14 >> resource - TypeError Unsupported operand type float for bit shift right +3.14 >> NULL - TypeError Unsupported operand type float for bit shift right +'0' >> false - TypeError Unsupported operand type string for bit shift right +'0' >> true - TypeError Unsupported operand type string for bit shift right +'0' >> 0 - TypeError Unsupported operand type string for bit shift right +'0' >> 10 - TypeError Unsupported operand type string for bit shift right +'0' >> 0.0 - TypeError Unsupported operand type string for bit shift right +'0' >> 10.0 - TypeError Unsupported operand type string for bit shift right +'0' >> 3.14 - TypeError Unsupported operand type string for bit shift right +'0' >> '0' - TypeError Unsupported operand type string for bit shift right +'0' >> '10' - TypeError Unsupported operand type string for bit shift right +'0' >> '010' - TypeError Unsupported operand type string for bit shift right +'0' >> '10 elephants' - TypeError Unsupported operand type string for bit shift right +'0' >> 'foo' - TypeError Unsupported operand type string for bit shift right +'0' >> array ( ) - TypeError Unsupported operand type string for bit shift right +'0' >> array ( 0 => 1 ) - TypeError Unsupported operand type string for bit shift right +'0' >> array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type string for bit shift right +'0' >> array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type string for bit shift right +'0' >> array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type string for bit shift right +'0' >> (object) array ( ) - TypeError Unsupported operand type string for bit shift right +'0' >> (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type string for bit shift right +'0' >> (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type string for bit shift right +'0' >> DateTime - TypeError Unsupported operand type string for bit shift right +'0' >> resource - TypeError Unsupported operand type string for bit shift right +'0' >> NULL - TypeError Unsupported operand type string for bit shift right +'10' >> false - TypeError Unsupported operand type string for bit shift right +'10' >> true - TypeError Unsupported operand type string for bit shift right +'10' >> 0 - TypeError Unsupported operand type string for bit shift right +'10' >> 10 - TypeError Unsupported operand type string for bit shift right +'10' >> 0.0 - TypeError Unsupported operand type string for bit shift right +'10' >> 10.0 - TypeError Unsupported operand type string for bit shift right +'10' >> 3.14 - TypeError Unsupported operand type string for bit shift right +'10' >> '0' - TypeError Unsupported operand type string for bit shift right +'10' >> '10' - TypeError Unsupported operand type string for bit shift right +'10' >> '010' - TypeError Unsupported operand type string for bit shift right +'10' >> '10 elephants' - TypeError Unsupported operand type string for bit shift right +'10' >> 'foo' - TypeError Unsupported operand type string for bit shift right +'10' >> array ( ) - TypeError Unsupported operand type string for bit shift right +'10' >> array ( 0 => 1 ) - TypeError Unsupported operand type string for bit shift right +'10' >> array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type string for bit shift right +'10' >> array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type string for bit shift right +'10' >> array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type string for bit shift right +'10' >> (object) array ( ) - TypeError Unsupported operand type string for bit shift right +'10' >> (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type string for bit shift right +'10' >> (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type string for bit shift right +'10' >> DateTime - TypeError Unsupported operand type string for bit shift right +'10' >> resource - TypeError Unsupported operand type string for bit shift right +'10' >> NULL - TypeError Unsupported operand type string for bit shift right +'010' >> false - TypeError Unsupported operand type string for bit shift right +'010' >> true - TypeError Unsupported operand type string for bit shift right +'010' >> 0 - TypeError Unsupported operand type string for bit shift right +'010' >> 10 - TypeError Unsupported operand type string for bit shift right +'010' >> 0.0 - TypeError Unsupported operand type string for bit shift right +'010' >> 10.0 - TypeError Unsupported operand type string for bit shift right +'010' >> 3.14 - TypeError Unsupported operand type string for bit shift right +'010' >> '0' - TypeError Unsupported operand type string for bit shift right +'010' >> '10' - TypeError Unsupported operand type string for bit shift right +'010' >> '010' - TypeError Unsupported operand type string for bit shift right +'010' >> '10 elephants' - TypeError Unsupported operand type string for bit shift right +'010' >> 'foo' - TypeError Unsupported operand type string for bit shift right +'010' >> array ( ) - TypeError Unsupported operand type string for bit shift right +'010' >> array ( 0 => 1 ) - TypeError Unsupported operand type string for bit shift right +'010' >> array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type string for bit shift right +'010' >> array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type string for bit shift right +'010' >> array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type string for bit shift right +'010' >> (object) array ( ) - TypeError Unsupported operand type string for bit shift right +'010' >> (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type string for bit shift right +'010' >> (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type string for bit shift right +'010' >> DateTime - TypeError Unsupported operand type string for bit shift right +'010' >> resource - TypeError Unsupported operand type string for bit shift right +'010' >> NULL - TypeError Unsupported operand type string for bit shift right +'10 elephants' >> false - TypeError Unsupported operand type string for bit shift right +'10 elephants' >> true - TypeError Unsupported operand type string for bit shift right +'10 elephants' >> 0 - TypeError Unsupported operand type string for bit shift right +'10 elephants' >> 10 - TypeError Unsupported operand type string for bit shift right +'10 elephants' >> 0.0 - TypeError Unsupported operand type string for bit shift right +'10 elephants' >> 10.0 - TypeError Unsupported operand type string for bit shift right +'10 elephants' >> 3.14 - TypeError Unsupported operand type string for bit shift right +'10 elephants' >> '0' - TypeError Unsupported operand type string for bit shift right +'10 elephants' >> '10' - TypeError Unsupported operand type string for bit shift right +'10 elephants' >> '010' - TypeError Unsupported operand type string for bit shift right +'10 elephants' >> '10 elephants' - TypeError Unsupported operand type string for bit shift right +'10 elephants' >> 'foo' - TypeError Unsupported operand type string for bit shift right +'10 elephants' >> array ( ) - TypeError Unsupported operand type string for bit shift right +'10 elephants' >> array ( 0 => 1 ) - TypeError Unsupported operand type string for bit shift right +'10 elephants' >> array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type string for bit shift right +'10 elephants' >> array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type string for bit shift right +'10 elephants' >> array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type string for bit shift right +'10 elephants' >> (object) array ( ) - TypeError Unsupported operand type string for bit shift right +'10 elephants' >> (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type string for bit shift right +'10 elephants' >> (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type string for bit shift right +'10 elephants' >> DateTime - TypeError Unsupported operand type string for bit shift right +'10 elephants' >> resource - TypeError Unsupported operand type string for bit shift right +'10 elephants' >> NULL - TypeError Unsupported operand type string for bit shift right +'foo' >> false - TypeError Unsupported operand type string for bit shift right +'foo' >> true - TypeError Unsupported operand type string for bit shift right +'foo' >> 0 - TypeError Unsupported operand type string for bit shift right +'foo' >> 10 - TypeError Unsupported operand type string for bit shift right +'foo' >> 0.0 - TypeError Unsupported operand type string for bit shift right +'foo' >> 10.0 - TypeError Unsupported operand type string for bit shift right +'foo' >> 3.14 - TypeError Unsupported operand type string for bit shift right +'foo' >> '0' - TypeError Unsupported operand type string for bit shift right +'foo' >> '10' - TypeError Unsupported operand type string for bit shift right +'foo' >> '010' - TypeError Unsupported operand type string for bit shift right +'foo' >> '10 elephants' - TypeError Unsupported operand type string for bit shift right +'foo' >> 'foo' - TypeError Unsupported operand type string for bit shift right +'foo' >> array ( ) - TypeError Unsupported operand type string for bit shift right +'foo' >> array ( 0 => 1 ) - TypeError Unsupported operand type string for bit shift right +'foo' >> array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type string for bit shift right +'foo' >> array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type string for bit shift right +'foo' >> array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type string for bit shift right +'foo' >> (object) array ( ) - TypeError Unsupported operand type string for bit shift right +'foo' >> (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type string for bit shift right +'foo' >> (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type string for bit shift right +'foo' >> DateTime - TypeError Unsupported operand type string for bit shift right +'foo' >> resource - TypeError Unsupported operand type string for bit shift right +'foo' >> NULL - TypeError Unsupported operand type string for bit shift right +array ( ) >> false - TypeError Unsupported operand type array for bit shift right +array ( ) >> true - TypeError Unsupported operand type array for bit shift right +array ( ) >> 0 - TypeError Unsupported operand type array for bit shift right +array ( ) >> 10 - TypeError Unsupported operand type array for bit shift right +array ( ) >> 0.0 - TypeError Unsupported operand type array for bit shift right +array ( ) >> 10.0 - TypeError Unsupported operand type array for bit shift right +array ( ) >> 3.14 - TypeError Unsupported operand type array for bit shift right +array ( ) >> '0' - TypeError Unsupported operand type array for bit shift right +array ( ) >> '10' - TypeError Unsupported operand type array for bit shift right +array ( ) >> '010' - TypeError Unsupported operand type array for bit shift right +array ( ) >> '10 elephants' - TypeError Unsupported operand type array for bit shift right +array ( ) >> 'foo' - TypeError Unsupported operand type array for bit shift right +array ( ) >> array ( ) - TypeError Unsupported operand type array for bit shift right +array ( ) >> array ( 0 => 1 ) - TypeError Unsupported operand type array for bit shift right +array ( ) >> array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for bit shift right +array ( ) >> array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for bit shift right +array ( ) >> array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for bit shift right +array ( ) >> (object) array ( ) - TypeError Unsupported operand type array for bit shift right +array ( ) >> (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for bit shift right +array ( ) >> (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for bit shift right +array ( ) >> DateTime - TypeError Unsupported operand type array for bit shift right +array ( ) >> resource - TypeError Unsupported operand type array for bit shift right +array ( ) >> NULL - TypeError Unsupported operand type array for bit shift right +array ( 0 => 1 ) >> false - TypeError Unsupported operand type array for bit shift right +array ( 0 => 1 ) >> true - TypeError Unsupported operand type array for bit shift right +array ( 0 => 1 ) >> 0 - TypeError Unsupported operand type array for bit shift right +array ( 0 => 1 ) >> 10 - TypeError Unsupported operand type array for bit shift right +array ( 0 => 1 ) >> 0.0 - TypeError Unsupported operand type array for bit shift right +array ( 0 => 1 ) >> 10.0 - TypeError Unsupported operand type array for bit shift right +array ( 0 => 1 ) >> 3.14 - TypeError Unsupported operand type array for bit shift right +array ( 0 => 1 ) >> '0' - TypeError Unsupported operand type array for bit shift right +array ( 0 => 1 ) >> '10' - TypeError Unsupported operand type array for bit shift right +array ( 0 => 1 ) >> '010' - TypeError Unsupported operand type array for bit shift right +array ( 0 => 1 ) >> '10 elephants' - TypeError Unsupported operand type array for bit shift right +array ( 0 => 1 ) >> 'foo' - TypeError Unsupported operand type array for bit shift right +array ( 0 => 1 ) >> array ( ) - TypeError Unsupported operand type array for bit shift right +array ( 0 => 1 ) >> array ( 0 => 1 ) - TypeError Unsupported operand type array for bit shift right +array ( 0 => 1 ) >> array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for bit shift right +array ( 0 => 1 ) >> array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for bit shift right +array ( 0 => 1 ) >> array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for bit shift right +array ( 0 => 1 ) >> (object) array ( ) - TypeError Unsupported operand type array for bit shift right +array ( 0 => 1 ) >> (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for bit shift right +array ( 0 => 1 ) >> (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for bit shift right +array ( 0 => 1 ) >> DateTime - TypeError Unsupported operand type array for bit shift right +array ( 0 => 1 ) >> resource - TypeError Unsupported operand type array for bit shift right +array ( 0 => 1 ) >> NULL - TypeError Unsupported operand type array for bit shift right +array ( 0 => 1, 1 => 100 ) >> false - TypeError Unsupported operand type array for bit shift right +array ( 0 => 1, 1 => 100 ) >> true - TypeError Unsupported operand type array for bit shift right +array ( 0 => 1, 1 => 100 ) >> 0 - TypeError Unsupported operand type array for bit shift right +array ( 0 => 1, 1 => 100 ) >> 10 - TypeError Unsupported operand type array for bit shift right +array ( 0 => 1, 1 => 100 ) >> 0.0 - TypeError Unsupported operand type array for bit shift right +array ( 0 => 1, 1 => 100 ) >> 10.0 - TypeError Unsupported operand type array for bit shift right +array ( 0 => 1, 1 => 100 ) >> 3.14 - TypeError Unsupported operand type array for bit shift right +array ( 0 => 1, 1 => 100 ) >> '0' - TypeError Unsupported operand type array for bit shift right +array ( 0 => 1, 1 => 100 ) >> '10' - TypeError Unsupported operand type array for bit shift right +array ( 0 => 1, 1 => 100 ) >> '010' - TypeError Unsupported operand type array for bit shift right +array ( 0 => 1, 1 => 100 ) >> '10 elephants' - TypeError Unsupported operand type array for bit shift right +array ( 0 => 1, 1 => 100 ) >> 'foo' - TypeError Unsupported operand type array for bit shift right +array ( 0 => 1, 1 => 100 ) >> array ( ) - TypeError Unsupported operand type array for bit shift right +array ( 0 => 1, 1 => 100 ) >> array ( 0 => 1 ) - TypeError Unsupported operand type array for bit shift right +array ( 0 => 1, 1 => 100 ) >> array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for bit shift right +array ( 0 => 1, 1 => 100 ) >> array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for bit shift right +array ( 0 => 1, 1 => 100 ) >> array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for bit shift right +array ( 0 => 1, 1 => 100 ) >> (object) array ( ) - TypeError Unsupported operand type array for bit shift right +array ( 0 => 1, 1 => 100 ) >> (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for bit shift right +array ( 0 => 1, 1 => 100 ) >> (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for bit shift right +array ( 0 => 1, 1 => 100 ) >> DateTime - TypeError Unsupported operand type array for bit shift right +array ( 0 => 1, 1 => 100 ) >> resource - TypeError Unsupported operand type array for bit shift right +array ( 0 => 1, 1 => 100 ) >> NULL - TypeError Unsupported operand type array for bit shift right +array ( 'foo' => 1, 'bar' => 2 ) >> false - TypeError Unsupported operand type array for bit shift right +array ( 'foo' => 1, 'bar' => 2 ) >> true - TypeError Unsupported operand type array for bit shift right +array ( 'foo' => 1, 'bar' => 2 ) >> 0 - TypeError Unsupported operand type array for bit shift right +array ( 'foo' => 1, 'bar' => 2 ) >> 10 - TypeError Unsupported operand type array for bit shift right +array ( 'foo' => 1, 'bar' => 2 ) >> 0.0 - TypeError Unsupported operand type array for bit shift right +array ( 'foo' => 1, 'bar' => 2 ) >> 10.0 - TypeError Unsupported operand type array for bit shift right +array ( 'foo' => 1, 'bar' => 2 ) >> 3.14 - TypeError Unsupported operand type array for bit shift right +array ( 'foo' => 1, 'bar' => 2 ) >> '0' - TypeError Unsupported operand type array for bit shift right +array ( 'foo' => 1, 'bar' => 2 ) >> '10' - TypeError Unsupported operand type array for bit shift right +array ( 'foo' => 1, 'bar' => 2 ) >> '010' - TypeError Unsupported operand type array for bit shift right +array ( 'foo' => 1, 'bar' => 2 ) >> '10 elephants' - TypeError Unsupported operand type array for bit shift right +array ( 'foo' => 1, 'bar' => 2 ) >> 'foo' - TypeError Unsupported operand type array for bit shift right +array ( 'foo' => 1, 'bar' => 2 ) >> array ( ) - TypeError Unsupported operand type array for bit shift right +array ( 'foo' => 1, 'bar' => 2 ) >> array ( 0 => 1 ) - TypeError Unsupported operand type array for bit shift right +array ( 'foo' => 1, 'bar' => 2 ) >> array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for bit shift right +array ( 'foo' => 1, 'bar' => 2 ) >> array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for bit shift right +array ( 'foo' => 1, 'bar' => 2 ) >> array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for bit shift right +array ( 'foo' => 1, 'bar' => 2 ) >> (object) array ( ) - TypeError Unsupported operand type array for bit shift right +array ( 'foo' => 1, 'bar' => 2 ) >> (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for bit shift right +array ( 'foo' => 1, 'bar' => 2 ) >> (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for bit shift right +array ( 'foo' => 1, 'bar' => 2 ) >> DateTime - TypeError Unsupported operand type array for bit shift right +array ( 'foo' => 1, 'bar' => 2 ) >> resource - TypeError Unsupported operand type array for bit shift right +array ( 'foo' => 1, 'bar' => 2 ) >> NULL - TypeError Unsupported operand type array for bit shift right +array ( 'bar' => 1, 'foo' => 2 ) >> false - TypeError Unsupported operand type array for bit shift right +array ( 'bar' => 1, 'foo' => 2 ) >> true - TypeError Unsupported operand type array for bit shift right +array ( 'bar' => 1, 'foo' => 2 ) >> 0 - TypeError Unsupported operand type array for bit shift right +array ( 'bar' => 1, 'foo' => 2 ) >> 10 - TypeError Unsupported operand type array for bit shift right +array ( 'bar' => 1, 'foo' => 2 ) >> 0.0 - TypeError Unsupported operand type array for bit shift right +array ( 'bar' => 1, 'foo' => 2 ) >> 10.0 - TypeError Unsupported operand type array for bit shift right +array ( 'bar' => 1, 'foo' => 2 ) >> 3.14 - TypeError Unsupported operand type array for bit shift right +array ( 'bar' => 1, 'foo' => 2 ) >> '0' - TypeError Unsupported operand type array for bit shift right +array ( 'bar' => 1, 'foo' => 2 ) >> '10' - TypeError Unsupported operand type array for bit shift right +array ( 'bar' => 1, 'foo' => 2 ) >> '010' - TypeError Unsupported operand type array for bit shift right +array ( 'bar' => 1, 'foo' => 2 ) >> '10 elephants' - TypeError Unsupported operand type array for bit shift right +array ( 'bar' => 1, 'foo' => 2 ) >> 'foo' - TypeError Unsupported operand type array for bit shift right +array ( 'bar' => 1, 'foo' => 2 ) >> array ( ) - TypeError Unsupported operand type array for bit shift right +array ( 'bar' => 1, 'foo' => 2 ) >> array ( 0 => 1 ) - TypeError Unsupported operand type array for bit shift right +array ( 'bar' => 1, 'foo' => 2 ) >> array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for bit shift right +array ( 'bar' => 1, 'foo' => 2 ) >> array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for bit shift right +array ( 'bar' => 1, 'foo' => 2 ) >> array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for bit shift right +array ( 'bar' => 1, 'foo' => 2 ) >> (object) array ( ) - TypeError Unsupported operand type array for bit shift right +array ( 'bar' => 1, 'foo' => 2 ) >> (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for bit shift right +array ( 'bar' => 1, 'foo' => 2 ) >> (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for bit shift right +array ( 'bar' => 1, 'foo' => 2 ) >> DateTime - TypeError Unsupported operand type array for bit shift right +array ( 'bar' => 1, 'foo' => 2 ) >> resource - TypeError Unsupported operand type array for bit shift right +array ( 'bar' => 1, 'foo' => 2 ) >> NULL - TypeError Unsupported operand type array for bit shift right +(object) array ( ) >> false - TypeError Unsupported operand type object for bit shift right +(object) array ( ) >> true - TypeError Unsupported operand type object for bit shift right +(object) array ( ) >> 0 - TypeError Unsupported operand type object for bit shift right +(object) array ( ) >> 10 - TypeError Unsupported operand type object for bit shift right +(object) array ( ) >> 0.0 - TypeError Unsupported operand type object for bit shift right +(object) array ( ) >> 10.0 - TypeError Unsupported operand type object for bit shift right +(object) array ( ) >> 3.14 - TypeError Unsupported operand type object for bit shift right +(object) array ( ) >> '0' - TypeError Unsupported operand type object for bit shift right +(object) array ( ) >> '10' - TypeError Unsupported operand type object for bit shift right +(object) array ( ) >> '010' - TypeError Unsupported operand type object for bit shift right +(object) array ( ) >> '10 elephants' - TypeError Unsupported operand type object for bit shift right +(object) array ( ) >> 'foo' - TypeError Unsupported operand type object for bit shift right +(object) array ( ) >> array ( ) - TypeError Unsupported operand type object for bit shift right +(object) array ( ) >> array ( 0 => 1 ) - TypeError Unsupported operand type object for bit shift right +(object) array ( ) >> array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type object for bit shift right +(object) array ( ) >> array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for bit shift right +(object) array ( ) >> array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for bit shift right +(object) array ( ) >> (object) array ( ) - TypeError Unsupported operand type object for bit shift right +(object) array ( ) >> (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for bit shift right +(object) array ( ) >> (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for bit shift right +(object) array ( ) >> DateTime - TypeError Unsupported operand type object for bit shift right +(object) array ( ) >> resource - TypeError Unsupported operand type object for bit shift right +(object) array ( ) >> NULL - TypeError Unsupported operand type object for bit shift right +(object) array ( 'foo' => 1, 'bar' => 2 ) >> false - TypeError Unsupported operand type object for bit shift right +(object) array ( 'foo' => 1, 'bar' => 2 ) >> true - TypeError Unsupported operand type object for bit shift right +(object) array ( 'foo' => 1, 'bar' => 2 ) >> 0 - TypeError Unsupported operand type object for bit shift right +(object) array ( 'foo' => 1, 'bar' => 2 ) >> 10 - TypeError Unsupported operand type object for bit shift right +(object) array ( 'foo' => 1, 'bar' => 2 ) >> 0.0 - TypeError Unsupported operand type object for bit shift right +(object) array ( 'foo' => 1, 'bar' => 2 ) >> 10.0 - TypeError Unsupported operand type object for bit shift right +(object) array ( 'foo' => 1, 'bar' => 2 ) >> 3.14 - TypeError Unsupported operand type object for bit shift right +(object) array ( 'foo' => 1, 'bar' => 2 ) >> '0' - TypeError Unsupported operand type object for bit shift right +(object) array ( 'foo' => 1, 'bar' => 2 ) >> '10' - TypeError Unsupported operand type object for bit shift right +(object) array ( 'foo' => 1, 'bar' => 2 ) >> '010' - TypeError Unsupported operand type object for bit shift right +(object) array ( 'foo' => 1, 'bar' => 2 ) >> '10 elephants' - TypeError Unsupported operand type object for bit shift right +(object) array ( 'foo' => 1, 'bar' => 2 ) >> 'foo' - TypeError Unsupported operand type object for bit shift right +(object) array ( 'foo' => 1, 'bar' => 2 ) >> array ( ) - TypeError Unsupported operand type object for bit shift right +(object) array ( 'foo' => 1, 'bar' => 2 ) >> array ( 0 => 1 ) - TypeError Unsupported operand type object for bit shift right +(object) array ( 'foo' => 1, 'bar' => 2 ) >> array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type object for bit shift right +(object) array ( 'foo' => 1, 'bar' => 2 ) >> array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for bit shift right +(object) array ( 'foo' => 1, 'bar' => 2 ) >> array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for bit shift right +(object) array ( 'foo' => 1, 'bar' => 2 ) >> (object) array ( ) - TypeError Unsupported operand type object for bit shift right +(object) array ( 'foo' => 1, 'bar' => 2 ) >> (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for bit shift right +(object) array ( 'foo' => 1, 'bar' => 2 ) >> (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for bit shift right +(object) array ( 'foo' => 1, 'bar' => 2 ) >> DateTime - TypeError Unsupported operand type object for bit shift right +(object) array ( 'foo' => 1, 'bar' => 2 ) >> resource - TypeError Unsupported operand type object for bit shift right +(object) array ( 'foo' => 1, 'bar' => 2 ) >> NULL - TypeError Unsupported operand type object for bit shift right +(object) array ( 'bar' => 1, 'foo' => 2 ) >> false - TypeError Unsupported operand type object for bit shift right +(object) array ( 'bar' => 1, 'foo' => 2 ) >> true - TypeError Unsupported operand type object for bit shift right +(object) array ( 'bar' => 1, 'foo' => 2 ) >> 0 - TypeError Unsupported operand type object for bit shift right +(object) array ( 'bar' => 1, 'foo' => 2 ) >> 10 - TypeError Unsupported operand type object for bit shift right +(object) array ( 'bar' => 1, 'foo' => 2 ) >> 0.0 - TypeError Unsupported operand type object for bit shift right +(object) array ( 'bar' => 1, 'foo' => 2 ) >> 10.0 - TypeError Unsupported operand type object for bit shift right +(object) array ( 'bar' => 1, 'foo' => 2 ) >> 3.14 - TypeError Unsupported operand type object for bit shift right +(object) array ( 'bar' => 1, 'foo' => 2 ) >> '0' - TypeError Unsupported operand type object for bit shift right +(object) array ( 'bar' => 1, 'foo' => 2 ) >> '10' - TypeError Unsupported operand type object for bit shift right +(object) array ( 'bar' => 1, 'foo' => 2 ) >> '010' - TypeError Unsupported operand type object for bit shift right +(object) array ( 'bar' => 1, 'foo' => 2 ) >> '10 elephants' - TypeError Unsupported operand type object for bit shift right +(object) array ( 'bar' => 1, 'foo' => 2 ) >> 'foo' - TypeError Unsupported operand type object for bit shift right +(object) array ( 'bar' => 1, 'foo' => 2 ) >> array ( ) - TypeError Unsupported operand type object for bit shift right +(object) array ( 'bar' => 1, 'foo' => 2 ) >> array ( 0 => 1 ) - TypeError Unsupported operand type object for bit shift right +(object) array ( 'bar' => 1, 'foo' => 2 ) >> array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type object for bit shift right +(object) array ( 'bar' => 1, 'foo' => 2 ) >> array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for bit shift right +(object) array ( 'bar' => 1, 'foo' => 2 ) >> array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for bit shift right +(object) array ( 'bar' => 1, 'foo' => 2 ) >> (object) array ( ) - TypeError Unsupported operand type object for bit shift right +(object) array ( 'bar' => 1, 'foo' => 2 ) >> (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for bit shift right +(object) array ( 'bar' => 1, 'foo' => 2 ) >> (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for bit shift right +(object) array ( 'bar' => 1, 'foo' => 2 ) >> DateTime - TypeError Unsupported operand type object for bit shift right +(object) array ( 'bar' => 1, 'foo' => 2 ) >> resource - TypeError Unsupported operand type object for bit shift right +(object) array ( 'bar' => 1, 'foo' => 2 ) >> NULL - TypeError Unsupported operand type object for bit shift right +DateTime >> false - TypeError Unsupported operand type object for bit shift right +DateTime >> true - TypeError Unsupported operand type object for bit shift right +DateTime >> 0 - TypeError Unsupported operand type object for bit shift right +DateTime >> 10 - TypeError Unsupported operand type object for bit shift right +DateTime >> 0.0 - TypeError Unsupported operand type object for bit shift right +DateTime >> 10.0 - TypeError Unsupported operand type object for bit shift right +DateTime >> 3.14 - TypeError Unsupported operand type object for bit shift right +DateTime >> '0' - TypeError Unsupported operand type object for bit shift right +DateTime >> '10' - TypeError Unsupported operand type object for bit shift right +DateTime >> '010' - TypeError Unsupported operand type object for bit shift right +DateTime >> '10 elephants' - TypeError Unsupported operand type object for bit shift right +DateTime >> 'foo' - TypeError Unsupported operand type object for bit shift right +DateTime >> array ( ) - TypeError Unsupported operand type object for bit shift right +DateTime >> array ( 0 => 1 ) - TypeError Unsupported operand type object for bit shift right +DateTime >> array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type object for bit shift right +DateTime >> array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for bit shift right +DateTime >> array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for bit shift right +DateTime >> (object) array ( ) - TypeError Unsupported operand type object for bit shift right +DateTime >> (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for bit shift right +DateTime >> (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for bit shift right +DateTime >> DateTime - TypeError Unsupported operand type object for bit shift right +DateTime >> resource - TypeError Unsupported operand type object for bit shift right +DateTime >> NULL - TypeError Unsupported operand type object for bit shift right +resource >> false - TypeError Unsupported operand type resource for bit shift right +resource >> true - TypeError Unsupported operand type resource for bit shift right +resource >> 0 - TypeError Unsupported operand type resource for bit shift right +resource >> 10 - TypeError Unsupported operand type resource for bit shift right +resource >> 0.0 - TypeError Unsupported operand type resource for bit shift right +resource >> 10.0 - TypeError Unsupported operand type resource for bit shift right +resource >> 3.14 - TypeError Unsupported operand type resource for bit shift right +resource >> '0' - TypeError Unsupported operand type resource for bit shift right +resource >> '10' - TypeError Unsupported operand type resource for bit shift right +resource >> '010' - TypeError Unsupported operand type resource for bit shift right +resource >> '10 elephants' - TypeError Unsupported operand type resource for bit shift right +resource >> 'foo' - TypeError Unsupported operand type resource for bit shift right +resource >> array ( ) - TypeError Unsupported operand type resource for bit shift right +resource >> array ( 0 => 1 ) - TypeError Unsupported operand type resource for bit shift right +resource >> array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type resource for bit shift right +resource >> array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type resource for bit shift right +resource >> array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type resource for bit shift right +resource >> (object) array ( ) - TypeError Unsupported operand type resource for bit shift right +resource >> (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type resource for bit shift right +resource >> (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type resource for bit shift right +resource >> DateTime - TypeError Unsupported operand type resource for bit shift right +resource >> resource - TypeError Unsupported operand type resource for bit shift right +resource >> NULL - TypeError Unsupported operand type resource for bit shift right +NULL >> false - TypeError Unsupported operand type null for bit shift right +NULL >> true - TypeError Unsupported operand type null for bit shift right +NULL >> 0 - TypeError Unsupported operand type null for bit shift right +NULL >> 10 - TypeError Unsupported operand type null for bit shift right +NULL >> 0.0 - TypeError Unsupported operand type null for bit shift right +NULL >> 10.0 - TypeError Unsupported operand type null for bit shift right +NULL >> 3.14 - TypeError Unsupported operand type null for bit shift right +NULL >> '0' - TypeError Unsupported operand type null for bit shift right +NULL >> '10' - TypeError Unsupported operand type null for bit shift right +NULL >> '010' - TypeError Unsupported operand type null for bit shift right +NULL >> '10 elephants' - TypeError Unsupported operand type null for bit shift right +NULL >> 'foo' - TypeError Unsupported operand type null for bit shift right +NULL >> array ( ) - TypeError Unsupported operand type null for bit shift right +NULL >> array ( 0 => 1 ) - TypeError Unsupported operand type null for bit shift right +NULL >> array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type null for bit shift right +NULL >> array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type null for bit shift right +NULL >> array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type null for bit shift right +NULL >> (object) array ( ) - TypeError Unsupported operand type null for bit shift right +NULL >> (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type null for bit shift right +NULL >> (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type null for bit shift right +NULL >> DateTime - TypeError Unsupported operand type null for bit shift right +NULL >> resource - TypeError Unsupported operand type null for bit shift right +NULL >> NULL - TypeError Unsupported operand type null for bit shift right \ No newline at end of file diff --git a/Zend/tests/operators/bitwise/xor.phpt b/Zend/tests/operators/bitwise/xor.phpt new file mode 100644 index 000000000000..91d5d540a973 --- /dev/null +++ b/Zend/tests/operators/bitwise/xor.phpt @@ -0,0 +1,540 @@ +--TEST-- +bitwise xor operator +--FILE-- + 1 ) = 1 +false ^ array ( 0 => 1, 1 => 100 ) = 1 +false ^ array ( 'foo' => 1, 'bar' => 2 ) = 1 +false ^ array ( 'bar' => 1, 'foo' => 2 ) = 1 +false ^ (object) array ( ) = 1 - Notice Object of class stdClass could not be converted to int +false ^ (object) array ( 'foo' => 1, 'bar' => 2 ) = 1 - Notice Object of class stdClass could not be converted to int +false ^ (object) array ( 'bar' => 1, 'foo' => 2 ) = 1 - Notice Object of class stdClass could not be converted to int +false ^ DateTime = 1 - Notice Object of class DateTime could not be converted to int +false ^ resource = 6 +false ^ NULL = 0 +true ^ false = 1 +true ^ true = 0 +true ^ 0 = 1 +true ^ 10 = 11 +true ^ 0.0 = 1 +true ^ 10.0 = 11 +true ^ 3.14 = 2 +true ^ '0' = 1 +true ^ '10' = 11 +true ^ '010' = 11 +true ^ '10 elephants' = 11 - Notice A non well formed numeric value encountered +true ^ 'foo' = 1 - Warning A non-numeric value encountered +true ^ array ( ) = 1 +true ^ array ( 0 => 1 ) = 0 +true ^ array ( 0 => 1, 1 => 100 ) = 0 +true ^ array ( 'foo' => 1, 'bar' => 2 ) = 0 +true ^ array ( 'bar' => 1, 'foo' => 2 ) = 0 +true ^ (object) array ( ) = 0 - Notice Object of class stdClass could not be converted to int +true ^ (object) array ( 'foo' => 1, 'bar' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +true ^ (object) array ( 'bar' => 1, 'foo' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +true ^ DateTime = 0 - Notice Object of class DateTime could not be converted to int +true ^ resource = 7 +true ^ NULL = 1 +0 ^ false = 0 +0 ^ true = 1 +0 ^ 0 = 0 +0 ^ 10 = 10 +0 ^ 0.0 = 0 +0 ^ 10.0 = 10 +0 ^ 3.14 = 3 +0 ^ '0' = 0 +0 ^ '10' = 10 +0 ^ '010' = 10 +0 ^ '10 elephants' = 10 - Notice A non well formed numeric value encountered +0 ^ 'foo' = 0 - Warning A non-numeric value encountered +0 ^ array ( ) = 0 +0 ^ array ( 0 => 1 ) = 1 +0 ^ array ( 0 => 1, 1 => 100 ) = 1 +0 ^ array ( 'foo' => 1, 'bar' => 2 ) = 1 +0 ^ array ( 'bar' => 1, 'foo' => 2 ) = 1 +0 ^ (object) array ( ) = 1 - Notice Object of class stdClass could not be converted to int +0 ^ (object) array ( 'foo' => 1, 'bar' => 2 ) = 1 - Notice Object of class stdClass could not be converted to int +0 ^ (object) array ( 'bar' => 1, 'foo' => 2 ) = 1 - Notice Object of class stdClass could not be converted to int +0 ^ DateTime = 1 - Notice Object of class DateTime could not be converted to int +0 ^ resource = 6 +0 ^ NULL = 0 +10 ^ false = 10 +10 ^ true = 11 +10 ^ 0 = 10 +10 ^ 10 = 0 +10 ^ 0.0 = 10 +10 ^ 10.0 = 0 +10 ^ 3.14 = 9 +10 ^ '0' = 10 +10 ^ '10' = 0 +10 ^ '010' = 0 +10 ^ '10 elephants' = 0 - Notice A non well formed numeric value encountered +10 ^ 'foo' = 10 - Warning A non-numeric value encountered +10 ^ array ( ) = 10 +10 ^ array ( 0 => 1 ) = 11 +10 ^ array ( 0 => 1, 1 => 100 ) = 11 +10 ^ array ( 'foo' => 1, 'bar' => 2 ) = 11 +10 ^ array ( 'bar' => 1, 'foo' => 2 ) = 11 +10 ^ (object) array ( ) = 11 - Notice Object of class stdClass could not be converted to int +10 ^ (object) array ( 'foo' => 1, 'bar' => 2 ) = 11 - Notice Object of class stdClass could not be converted to int +10 ^ (object) array ( 'bar' => 1, 'foo' => 2 ) = 11 - Notice Object of class stdClass could not be converted to int +10 ^ DateTime = 11 - Notice Object of class DateTime could not be converted to int +10 ^ resource = 12 +10 ^ NULL = 10 +0.0 ^ false = 0 +0.0 ^ true = 1 +0.0 ^ 0 = 0 +0.0 ^ 10 = 10 +0.0 ^ 0.0 = 0 +0.0 ^ 10.0 = 10 +0.0 ^ 3.14 = 3 +0.0 ^ '0' = 0 +0.0 ^ '10' = 10 +0.0 ^ '010' = 10 +0.0 ^ '10 elephants' = 10 - Notice A non well formed numeric value encountered +0.0 ^ 'foo' = 0 - Warning A non-numeric value encountered +0.0 ^ array ( ) = 0 +0.0 ^ array ( 0 => 1 ) = 1 +0.0 ^ array ( 0 => 1, 1 => 100 ) = 1 +0.0 ^ array ( 'foo' => 1, 'bar' => 2 ) = 1 +0.0 ^ array ( 'bar' => 1, 'foo' => 2 ) = 1 +0.0 ^ (object) array ( ) = 1 - Notice Object of class stdClass could not be converted to int +0.0 ^ (object) array ( 'foo' => 1, 'bar' => 2 ) = 1 - Notice Object of class stdClass could not be converted to int +0.0 ^ (object) array ( 'bar' => 1, 'foo' => 2 ) = 1 - Notice Object of class stdClass could not be converted to int +0.0 ^ DateTime = 1 - Notice Object of class DateTime could not be converted to int +0.0 ^ resource = 6 +0.0 ^ NULL = 0 +10.0 ^ false = 10 +10.0 ^ true = 11 +10.0 ^ 0 = 10 +10.0 ^ 10 = 0 +10.0 ^ 0.0 = 10 +10.0 ^ 10.0 = 0 +10.0 ^ 3.14 = 9 +10.0 ^ '0' = 10 +10.0 ^ '10' = 0 +10.0 ^ '010' = 0 +10.0 ^ '10 elephants' = 0 - Notice A non well formed numeric value encountered +10.0 ^ 'foo' = 10 - Warning A non-numeric value encountered +10.0 ^ array ( ) = 10 +10.0 ^ array ( 0 => 1 ) = 11 +10.0 ^ array ( 0 => 1, 1 => 100 ) = 11 +10.0 ^ array ( 'foo' => 1, 'bar' => 2 ) = 11 +10.0 ^ array ( 'bar' => 1, 'foo' => 2 ) = 11 +10.0 ^ (object) array ( ) = 11 - Notice Object of class stdClass could not be converted to int +10.0 ^ (object) array ( 'foo' => 1, 'bar' => 2 ) = 11 - Notice Object of class stdClass could not be converted to int +10.0 ^ (object) array ( 'bar' => 1, 'foo' => 2 ) = 11 - Notice Object of class stdClass could not be converted to int +10.0 ^ DateTime = 11 - Notice Object of class DateTime could not be converted to int +10.0 ^ resource = 12 +10.0 ^ NULL = 10 +3.14 ^ false = 3 +3.14 ^ true = 2 +3.14 ^ 0 = 3 +3.14 ^ 10 = 9 +3.14 ^ 0.0 = 3 +3.14 ^ 10.0 = 9 +3.14 ^ 3.14 = 0 +3.14 ^ '0' = 3 +3.14 ^ '10' = 9 +3.14 ^ '010' = 9 +3.14 ^ '10 elephants' = 9 - Notice A non well formed numeric value encountered +3.14 ^ 'foo' = 3 - Warning A non-numeric value encountered +3.14 ^ array ( ) = 3 +3.14 ^ array ( 0 => 1 ) = 2 +3.14 ^ array ( 0 => 1, 1 => 100 ) = 2 +3.14 ^ array ( 'foo' => 1, 'bar' => 2 ) = 2 +3.14 ^ array ( 'bar' => 1, 'foo' => 2 ) = 2 +3.14 ^ (object) array ( ) = 2 - Notice Object of class stdClass could not be converted to int +3.14 ^ (object) array ( 'foo' => 1, 'bar' => 2 ) = 2 - Notice Object of class stdClass could not be converted to int +3.14 ^ (object) array ( 'bar' => 1, 'foo' => 2 ) = 2 - Notice Object of class stdClass could not be converted to int +3.14 ^ DateTime = 2 - Notice Object of class DateTime could not be converted to int +3.14 ^ resource = 5 +3.14 ^ NULL = 3 +'0' ^ false = 0 +'0' ^ true = 1 +'0' ^ 0 = 0 +'0' ^ 10 = 10 +'0' ^ 0.0 = 0 +'0' ^ 10.0 = 10 +'0' ^ 3.14 = 3 +'0' ^ '0' = base64:AA== +'0' ^ '10' = base64:AQ== +'0' ^ '010' = base64:AA== +'0' ^ '10 elephants' = base64:AQ== +'0' ^ 'foo' = base64:Vg== +'0' ^ array ( ) = 0 +'0' ^ array ( 0 => 1 ) = 1 +'0' ^ array ( 0 => 1, 1 => 100 ) = 1 +'0' ^ array ( 'foo' => 1, 'bar' => 2 ) = 1 +'0' ^ array ( 'bar' => 1, 'foo' => 2 ) = 1 +'0' ^ (object) array ( ) = 1 - Notice Object of class stdClass could not be converted to int +'0' ^ (object) array ( 'foo' => 1, 'bar' => 2 ) = 1 - Notice Object of class stdClass could not be converted to int +'0' ^ (object) array ( 'bar' => 1, 'foo' => 2 ) = 1 - Notice Object of class stdClass could not be converted to int +'0' ^ DateTime = 1 - Notice Object of class DateTime could not be converted to int +'0' ^ resource = 6 +'0' ^ NULL = 0 +'10' ^ false = 10 +'10' ^ true = 11 +'10' ^ 0 = 10 +'10' ^ 10 = 0 +'10' ^ 0.0 = 10 +'10' ^ 10.0 = 0 +'10' ^ 3.14 = 9 +'10' ^ '0' = base64:AQ== +'10' ^ '10' = base64:AAA= +'10' ^ '010' = base64:AQE= +'10' ^ '10 elephants' = base64:AAA= +'10' ^ 'foo' = base64:V18= +'10' ^ array ( ) = 10 +'10' ^ array ( 0 => 1 ) = 11 +'10' ^ array ( 0 => 1, 1 => 100 ) = 11 +'10' ^ array ( 'foo' => 1, 'bar' => 2 ) = 11 +'10' ^ array ( 'bar' => 1, 'foo' => 2 ) = 11 +'10' ^ (object) array ( ) = 11 - Notice Object of class stdClass could not be converted to int +'10' ^ (object) array ( 'foo' => 1, 'bar' => 2 ) = 11 - Notice Object of class stdClass could not be converted to int +'10' ^ (object) array ( 'bar' => 1, 'foo' => 2 ) = 11 - Notice Object of class stdClass could not be converted to int +'10' ^ DateTime = 11 - Notice Object of class DateTime could not be converted to int +'10' ^ resource = 12 +'10' ^ NULL = 10 +'010' ^ false = 10 +'010' ^ true = 11 +'010' ^ 0 = 10 +'010' ^ 10 = 0 +'010' ^ 0.0 = 10 +'010' ^ 10.0 = 0 +'010' ^ 3.14 = 9 +'010' ^ '0' = base64:AA== +'010' ^ '10' = base64:AQE= +'010' ^ '010' = base64:AAAA +'010' ^ '10 elephants' = base64:AQEQ +'010' ^ 'foo' = base64:Vl5f +'010' ^ array ( ) = 10 +'010' ^ array ( 0 => 1 ) = 11 +'010' ^ array ( 0 => 1, 1 => 100 ) = 11 +'010' ^ array ( 'foo' => 1, 'bar' => 2 ) = 11 +'010' ^ array ( 'bar' => 1, 'foo' => 2 ) = 11 +'010' ^ (object) array ( ) = 11 - Notice Object of class stdClass could not be converted to int +'010' ^ (object) array ( 'foo' => 1, 'bar' => 2 ) = 11 - Notice Object of class stdClass could not be converted to int +'010' ^ (object) array ( 'bar' => 1, 'foo' => 2 ) = 11 - Notice Object of class stdClass could not be converted to int +'010' ^ DateTime = 11 - Notice Object of class DateTime could not be converted to int +'010' ^ resource = 12 +'010' ^ NULL = 10 +'10 elephants' ^ false = 10 - Notice A non well formed numeric value encountered +'10 elephants' ^ true = 11 - Notice A non well formed numeric value encountered +'10 elephants' ^ 0 = 10 - Notice A non well formed numeric value encountered +'10 elephants' ^ 10 = 0 - Notice A non well formed numeric value encountered +'10 elephants' ^ 0.0 = 10 - Notice A non well formed numeric value encountered +'10 elephants' ^ 10.0 = 0 - Notice A non well formed numeric value encountered +'10 elephants' ^ 3.14 = 9 - Notice A non well formed numeric value encountered +'10 elephants' ^ '0' = base64:AQ== +'10 elephants' ^ '10' = base64:AAA= +'10 elephants' ^ '010' = base64:AQEQ +'10 elephants' ^ '10 elephants' = base64:AAAAAAAAAAAAAAAA +'10 elephants' ^ 'foo' = base64:V19P +'10 elephants' ^ array ( ) = 10 - Notice A non well formed numeric value encountered +'10 elephants' ^ array ( 0 => 1 ) = 11 - Notice A non well formed numeric value encountered +'10 elephants' ^ array ( 0 => 1, 1 => 100 ) = 11 - Notice A non well formed numeric value encountered +'10 elephants' ^ array ( 'foo' => 1, 'bar' => 2 ) = 11 - Notice A non well formed numeric value encountered +'10 elephants' ^ array ( 'bar' => 1, 'foo' => 2 ) = 11 - Notice A non well formed numeric value encountered +'10 elephants' ^ (object) array ( ) = 11 - Notice Object of class stdClass could not be converted to int +'10 elephants' ^ (object) array ( 'foo' => 1, 'bar' => 2 ) = 11 - Notice Object of class stdClass could not be converted to int +'10 elephants' ^ (object) array ( 'bar' => 1, 'foo' => 2 ) = 11 - Notice Object of class stdClass could not be converted to int +'10 elephants' ^ DateTime = 11 - Notice Object of class DateTime could not be converted to int +'10 elephants' ^ resource = 12 - Notice A non well formed numeric value encountered +'10 elephants' ^ NULL = 10 - Notice A non well formed numeric value encountered +'foo' ^ false = 0 - Warning A non-numeric value encountered +'foo' ^ true = 1 - Warning A non-numeric value encountered +'foo' ^ 0 = 0 - Warning A non-numeric value encountered +'foo' ^ 10 = 10 - Warning A non-numeric value encountered +'foo' ^ 0.0 = 0 - Warning A non-numeric value encountered +'foo' ^ 10.0 = 10 - Warning A non-numeric value encountered +'foo' ^ 3.14 = 3 - Warning A non-numeric value encountered +'foo' ^ '0' = base64:Vg== +'foo' ^ '10' = base64:V18= +'foo' ^ '010' = base64:Vl5f +'foo' ^ '10 elephants' = base64:V19P +'foo' ^ 'foo' = base64:AAAA +'foo' ^ array ( ) = 0 - Warning A non-numeric value encountered +'foo' ^ array ( 0 => 1 ) = 1 - Warning A non-numeric value encountered +'foo' ^ array ( 0 => 1, 1 => 100 ) = 1 - Warning A non-numeric value encountered +'foo' ^ array ( 'foo' => 1, 'bar' => 2 ) = 1 - Warning A non-numeric value encountered +'foo' ^ array ( 'bar' => 1, 'foo' => 2 ) = 1 - Warning A non-numeric value encountered +'foo' ^ (object) array ( ) = 1 - Notice Object of class stdClass could not be converted to int +'foo' ^ (object) array ( 'foo' => 1, 'bar' => 2 ) = 1 - Notice Object of class stdClass could not be converted to int +'foo' ^ (object) array ( 'bar' => 1, 'foo' => 2 ) = 1 - Notice Object of class stdClass could not be converted to int +'foo' ^ DateTime = 1 - Notice Object of class DateTime could not be converted to int +'foo' ^ resource = 6 - Warning A non-numeric value encountered +'foo' ^ NULL = 0 - Warning A non-numeric value encountered +array ( ) ^ false = 0 +array ( ) ^ true = 1 +array ( ) ^ 0 = 0 +array ( ) ^ 10 = 10 +array ( ) ^ 0.0 = 0 +array ( ) ^ 10.0 = 10 +array ( ) ^ 3.14 = 3 +array ( ) ^ '0' = 0 +array ( ) ^ '10' = 10 +array ( ) ^ '010' = 10 +array ( ) ^ '10 elephants' = 10 - Notice A non well formed numeric value encountered +array ( ) ^ 'foo' = 0 - Warning A non-numeric value encountered +array ( ) ^ array ( ) = 0 +array ( ) ^ array ( 0 => 1 ) = 1 +array ( ) ^ array ( 0 => 1, 1 => 100 ) = 1 +array ( ) ^ array ( 'foo' => 1, 'bar' => 2 ) = 1 +array ( ) ^ array ( 'bar' => 1, 'foo' => 2 ) = 1 +array ( ) ^ (object) array ( ) = 1 - Notice Object of class stdClass could not be converted to int +array ( ) ^ (object) array ( 'foo' => 1, 'bar' => 2 ) = 1 - Notice Object of class stdClass could not be converted to int +array ( ) ^ (object) array ( 'bar' => 1, 'foo' => 2 ) = 1 - Notice Object of class stdClass could not be converted to int +array ( ) ^ DateTime = 1 - Notice Object of class DateTime could not be converted to int +array ( ) ^ resource = 6 +array ( ) ^ NULL = 0 +array ( 0 => 1 ) ^ false = 1 +array ( 0 => 1 ) ^ true = 0 +array ( 0 => 1 ) ^ 0 = 1 +array ( 0 => 1 ) ^ 10 = 11 +array ( 0 => 1 ) ^ 0.0 = 1 +array ( 0 => 1 ) ^ 10.0 = 11 +array ( 0 => 1 ) ^ 3.14 = 2 +array ( 0 => 1 ) ^ '0' = 1 +array ( 0 => 1 ) ^ '10' = 11 +array ( 0 => 1 ) ^ '010' = 11 +array ( 0 => 1 ) ^ '10 elephants' = 11 - Notice A non well formed numeric value encountered +array ( 0 => 1 ) ^ 'foo' = 1 - Warning A non-numeric value encountered +array ( 0 => 1 ) ^ array ( ) = 1 +array ( 0 => 1 ) ^ array ( 0 => 1 ) = 0 +array ( 0 => 1 ) ^ array ( 0 => 1, 1 => 100 ) = 0 +array ( 0 => 1 ) ^ array ( 'foo' => 1, 'bar' => 2 ) = 0 +array ( 0 => 1 ) ^ array ( 'bar' => 1, 'foo' => 2 ) = 0 +array ( 0 => 1 ) ^ (object) array ( ) = 0 - Notice Object of class stdClass could not be converted to int +array ( 0 => 1 ) ^ (object) array ( 'foo' => 1, 'bar' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +array ( 0 => 1 ) ^ (object) array ( 'bar' => 1, 'foo' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +array ( 0 => 1 ) ^ DateTime = 0 - Notice Object of class DateTime could not be converted to int +array ( 0 => 1 ) ^ resource = 7 +array ( 0 => 1 ) ^ NULL = 1 +array ( 0 => 1, 1 => 100 ) ^ false = 1 +array ( 0 => 1, 1 => 100 ) ^ true = 0 +array ( 0 => 1, 1 => 100 ) ^ 0 = 1 +array ( 0 => 1, 1 => 100 ) ^ 10 = 11 +array ( 0 => 1, 1 => 100 ) ^ 0.0 = 1 +array ( 0 => 1, 1 => 100 ) ^ 10.0 = 11 +array ( 0 => 1, 1 => 100 ) ^ 3.14 = 2 +array ( 0 => 1, 1 => 100 ) ^ '0' = 1 +array ( 0 => 1, 1 => 100 ) ^ '10' = 11 +array ( 0 => 1, 1 => 100 ) ^ '010' = 11 +array ( 0 => 1, 1 => 100 ) ^ '10 elephants' = 11 - Notice A non well formed numeric value encountered +array ( 0 => 1, 1 => 100 ) ^ 'foo' = 1 - Warning A non-numeric value encountered +array ( 0 => 1, 1 => 100 ) ^ array ( ) = 1 +array ( 0 => 1, 1 => 100 ) ^ array ( 0 => 1 ) = 0 +array ( 0 => 1, 1 => 100 ) ^ array ( 0 => 1, 1 => 100 ) = 0 +array ( 0 => 1, 1 => 100 ) ^ array ( 'foo' => 1, 'bar' => 2 ) = 0 +array ( 0 => 1, 1 => 100 ) ^ array ( 'bar' => 1, 'foo' => 2 ) = 0 +array ( 0 => 1, 1 => 100 ) ^ (object) array ( ) = 0 - Notice Object of class stdClass could not be converted to int +array ( 0 => 1, 1 => 100 ) ^ (object) array ( 'foo' => 1, 'bar' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +array ( 0 => 1, 1 => 100 ) ^ (object) array ( 'bar' => 1, 'foo' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +array ( 0 => 1, 1 => 100 ) ^ DateTime = 0 - Notice Object of class DateTime could not be converted to int +array ( 0 => 1, 1 => 100 ) ^ resource = 7 +array ( 0 => 1, 1 => 100 ) ^ NULL = 1 +array ( 'foo' => 1, 'bar' => 2 ) ^ false = 1 +array ( 'foo' => 1, 'bar' => 2 ) ^ true = 0 +array ( 'foo' => 1, 'bar' => 2 ) ^ 0 = 1 +array ( 'foo' => 1, 'bar' => 2 ) ^ 10 = 11 +array ( 'foo' => 1, 'bar' => 2 ) ^ 0.0 = 1 +array ( 'foo' => 1, 'bar' => 2 ) ^ 10.0 = 11 +array ( 'foo' => 1, 'bar' => 2 ) ^ 3.14 = 2 +array ( 'foo' => 1, 'bar' => 2 ) ^ '0' = 1 +array ( 'foo' => 1, 'bar' => 2 ) ^ '10' = 11 +array ( 'foo' => 1, 'bar' => 2 ) ^ '010' = 11 +array ( 'foo' => 1, 'bar' => 2 ) ^ '10 elephants' = 11 - Notice A non well formed numeric value encountered +array ( 'foo' => 1, 'bar' => 2 ) ^ 'foo' = 1 - Warning A non-numeric value encountered +array ( 'foo' => 1, 'bar' => 2 ) ^ array ( ) = 1 +array ( 'foo' => 1, 'bar' => 2 ) ^ array ( 0 => 1 ) = 0 +array ( 'foo' => 1, 'bar' => 2 ) ^ array ( 0 => 1, 1 => 100 ) = 0 +array ( 'foo' => 1, 'bar' => 2 ) ^ array ( 'foo' => 1, 'bar' => 2 ) = 0 +array ( 'foo' => 1, 'bar' => 2 ) ^ array ( 'bar' => 1, 'foo' => 2 ) = 0 +array ( 'foo' => 1, 'bar' => 2 ) ^ (object) array ( ) = 0 - Notice Object of class stdClass could not be converted to int +array ( 'foo' => 1, 'bar' => 2 ) ^ (object) array ( 'foo' => 1, 'bar' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +array ( 'foo' => 1, 'bar' => 2 ) ^ (object) array ( 'bar' => 1, 'foo' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +array ( 'foo' => 1, 'bar' => 2 ) ^ DateTime = 0 - Notice Object of class DateTime could not be converted to int +array ( 'foo' => 1, 'bar' => 2 ) ^ resource = 7 +array ( 'foo' => 1, 'bar' => 2 ) ^ NULL = 1 +array ( 'bar' => 1, 'foo' => 2 ) ^ false = 1 +array ( 'bar' => 1, 'foo' => 2 ) ^ true = 0 +array ( 'bar' => 1, 'foo' => 2 ) ^ 0 = 1 +array ( 'bar' => 1, 'foo' => 2 ) ^ 10 = 11 +array ( 'bar' => 1, 'foo' => 2 ) ^ 0.0 = 1 +array ( 'bar' => 1, 'foo' => 2 ) ^ 10.0 = 11 +array ( 'bar' => 1, 'foo' => 2 ) ^ 3.14 = 2 +array ( 'bar' => 1, 'foo' => 2 ) ^ '0' = 1 +array ( 'bar' => 1, 'foo' => 2 ) ^ '10' = 11 +array ( 'bar' => 1, 'foo' => 2 ) ^ '010' = 11 +array ( 'bar' => 1, 'foo' => 2 ) ^ '10 elephants' = 11 - Notice A non well formed numeric value encountered +array ( 'bar' => 1, 'foo' => 2 ) ^ 'foo' = 1 - Warning A non-numeric value encountered +array ( 'bar' => 1, 'foo' => 2 ) ^ array ( ) = 1 +array ( 'bar' => 1, 'foo' => 2 ) ^ array ( 0 => 1 ) = 0 +array ( 'bar' => 1, 'foo' => 2 ) ^ array ( 0 => 1, 1 => 100 ) = 0 +array ( 'bar' => 1, 'foo' => 2 ) ^ array ( 'foo' => 1, 'bar' => 2 ) = 0 +array ( 'bar' => 1, 'foo' => 2 ) ^ array ( 'bar' => 1, 'foo' => 2 ) = 0 +array ( 'bar' => 1, 'foo' => 2 ) ^ (object) array ( ) = 0 - Notice Object of class stdClass could not be converted to int +array ( 'bar' => 1, 'foo' => 2 ) ^ (object) array ( 'foo' => 1, 'bar' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +array ( 'bar' => 1, 'foo' => 2 ) ^ (object) array ( 'bar' => 1, 'foo' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +array ( 'bar' => 1, 'foo' => 2 ) ^ DateTime = 0 - Notice Object of class DateTime could not be converted to int +array ( 'bar' => 1, 'foo' => 2 ) ^ resource = 7 +array ( 'bar' => 1, 'foo' => 2 ) ^ NULL = 1 +(object) array ( ) ^ false = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( ) ^ true = 0 - Notice Object of class stdClass could not be converted to int +(object) array ( ) ^ 0 = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( ) ^ 10 = 11 - Notice Object of class stdClass could not be converted to int +(object) array ( ) ^ 0.0 = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( ) ^ 10.0 = 11 - Notice Object of class stdClass could not be converted to int +(object) array ( ) ^ 3.14 = 2 - Notice Object of class stdClass could not be converted to int +(object) array ( ) ^ '0' = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( ) ^ '10' = 11 - Notice Object of class stdClass could not be converted to int +(object) array ( ) ^ '010' = 11 - Notice Object of class stdClass could not be converted to int +(object) array ( ) ^ '10 elephants' = 11 - Notice A non well formed numeric value encountered +(object) array ( ) ^ 'foo' = 1 - Warning A non-numeric value encountered +(object) array ( ) ^ array ( ) = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( ) ^ array ( 0 => 1 ) = 0 - Notice Object of class stdClass could not be converted to int +(object) array ( ) ^ array ( 0 => 1, 1 => 100 ) = 0 - Notice Object of class stdClass could not be converted to int +(object) array ( ) ^ array ( 'foo' => 1, 'bar' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +(object) array ( ) ^ array ( 'bar' => 1, 'foo' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +(object) array ( ) ^ (object) array ( ) = 0 - Notice Object of class stdClass could not be converted to int +(object) array ( ) ^ (object) array ( 'foo' => 1, 'bar' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +(object) array ( ) ^ (object) array ( 'bar' => 1, 'foo' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +(object) array ( ) ^ DateTime = 0 - Notice Object of class DateTime could not be converted to int +(object) array ( ) ^ resource = 7 - Notice Object of class stdClass could not be converted to int +(object) array ( ) ^ NULL = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) ^ false = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) ^ true = 0 - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) ^ 0 = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) ^ 10 = 11 - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) ^ 0.0 = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) ^ 10.0 = 11 - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) ^ 3.14 = 2 - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) ^ '0' = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) ^ '10' = 11 - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) ^ '010' = 11 - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) ^ '10 elephants' = 11 - Notice A non well formed numeric value encountered +(object) array ( 'foo' => 1, 'bar' => 2 ) ^ 'foo' = 1 - Warning A non-numeric value encountered +(object) array ( 'foo' => 1, 'bar' => 2 ) ^ array ( ) = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) ^ array ( 0 => 1 ) = 0 - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) ^ array ( 0 => 1, 1 => 100 ) = 0 - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) ^ array ( 'foo' => 1, 'bar' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) ^ array ( 'bar' => 1, 'foo' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) ^ (object) array ( ) = 0 - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) ^ (object) array ( 'foo' => 1, 'bar' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) ^ (object) array ( 'bar' => 1, 'foo' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) ^ DateTime = 0 - Notice Object of class DateTime could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) ^ resource = 7 - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) ^ NULL = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) ^ false = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) ^ true = 0 - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) ^ 0 = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) ^ 10 = 11 - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) ^ 0.0 = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) ^ 10.0 = 11 - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) ^ 3.14 = 2 - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) ^ '0' = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) ^ '10' = 11 - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) ^ '010' = 11 - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) ^ '10 elephants' = 11 - Notice A non well formed numeric value encountered +(object) array ( 'bar' => 1, 'foo' => 2 ) ^ 'foo' = 1 - Warning A non-numeric value encountered +(object) array ( 'bar' => 1, 'foo' => 2 ) ^ array ( ) = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) ^ array ( 0 => 1 ) = 0 - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) ^ array ( 0 => 1, 1 => 100 ) = 0 - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) ^ array ( 'foo' => 1, 'bar' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) ^ array ( 'bar' => 1, 'foo' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) ^ (object) array ( ) = 0 - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) ^ (object) array ( 'foo' => 1, 'bar' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) ^ (object) array ( 'bar' => 1, 'foo' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) ^ DateTime = 0 - Notice Object of class DateTime could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) ^ resource = 7 - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) ^ NULL = 1 - Notice Object of class stdClass could not be converted to int +DateTime ^ false = 1 - Notice Object of class DateTime could not be converted to int +DateTime ^ true = 0 - Notice Object of class DateTime could not be converted to int +DateTime ^ 0 = 1 - Notice Object of class DateTime could not be converted to int +DateTime ^ 10 = 11 - Notice Object of class DateTime could not be converted to int +DateTime ^ 0.0 = 1 - Notice Object of class DateTime could not be converted to int +DateTime ^ 10.0 = 11 - Notice Object of class DateTime could not be converted to int +DateTime ^ 3.14 = 2 - Notice Object of class DateTime could not be converted to int +DateTime ^ '0' = 1 - Notice Object of class DateTime could not be converted to int +DateTime ^ '10' = 11 - Notice Object of class DateTime could not be converted to int +DateTime ^ '010' = 11 - Notice Object of class DateTime could not be converted to int +DateTime ^ '10 elephants' = 11 - Notice A non well formed numeric value encountered +DateTime ^ 'foo' = 1 - Warning A non-numeric value encountered +DateTime ^ array ( ) = 1 - Notice Object of class DateTime could not be converted to int +DateTime ^ array ( 0 => 1 ) = 0 - Notice Object of class DateTime could not be converted to int +DateTime ^ array ( 0 => 1, 1 => 100 ) = 0 - Notice Object of class DateTime could not be converted to int +DateTime ^ array ( 'foo' => 1, 'bar' => 2 ) = 0 - Notice Object of class DateTime could not be converted to int +DateTime ^ array ( 'bar' => 1, 'foo' => 2 ) = 0 - Notice Object of class DateTime could not be converted to int +DateTime ^ (object) array ( ) = 0 - Notice Object of class stdClass could not be converted to int +DateTime ^ (object) array ( 'foo' => 1, 'bar' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +DateTime ^ (object) array ( 'bar' => 1, 'foo' => 2 ) = 0 - Notice Object of class stdClass could not be converted to int +DateTime ^ DateTime = 0 - Notice Object of class DateTime could not be converted to int +DateTime ^ resource = 7 - Notice Object of class DateTime could not be converted to int +DateTime ^ NULL = 1 - Notice Object of class DateTime could not be converted to int +resource ^ false = 6 +resource ^ true = 7 +resource ^ 0 = 6 +resource ^ 10 = 12 +resource ^ 0.0 = 6 +resource ^ 10.0 = 12 +resource ^ 3.14 = 5 +resource ^ '0' = 6 +resource ^ '10' = 12 +resource ^ '010' = 12 +resource ^ '10 elephants' = 12 - Notice A non well formed numeric value encountered +resource ^ 'foo' = 6 - Warning A non-numeric value encountered +resource ^ array ( ) = 6 +resource ^ array ( 0 => 1 ) = 7 +resource ^ array ( 0 => 1, 1 => 100 ) = 7 +resource ^ array ( 'foo' => 1, 'bar' => 2 ) = 7 +resource ^ array ( 'bar' => 1, 'foo' => 2 ) = 7 +resource ^ (object) array ( ) = 7 - Notice Object of class stdClass could not be converted to int +resource ^ (object) array ( 'foo' => 1, 'bar' => 2 ) = 7 - Notice Object of class stdClass could not be converted to int +resource ^ (object) array ( 'bar' => 1, 'foo' => 2 ) = 7 - Notice Object of class stdClass could not be converted to int +resource ^ DateTime = 7 - Notice Object of class DateTime could not be converted to int +resource ^ resource = 0 +resource ^ NULL = 6 +NULL ^ false = 0 +NULL ^ true = 1 +NULL ^ 0 = 0 +NULL ^ 10 = 10 +NULL ^ 0.0 = 0 +NULL ^ 10.0 = 10 +NULL ^ 3.14 = 3 +NULL ^ '0' = 0 +NULL ^ '10' = 10 +NULL ^ '010' = 10 +NULL ^ '10 elephants' = 10 - Notice A non well formed numeric value encountered +NULL ^ 'foo' = 0 - Warning A non-numeric value encountered +NULL ^ array ( ) = 0 +NULL ^ array ( 0 => 1 ) = 1 +NULL ^ array ( 0 => 1, 1 => 100 ) = 1 +NULL ^ array ( 'foo' => 1, 'bar' => 2 ) = 1 +NULL ^ array ( 'bar' => 1, 'foo' => 2 ) = 1 +NULL ^ (object) array ( ) = 1 - Notice Object of class stdClass could not be converted to int +NULL ^ (object) array ( 'foo' => 1, 'bar' => 2 ) = 1 - Notice Object of class stdClass could not be converted to int +NULL ^ (object) array ( 'bar' => 1, 'foo' => 2 ) = 1 - Notice Object of class stdClass could not be converted to int +NULL ^ DateTime = 1 - Notice Object of class DateTime could not be converted to int +NULL ^ resource = 6 +NULL ^ NULL = 0 \ No newline at end of file diff --git a/Zend/tests/operators/bitwise/xor_strict.phpt b/Zend/tests/operators/bitwise/xor_strict.phpt new file mode 100644 index 000000000000..9e1cd20489cb --- /dev/null +++ b/Zend/tests/operators/bitwise/xor_strict.phpt @@ -0,0 +1,542 @@ +--TEST-- +bitwise xor operator with strict operators +--FILE-- + 1 ) - TypeError Unsupported operand type bool for bitwise xor +false ^ array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type bool for bitwise xor +false ^ array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type bool for bitwise xor +false ^ array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type bool for bitwise xor +false ^ (object) array ( ) - TypeError Unsupported operand type bool for bitwise xor +false ^ (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type bool for bitwise xor +false ^ (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type bool for bitwise xor +false ^ DateTime - TypeError Unsupported operand type bool for bitwise xor +false ^ resource - TypeError Unsupported operand type bool for bitwise xor +false ^ NULL - TypeError Unsupported operand type bool for bitwise xor +true ^ false - TypeError Unsupported operand type bool for bitwise xor +true ^ true - TypeError Unsupported operand type bool for bitwise xor +true ^ 0 - TypeError Unsupported operand type bool for bitwise xor +true ^ 10 - TypeError Unsupported operand type bool for bitwise xor +true ^ 0.0 - TypeError Unsupported operand type bool for bitwise xor +true ^ 10.0 - TypeError Unsupported operand type bool for bitwise xor +true ^ 3.14 - TypeError Unsupported operand type bool for bitwise xor +true ^ '0' - TypeError Unsupported operand type bool for bitwise xor +true ^ '10' - TypeError Unsupported operand type bool for bitwise xor +true ^ '010' - TypeError Unsupported operand type bool for bitwise xor +true ^ '10 elephants' - TypeError Unsupported operand type bool for bitwise xor +true ^ 'foo' - TypeError Unsupported operand type bool for bitwise xor +true ^ array ( ) - TypeError Unsupported operand type bool for bitwise xor +true ^ array ( 0 => 1 ) - TypeError Unsupported operand type bool for bitwise xor +true ^ array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type bool for bitwise xor +true ^ array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type bool for bitwise xor +true ^ array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type bool for bitwise xor +true ^ (object) array ( ) - TypeError Unsupported operand type bool for bitwise xor +true ^ (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type bool for bitwise xor +true ^ (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type bool for bitwise xor +true ^ DateTime - TypeError Unsupported operand type bool for bitwise xor +true ^ resource - TypeError Unsupported operand type bool for bitwise xor +true ^ NULL - TypeError Unsupported operand type bool for bitwise xor +0 ^ false - TypeError Unsupported operand type bool for bitwise xor +0 ^ true - TypeError Unsupported operand type bool for bitwise xor +0 ^ 0 = 0 +0 ^ 10 = 10 +0 ^ 0.0 - TypeError Unsupported operand type float for bitwise xor +0 ^ 10.0 - TypeError Unsupported operand type float for bitwise xor +0 ^ 3.14 - TypeError Unsupported operand type float for bitwise xor +0 ^ '0' - TypeError Operand type mismatch int and string for bitwise xor +0 ^ '10' - TypeError Operand type mismatch int and string for bitwise xor +0 ^ '010' - TypeError Operand type mismatch int and string for bitwise xor +0 ^ '10 elephants' - TypeError Operand type mismatch int and string for bitwise xor +0 ^ 'foo' - TypeError Operand type mismatch int and string for bitwise xor +0 ^ array ( ) - TypeError Unsupported operand type array for bitwise xor +0 ^ array ( 0 => 1 ) - TypeError Unsupported operand type array for bitwise xor +0 ^ array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for bitwise xor +0 ^ array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for bitwise xor +0 ^ array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for bitwise xor +0 ^ (object) array ( ) - TypeError Unsupported operand type object for bitwise xor +0 ^ (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for bitwise xor +0 ^ (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for bitwise xor +0 ^ DateTime - TypeError Unsupported operand type object for bitwise xor +0 ^ resource - TypeError Unsupported operand type resource for bitwise xor +0 ^ NULL - TypeError Unsupported operand type null for bitwise xor +10 ^ false - TypeError Unsupported operand type bool for bitwise xor +10 ^ true - TypeError Unsupported operand type bool for bitwise xor +10 ^ 0 = 10 +10 ^ 10 = 0 +10 ^ 0.0 - TypeError Unsupported operand type float for bitwise xor +10 ^ 10.0 - TypeError Unsupported operand type float for bitwise xor +10 ^ 3.14 - TypeError Unsupported operand type float for bitwise xor +10 ^ '0' - TypeError Operand type mismatch int and string for bitwise xor +10 ^ '10' - TypeError Operand type mismatch int and string for bitwise xor +10 ^ '010' - TypeError Operand type mismatch int and string for bitwise xor +10 ^ '10 elephants' - TypeError Operand type mismatch int and string for bitwise xor +10 ^ 'foo' - TypeError Operand type mismatch int and string for bitwise xor +10 ^ array ( ) - TypeError Unsupported operand type array for bitwise xor +10 ^ array ( 0 => 1 ) - TypeError Unsupported operand type array for bitwise xor +10 ^ array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for bitwise xor +10 ^ array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for bitwise xor +10 ^ array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for bitwise xor +10 ^ (object) array ( ) - TypeError Unsupported operand type object for bitwise xor +10 ^ (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for bitwise xor +10 ^ (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for bitwise xor +10 ^ DateTime - TypeError Unsupported operand type object for bitwise xor +10 ^ resource - TypeError Unsupported operand type resource for bitwise xor +10 ^ NULL - TypeError Unsupported operand type null for bitwise xor +0.0 ^ false - TypeError Unsupported operand type float for bitwise xor +0.0 ^ true - TypeError Unsupported operand type float for bitwise xor +0.0 ^ 0 - TypeError Unsupported operand type float for bitwise xor +0.0 ^ 10 - TypeError Unsupported operand type float for bitwise xor +0.0 ^ 0.0 - TypeError Unsupported operand type float for bitwise xor +0.0 ^ 10.0 - TypeError Unsupported operand type float for bitwise xor +0.0 ^ 3.14 - TypeError Unsupported operand type float for bitwise xor +0.0 ^ '0' - TypeError Unsupported operand type float for bitwise xor +0.0 ^ '10' - TypeError Unsupported operand type float for bitwise xor +0.0 ^ '010' - TypeError Unsupported operand type float for bitwise xor +0.0 ^ '10 elephants' - TypeError Unsupported operand type float for bitwise xor +0.0 ^ 'foo' - TypeError Unsupported operand type float for bitwise xor +0.0 ^ array ( ) - TypeError Unsupported operand type float for bitwise xor +0.0 ^ array ( 0 => 1 ) - TypeError Unsupported operand type float for bitwise xor +0.0 ^ array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type float for bitwise xor +0.0 ^ array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type float for bitwise xor +0.0 ^ array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type float for bitwise xor +0.0 ^ (object) array ( ) - TypeError Unsupported operand type float for bitwise xor +0.0 ^ (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type float for bitwise xor +0.0 ^ (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type float for bitwise xor +0.0 ^ DateTime - TypeError Unsupported operand type float for bitwise xor +0.0 ^ resource - TypeError Unsupported operand type float for bitwise xor +0.0 ^ NULL - TypeError Unsupported operand type float for bitwise xor +10.0 ^ false - TypeError Unsupported operand type float for bitwise xor +10.0 ^ true - TypeError Unsupported operand type float for bitwise xor +10.0 ^ 0 - TypeError Unsupported operand type float for bitwise xor +10.0 ^ 10 - TypeError Unsupported operand type float for bitwise xor +10.0 ^ 0.0 - TypeError Unsupported operand type float for bitwise xor +10.0 ^ 10.0 - TypeError Unsupported operand type float for bitwise xor +10.0 ^ 3.14 - TypeError Unsupported operand type float for bitwise xor +10.0 ^ '0' - TypeError Unsupported operand type float for bitwise xor +10.0 ^ '10' - TypeError Unsupported operand type float for bitwise xor +10.0 ^ '010' - TypeError Unsupported operand type float for bitwise xor +10.0 ^ '10 elephants' - TypeError Unsupported operand type float for bitwise xor +10.0 ^ 'foo' - TypeError Unsupported operand type float for bitwise xor +10.0 ^ array ( ) - TypeError Unsupported operand type float for bitwise xor +10.0 ^ array ( 0 => 1 ) - TypeError Unsupported operand type float for bitwise xor +10.0 ^ array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type float for bitwise xor +10.0 ^ array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type float for bitwise xor +10.0 ^ array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type float for bitwise xor +10.0 ^ (object) array ( ) - TypeError Unsupported operand type float for bitwise xor +10.0 ^ (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type float for bitwise xor +10.0 ^ (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type float for bitwise xor +10.0 ^ DateTime - TypeError Unsupported operand type float for bitwise xor +10.0 ^ resource - TypeError Unsupported operand type float for bitwise xor +10.0 ^ NULL - TypeError Unsupported operand type float for bitwise xor +3.14 ^ false - TypeError Unsupported operand type float for bitwise xor +3.14 ^ true - TypeError Unsupported operand type float for bitwise xor +3.14 ^ 0 - TypeError Unsupported operand type float for bitwise xor +3.14 ^ 10 - TypeError Unsupported operand type float for bitwise xor +3.14 ^ 0.0 - TypeError Unsupported operand type float for bitwise xor +3.14 ^ 10.0 - TypeError Unsupported operand type float for bitwise xor +3.14 ^ 3.14 - TypeError Unsupported operand type float for bitwise xor +3.14 ^ '0' - TypeError Unsupported operand type float for bitwise xor +3.14 ^ '10' - TypeError Unsupported operand type float for bitwise xor +3.14 ^ '010' - TypeError Unsupported operand type float for bitwise xor +3.14 ^ '10 elephants' - TypeError Unsupported operand type float for bitwise xor +3.14 ^ 'foo' - TypeError Unsupported operand type float for bitwise xor +3.14 ^ array ( ) - TypeError Unsupported operand type float for bitwise xor +3.14 ^ array ( 0 => 1 ) - TypeError Unsupported operand type float for bitwise xor +3.14 ^ array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type float for bitwise xor +3.14 ^ array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type float for bitwise xor +3.14 ^ array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type float for bitwise xor +3.14 ^ (object) array ( ) - TypeError Unsupported operand type float for bitwise xor +3.14 ^ (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type float for bitwise xor +3.14 ^ (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type float for bitwise xor +3.14 ^ DateTime - TypeError Unsupported operand type float for bitwise xor +3.14 ^ resource - TypeError Unsupported operand type float for bitwise xor +3.14 ^ NULL - TypeError Unsupported operand type float for bitwise xor +'0' ^ false - TypeError Unsupported operand type bool for bitwise xor +'0' ^ true - TypeError Unsupported operand type bool for bitwise xor +'0' ^ 0 - TypeError Operand type mismatch string and int for bitwise xor +'0' ^ 10 - TypeError Operand type mismatch string and int for bitwise xor +'0' ^ 0.0 - TypeError Unsupported operand type float for bitwise xor +'0' ^ 10.0 - TypeError Unsupported operand type float for bitwise xor +'0' ^ 3.14 - TypeError Unsupported operand type float for bitwise xor +'0' ^ '0' = base64:AA== +'0' ^ '10' = base64:AQ== +'0' ^ '010' = base64:AA== +'0' ^ '10 elephants' = base64:AQ== +'0' ^ 'foo' = base64:Vg== +'0' ^ array ( ) - TypeError Unsupported operand type array for bitwise xor +'0' ^ array ( 0 => 1 ) - TypeError Unsupported operand type array for bitwise xor +'0' ^ array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for bitwise xor +'0' ^ array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for bitwise xor +'0' ^ array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for bitwise xor +'0' ^ (object) array ( ) - TypeError Unsupported operand type object for bitwise xor +'0' ^ (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for bitwise xor +'0' ^ (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for bitwise xor +'0' ^ DateTime - TypeError Unsupported operand type object for bitwise xor +'0' ^ resource - TypeError Unsupported operand type resource for bitwise xor +'0' ^ NULL - TypeError Unsupported operand type null for bitwise xor +'10' ^ false - TypeError Unsupported operand type bool for bitwise xor +'10' ^ true - TypeError Unsupported operand type bool for bitwise xor +'10' ^ 0 - TypeError Operand type mismatch string and int for bitwise xor +'10' ^ 10 - TypeError Operand type mismatch string and int for bitwise xor +'10' ^ 0.0 - TypeError Unsupported operand type float for bitwise xor +'10' ^ 10.0 - TypeError Unsupported operand type float for bitwise xor +'10' ^ 3.14 - TypeError Unsupported operand type float for bitwise xor +'10' ^ '0' = base64:AQ== +'10' ^ '10' = base64:AAA= +'10' ^ '010' = base64:AQE= +'10' ^ '10 elephants' = base64:AAA= +'10' ^ 'foo' = base64:V18= +'10' ^ array ( ) - TypeError Unsupported operand type array for bitwise xor +'10' ^ array ( 0 => 1 ) - TypeError Unsupported operand type array for bitwise xor +'10' ^ array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for bitwise xor +'10' ^ array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for bitwise xor +'10' ^ array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for bitwise xor +'10' ^ (object) array ( ) - TypeError Unsupported operand type object for bitwise xor +'10' ^ (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for bitwise xor +'10' ^ (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for bitwise xor +'10' ^ DateTime - TypeError Unsupported operand type object for bitwise xor +'10' ^ resource - TypeError Unsupported operand type resource for bitwise xor +'10' ^ NULL - TypeError Unsupported operand type null for bitwise xor +'010' ^ false - TypeError Unsupported operand type bool for bitwise xor +'010' ^ true - TypeError Unsupported operand type bool for bitwise xor +'010' ^ 0 - TypeError Operand type mismatch string and int for bitwise xor +'010' ^ 10 - TypeError Operand type mismatch string and int for bitwise xor +'010' ^ 0.0 - TypeError Unsupported operand type float for bitwise xor +'010' ^ 10.0 - TypeError Unsupported operand type float for bitwise xor +'010' ^ 3.14 - TypeError Unsupported operand type float for bitwise xor +'010' ^ '0' = base64:AA== +'010' ^ '10' = base64:AQE= +'010' ^ '010' = base64:AAAA +'010' ^ '10 elephants' = base64:AQEQ +'010' ^ 'foo' = base64:Vl5f +'010' ^ array ( ) - TypeError Unsupported operand type array for bitwise xor +'010' ^ array ( 0 => 1 ) - TypeError Unsupported operand type array for bitwise xor +'010' ^ array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for bitwise xor +'010' ^ array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for bitwise xor +'010' ^ array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for bitwise xor +'010' ^ (object) array ( ) - TypeError Unsupported operand type object for bitwise xor +'010' ^ (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for bitwise xor +'010' ^ (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for bitwise xor +'010' ^ DateTime - TypeError Unsupported operand type object for bitwise xor +'010' ^ resource - TypeError Unsupported operand type resource for bitwise xor +'010' ^ NULL - TypeError Unsupported operand type null for bitwise xor +'10 elephants' ^ false - TypeError Unsupported operand type bool for bitwise xor +'10 elephants' ^ true - TypeError Unsupported operand type bool for bitwise xor +'10 elephants' ^ 0 - TypeError Operand type mismatch string and int for bitwise xor +'10 elephants' ^ 10 - TypeError Operand type mismatch string and int for bitwise xor +'10 elephants' ^ 0.0 - TypeError Unsupported operand type float for bitwise xor +'10 elephants' ^ 10.0 - TypeError Unsupported operand type float for bitwise xor +'10 elephants' ^ 3.14 - TypeError Unsupported operand type float for bitwise xor +'10 elephants' ^ '0' = base64:AQ== +'10 elephants' ^ '10' = base64:AAA= +'10 elephants' ^ '010' = base64:AQEQ +'10 elephants' ^ '10 elephants' = base64:AAAAAAAAAAAAAAAA +'10 elephants' ^ 'foo' = base64:V19P +'10 elephants' ^ array ( ) - TypeError Unsupported operand type array for bitwise xor +'10 elephants' ^ array ( 0 => 1 ) - TypeError Unsupported operand type array for bitwise xor +'10 elephants' ^ array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for bitwise xor +'10 elephants' ^ array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for bitwise xor +'10 elephants' ^ array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for bitwise xor +'10 elephants' ^ (object) array ( ) - TypeError Unsupported operand type object for bitwise xor +'10 elephants' ^ (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for bitwise xor +'10 elephants' ^ (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for bitwise xor +'10 elephants' ^ DateTime - TypeError Unsupported operand type object for bitwise xor +'10 elephants' ^ resource - TypeError Unsupported operand type resource for bitwise xor +'10 elephants' ^ NULL - TypeError Unsupported operand type null for bitwise xor +'foo' ^ false - TypeError Unsupported operand type bool for bitwise xor +'foo' ^ true - TypeError Unsupported operand type bool for bitwise xor +'foo' ^ 0 - TypeError Operand type mismatch string and int for bitwise xor +'foo' ^ 10 - TypeError Operand type mismatch string and int for bitwise xor +'foo' ^ 0.0 - TypeError Unsupported operand type float for bitwise xor +'foo' ^ 10.0 - TypeError Unsupported operand type float for bitwise xor +'foo' ^ 3.14 - TypeError Unsupported operand type float for bitwise xor +'foo' ^ '0' = base64:Vg== +'foo' ^ '10' = base64:V18= +'foo' ^ '010' = base64:Vl5f +'foo' ^ '10 elephants' = base64:V19P +'foo' ^ 'foo' = base64:AAAA +'foo' ^ array ( ) - TypeError Unsupported operand type array for bitwise xor +'foo' ^ array ( 0 => 1 ) - TypeError Unsupported operand type array for bitwise xor +'foo' ^ array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for bitwise xor +'foo' ^ array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for bitwise xor +'foo' ^ array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for bitwise xor +'foo' ^ (object) array ( ) - TypeError Unsupported operand type object for bitwise xor +'foo' ^ (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for bitwise xor +'foo' ^ (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for bitwise xor +'foo' ^ DateTime - TypeError Unsupported operand type object for bitwise xor +'foo' ^ resource - TypeError Unsupported operand type resource for bitwise xor +'foo' ^ NULL - TypeError Unsupported operand type null for bitwise xor +array ( ) ^ false - TypeError Unsupported operand type array for bitwise xor +array ( ) ^ true - TypeError Unsupported operand type array for bitwise xor +array ( ) ^ 0 - TypeError Unsupported operand type array for bitwise xor +array ( ) ^ 10 - TypeError Unsupported operand type array for bitwise xor +array ( ) ^ 0.0 - TypeError Unsupported operand type array for bitwise xor +array ( ) ^ 10.0 - TypeError Unsupported operand type array for bitwise xor +array ( ) ^ 3.14 - TypeError Unsupported operand type array for bitwise xor +array ( ) ^ '0' - TypeError Unsupported operand type array for bitwise xor +array ( ) ^ '10' - TypeError Unsupported operand type array for bitwise xor +array ( ) ^ '010' - TypeError Unsupported operand type array for bitwise xor +array ( ) ^ '10 elephants' - TypeError Unsupported operand type array for bitwise xor +array ( ) ^ 'foo' - TypeError Unsupported operand type array for bitwise xor +array ( ) ^ array ( ) - TypeError Unsupported operand type array for bitwise xor +array ( ) ^ array ( 0 => 1 ) - TypeError Unsupported operand type array for bitwise xor +array ( ) ^ array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for bitwise xor +array ( ) ^ array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for bitwise xor +array ( ) ^ array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for bitwise xor +array ( ) ^ (object) array ( ) - TypeError Unsupported operand type array for bitwise xor +array ( ) ^ (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for bitwise xor +array ( ) ^ (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for bitwise xor +array ( ) ^ DateTime - TypeError Unsupported operand type array for bitwise xor +array ( ) ^ resource - TypeError Unsupported operand type array for bitwise xor +array ( ) ^ NULL - TypeError Unsupported operand type array for bitwise xor +array ( 0 => 1 ) ^ false - TypeError Unsupported operand type array for bitwise xor +array ( 0 => 1 ) ^ true - TypeError Unsupported operand type array for bitwise xor +array ( 0 => 1 ) ^ 0 - TypeError Unsupported operand type array for bitwise xor +array ( 0 => 1 ) ^ 10 - TypeError Unsupported operand type array for bitwise xor +array ( 0 => 1 ) ^ 0.0 - TypeError Unsupported operand type array for bitwise xor +array ( 0 => 1 ) ^ 10.0 - TypeError Unsupported operand type array for bitwise xor +array ( 0 => 1 ) ^ 3.14 - TypeError Unsupported operand type array for bitwise xor +array ( 0 => 1 ) ^ '0' - TypeError Unsupported operand type array for bitwise xor +array ( 0 => 1 ) ^ '10' - TypeError Unsupported operand type array for bitwise xor +array ( 0 => 1 ) ^ '010' - TypeError Unsupported operand type array for bitwise xor +array ( 0 => 1 ) ^ '10 elephants' - TypeError Unsupported operand type array for bitwise xor +array ( 0 => 1 ) ^ 'foo' - TypeError Unsupported operand type array for bitwise xor +array ( 0 => 1 ) ^ array ( ) - TypeError Unsupported operand type array for bitwise xor +array ( 0 => 1 ) ^ array ( 0 => 1 ) - TypeError Unsupported operand type array for bitwise xor +array ( 0 => 1 ) ^ array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for bitwise xor +array ( 0 => 1 ) ^ array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for bitwise xor +array ( 0 => 1 ) ^ array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for bitwise xor +array ( 0 => 1 ) ^ (object) array ( ) - TypeError Unsupported operand type array for bitwise xor +array ( 0 => 1 ) ^ (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for bitwise xor +array ( 0 => 1 ) ^ (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for bitwise xor +array ( 0 => 1 ) ^ DateTime - TypeError Unsupported operand type array for bitwise xor +array ( 0 => 1 ) ^ resource - TypeError Unsupported operand type array for bitwise xor +array ( 0 => 1 ) ^ NULL - TypeError Unsupported operand type array for bitwise xor +array ( 0 => 1, 1 => 100 ) ^ false - TypeError Unsupported operand type array for bitwise xor +array ( 0 => 1, 1 => 100 ) ^ true - TypeError Unsupported operand type array for bitwise xor +array ( 0 => 1, 1 => 100 ) ^ 0 - TypeError Unsupported operand type array for bitwise xor +array ( 0 => 1, 1 => 100 ) ^ 10 - TypeError Unsupported operand type array for bitwise xor +array ( 0 => 1, 1 => 100 ) ^ 0.0 - TypeError Unsupported operand type array for bitwise xor +array ( 0 => 1, 1 => 100 ) ^ 10.0 - TypeError Unsupported operand type array for bitwise xor +array ( 0 => 1, 1 => 100 ) ^ 3.14 - TypeError Unsupported operand type array for bitwise xor +array ( 0 => 1, 1 => 100 ) ^ '0' - TypeError Unsupported operand type array for bitwise xor +array ( 0 => 1, 1 => 100 ) ^ '10' - TypeError Unsupported operand type array for bitwise xor +array ( 0 => 1, 1 => 100 ) ^ '010' - TypeError Unsupported operand type array for bitwise xor +array ( 0 => 1, 1 => 100 ) ^ '10 elephants' - TypeError Unsupported operand type array for bitwise xor +array ( 0 => 1, 1 => 100 ) ^ 'foo' - TypeError Unsupported operand type array for bitwise xor +array ( 0 => 1, 1 => 100 ) ^ array ( ) - TypeError Unsupported operand type array for bitwise xor +array ( 0 => 1, 1 => 100 ) ^ array ( 0 => 1 ) - TypeError Unsupported operand type array for bitwise xor +array ( 0 => 1, 1 => 100 ) ^ array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for bitwise xor +array ( 0 => 1, 1 => 100 ) ^ array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for bitwise xor +array ( 0 => 1, 1 => 100 ) ^ array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for bitwise xor +array ( 0 => 1, 1 => 100 ) ^ (object) array ( ) - TypeError Unsupported operand type array for bitwise xor +array ( 0 => 1, 1 => 100 ) ^ (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for bitwise xor +array ( 0 => 1, 1 => 100 ) ^ (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for bitwise xor +array ( 0 => 1, 1 => 100 ) ^ DateTime - TypeError Unsupported operand type array for bitwise xor +array ( 0 => 1, 1 => 100 ) ^ resource - TypeError Unsupported operand type array for bitwise xor +array ( 0 => 1, 1 => 100 ) ^ NULL - TypeError Unsupported operand type array for bitwise xor +array ( 'foo' => 1, 'bar' => 2 ) ^ false - TypeError Unsupported operand type array for bitwise xor +array ( 'foo' => 1, 'bar' => 2 ) ^ true - TypeError Unsupported operand type array for bitwise xor +array ( 'foo' => 1, 'bar' => 2 ) ^ 0 - TypeError Unsupported operand type array for bitwise xor +array ( 'foo' => 1, 'bar' => 2 ) ^ 10 - TypeError Unsupported operand type array for bitwise xor +array ( 'foo' => 1, 'bar' => 2 ) ^ 0.0 - TypeError Unsupported operand type array for bitwise xor +array ( 'foo' => 1, 'bar' => 2 ) ^ 10.0 - TypeError Unsupported operand type array for bitwise xor +array ( 'foo' => 1, 'bar' => 2 ) ^ 3.14 - TypeError Unsupported operand type array for bitwise xor +array ( 'foo' => 1, 'bar' => 2 ) ^ '0' - TypeError Unsupported operand type array for bitwise xor +array ( 'foo' => 1, 'bar' => 2 ) ^ '10' - TypeError Unsupported operand type array for bitwise xor +array ( 'foo' => 1, 'bar' => 2 ) ^ '010' - TypeError Unsupported operand type array for bitwise xor +array ( 'foo' => 1, 'bar' => 2 ) ^ '10 elephants' - TypeError Unsupported operand type array for bitwise xor +array ( 'foo' => 1, 'bar' => 2 ) ^ 'foo' - TypeError Unsupported operand type array for bitwise xor +array ( 'foo' => 1, 'bar' => 2 ) ^ array ( ) - TypeError Unsupported operand type array for bitwise xor +array ( 'foo' => 1, 'bar' => 2 ) ^ array ( 0 => 1 ) - TypeError Unsupported operand type array for bitwise xor +array ( 'foo' => 1, 'bar' => 2 ) ^ array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for bitwise xor +array ( 'foo' => 1, 'bar' => 2 ) ^ array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for bitwise xor +array ( 'foo' => 1, 'bar' => 2 ) ^ array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for bitwise xor +array ( 'foo' => 1, 'bar' => 2 ) ^ (object) array ( ) - TypeError Unsupported operand type array for bitwise xor +array ( 'foo' => 1, 'bar' => 2 ) ^ (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for bitwise xor +array ( 'foo' => 1, 'bar' => 2 ) ^ (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for bitwise xor +array ( 'foo' => 1, 'bar' => 2 ) ^ DateTime - TypeError Unsupported operand type array for bitwise xor +array ( 'foo' => 1, 'bar' => 2 ) ^ resource - TypeError Unsupported operand type array for bitwise xor +array ( 'foo' => 1, 'bar' => 2 ) ^ NULL - TypeError Unsupported operand type array for bitwise xor +array ( 'bar' => 1, 'foo' => 2 ) ^ false - TypeError Unsupported operand type array for bitwise xor +array ( 'bar' => 1, 'foo' => 2 ) ^ true - TypeError Unsupported operand type array for bitwise xor +array ( 'bar' => 1, 'foo' => 2 ) ^ 0 - TypeError Unsupported operand type array for bitwise xor +array ( 'bar' => 1, 'foo' => 2 ) ^ 10 - TypeError Unsupported operand type array for bitwise xor +array ( 'bar' => 1, 'foo' => 2 ) ^ 0.0 - TypeError Unsupported operand type array for bitwise xor +array ( 'bar' => 1, 'foo' => 2 ) ^ 10.0 - TypeError Unsupported operand type array for bitwise xor +array ( 'bar' => 1, 'foo' => 2 ) ^ 3.14 - TypeError Unsupported operand type array for bitwise xor +array ( 'bar' => 1, 'foo' => 2 ) ^ '0' - TypeError Unsupported operand type array for bitwise xor +array ( 'bar' => 1, 'foo' => 2 ) ^ '10' - TypeError Unsupported operand type array for bitwise xor +array ( 'bar' => 1, 'foo' => 2 ) ^ '010' - TypeError Unsupported operand type array for bitwise xor +array ( 'bar' => 1, 'foo' => 2 ) ^ '10 elephants' - TypeError Unsupported operand type array for bitwise xor +array ( 'bar' => 1, 'foo' => 2 ) ^ 'foo' - TypeError Unsupported operand type array for bitwise xor +array ( 'bar' => 1, 'foo' => 2 ) ^ array ( ) - TypeError Unsupported operand type array for bitwise xor +array ( 'bar' => 1, 'foo' => 2 ) ^ array ( 0 => 1 ) - TypeError Unsupported operand type array for bitwise xor +array ( 'bar' => 1, 'foo' => 2 ) ^ array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for bitwise xor +array ( 'bar' => 1, 'foo' => 2 ) ^ array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for bitwise xor +array ( 'bar' => 1, 'foo' => 2 ) ^ array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for bitwise xor +array ( 'bar' => 1, 'foo' => 2 ) ^ (object) array ( ) - TypeError Unsupported operand type array for bitwise xor +array ( 'bar' => 1, 'foo' => 2 ) ^ (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for bitwise xor +array ( 'bar' => 1, 'foo' => 2 ) ^ (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for bitwise xor +array ( 'bar' => 1, 'foo' => 2 ) ^ DateTime - TypeError Unsupported operand type array for bitwise xor +array ( 'bar' => 1, 'foo' => 2 ) ^ resource - TypeError Unsupported operand type array for bitwise xor +array ( 'bar' => 1, 'foo' => 2 ) ^ NULL - TypeError Unsupported operand type array for bitwise xor +(object) array ( ) ^ false - TypeError Unsupported operand type object for bitwise xor +(object) array ( ) ^ true - TypeError Unsupported operand type object for bitwise xor +(object) array ( ) ^ 0 - TypeError Unsupported operand type object for bitwise xor +(object) array ( ) ^ 10 - TypeError Unsupported operand type object for bitwise xor +(object) array ( ) ^ 0.0 - TypeError Unsupported operand type object for bitwise xor +(object) array ( ) ^ 10.0 - TypeError Unsupported operand type object for bitwise xor +(object) array ( ) ^ 3.14 - TypeError Unsupported operand type object for bitwise xor +(object) array ( ) ^ '0' - TypeError Unsupported operand type object for bitwise xor +(object) array ( ) ^ '10' - TypeError Unsupported operand type object for bitwise xor +(object) array ( ) ^ '010' - TypeError Unsupported operand type object for bitwise xor +(object) array ( ) ^ '10 elephants' - TypeError Unsupported operand type object for bitwise xor +(object) array ( ) ^ 'foo' - TypeError Unsupported operand type object for bitwise xor +(object) array ( ) ^ array ( ) - TypeError Unsupported operand type object for bitwise xor +(object) array ( ) ^ array ( 0 => 1 ) - TypeError Unsupported operand type object for bitwise xor +(object) array ( ) ^ array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type object for bitwise xor +(object) array ( ) ^ array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for bitwise xor +(object) array ( ) ^ array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for bitwise xor +(object) array ( ) ^ (object) array ( ) - TypeError Unsupported operand type object for bitwise xor +(object) array ( ) ^ (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for bitwise xor +(object) array ( ) ^ (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for bitwise xor +(object) array ( ) ^ DateTime - TypeError Unsupported operand type object for bitwise xor +(object) array ( ) ^ resource - TypeError Unsupported operand type object for bitwise xor +(object) array ( ) ^ NULL - TypeError Unsupported operand type object for bitwise xor +(object) array ( 'foo' => 1, 'bar' => 2 ) ^ false - TypeError Unsupported operand type object for bitwise xor +(object) array ( 'foo' => 1, 'bar' => 2 ) ^ true - TypeError Unsupported operand type object for bitwise xor +(object) array ( 'foo' => 1, 'bar' => 2 ) ^ 0 - TypeError Unsupported operand type object for bitwise xor +(object) array ( 'foo' => 1, 'bar' => 2 ) ^ 10 - TypeError Unsupported operand type object for bitwise xor +(object) array ( 'foo' => 1, 'bar' => 2 ) ^ 0.0 - TypeError Unsupported operand type object for bitwise xor +(object) array ( 'foo' => 1, 'bar' => 2 ) ^ 10.0 - TypeError Unsupported operand type object for bitwise xor +(object) array ( 'foo' => 1, 'bar' => 2 ) ^ 3.14 - TypeError Unsupported operand type object for bitwise xor +(object) array ( 'foo' => 1, 'bar' => 2 ) ^ '0' - TypeError Unsupported operand type object for bitwise xor +(object) array ( 'foo' => 1, 'bar' => 2 ) ^ '10' - TypeError Unsupported operand type object for bitwise xor +(object) array ( 'foo' => 1, 'bar' => 2 ) ^ '010' - TypeError Unsupported operand type object for bitwise xor +(object) array ( 'foo' => 1, 'bar' => 2 ) ^ '10 elephants' - TypeError Unsupported operand type object for bitwise xor +(object) array ( 'foo' => 1, 'bar' => 2 ) ^ 'foo' - TypeError Unsupported operand type object for bitwise xor +(object) array ( 'foo' => 1, 'bar' => 2 ) ^ array ( ) - TypeError Unsupported operand type object for bitwise xor +(object) array ( 'foo' => 1, 'bar' => 2 ) ^ array ( 0 => 1 ) - TypeError Unsupported operand type object for bitwise xor +(object) array ( 'foo' => 1, 'bar' => 2 ) ^ array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type object for bitwise xor +(object) array ( 'foo' => 1, 'bar' => 2 ) ^ array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for bitwise xor +(object) array ( 'foo' => 1, 'bar' => 2 ) ^ array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for bitwise xor +(object) array ( 'foo' => 1, 'bar' => 2 ) ^ (object) array ( ) - TypeError Unsupported operand type object for bitwise xor +(object) array ( 'foo' => 1, 'bar' => 2 ) ^ (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for bitwise xor +(object) array ( 'foo' => 1, 'bar' => 2 ) ^ (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for bitwise xor +(object) array ( 'foo' => 1, 'bar' => 2 ) ^ DateTime - TypeError Unsupported operand type object for bitwise xor +(object) array ( 'foo' => 1, 'bar' => 2 ) ^ resource - TypeError Unsupported operand type object for bitwise xor +(object) array ( 'foo' => 1, 'bar' => 2 ) ^ NULL - TypeError Unsupported operand type object for bitwise xor +(object) array ( 'bar' => 1, 'foo' => 2 ) ^ false - TypeError Unsupported operand type object for bitwise xor +(object) array ( 'bar' => 1, 'foo' => 2 ) ^ true - TypeError Unsupported operand type object for bitwise xor +(object) array ( 'bar' => 1, 'foo' => 2 ) ^ 0 - TypeError Unsupported operand type object for bitwise xor +(object) array ( 'bar' => 1, 'foo' => 2 ) ^ 10 - TypeError Unsupported operand type object for bitwise xor +(object) array ( 'bar' => 1, 'foo' => 2 ) ^ 0.0 - TypeError Unsupported operand type object for bitwise xor +(object) array ( 'bar' => 1, 'foo' => 2 ) ^ 10.0 - TypeError Unsupported operand type object for bitwise xor +(object) array ( 'bar' => 1, 'foo' => 2 ) ^ 3.14 - TypeError Unsupported operand type object for bitwise xor +(object) array ( 'bar' => 1, 'foo' => 2 ) ^ '0' - TypeError Unsupported operand type object for bitwise xor +(object) array ( 'bar' => 1, 'foo' => 2 ) ^ '10' - TypeError Unsupported operand type object for bitwise xor +(object) array ( 'bar' => 1, 'foo' => 2 ) ^ '010' - TypeError Unsupported operand type object for bitwise xor +(object) array ( 'bar' => 1, 'foo' => 2 ) ^ '10 elephants' - TypeError Unsupported operand type object for bitwise xor +(object) array ( 'bar' => 1, 'foo' => 2 ) ^ 'foo' - TypeError Unsupported operand type object for bitwise xor +(object) array ( 'bar' => 1, 'foo' => 2 ) ^ array ( ) - TypeError Unsupported operand type object for bitwise xor +(object) array ( 'bar' => 1, 'foo' => 2 ) ^ array ( 0 => 1 ) - TypeError Unsupported operand type object for bitwise xor +(object) array ( 'bar' => 1, 'foo' => 2 ) ^ array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type object for bitwise xor +(object) array ( 'bar' => 1, 'foo' => 2 ) ^ array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for bitwise xor +(object) array ( 'bar' => 1, 'foo' => 2 ) ^ array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for bitwise xor +(object) array ( 'bar' => 1, 'foo' => 2 ) ^ (object) array ( ) - TypeError Unsupported operand type object for bitwise xor +(object) array ( 'bar' => 1, 'foo' => 2 ) ^ (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for bitwise xor +(object) array ( 'bar' => 1, 'foo' => 2 ) ^ (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for bitwise xor +(object) array ( 'bar' => 1, 'foo' => 2 ) ^ DateTime - TypeError Unsupported operand type object for bitwise xor +(object) array ( 'bar' => 1, 'foo' => 2 ) ^ resource - TypeError Unsupported operand type object for bitwise xor +(object) array ( 'bar' => 1, 'foo' => 2 ) ^ NULL - TypeError Unsupported operand type object for bitwise xor +DateTime ^ false - TypeError Unsupported operand type object for bitwise xor +DateTime ^ true - TypeError Unsupported operand type object for bitwise xor +DateTime ^ 0 - TypeError Unsupported operand type object for bitwise xor +DateTime ^ 10 - TypeError Unsupported operand type object for bitwise xor +DateTime ^ 0.0 - TypeError Unsupported operand type object for bitwise xor +DateTime ^ 10.0 - TypeError Unsupported operand type object for bitwise xor +DateTime ^ 3.14 - TypeError Unsupported operand type object for bitwise xor +DateTime ^ '0' - TypeError Unsupported operand type object for bitwise xor +DateTime ^ '10' - TypeError Unsupported operand type object for bitwise xor +DateTime ^ '010' - TypeError Unsupported operand type object for bitwise xor +DateTime ^ '10 elephants' - TypeError Unsupported operand type object for bitwise xor +DateTime ^ 'foo' - TypeError Unsupported operand type object for bitwise xor +DateTime ^ array ( ) - TypeError Unsupported operand type object for bitwise xor +DateTime ^ array ( 0 => 1 ) - TypeError Unsupported operand type object for bitwise xor +DateTime ^ array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type object for bitwise xor +DateTime ^ array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for bitwise xor +DateTime ^ array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for bitwise xor +DateTime ^ (object) array ( ) - TypeError Unsupported operand type object for bitwise xor +DateTime ^ (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for bitwise xor +DateTime ^ (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for bitwise xor +DateTime ^ DateTime - TypeError Unsupported operand type object for bitwise xor +DateTime ^ resource - TypeError Unsupported operand type object for bitwise xor +DateTime ^ NULL - TypeError Unsupported operand type object for bitwise xor +resource ^ false - TypeError Unsupported operand type resource for bitwise xor +resource ^ true - TypeError Unsupported operand type resource for bitwise xor +resource ^ 0 - TypeError Unsupported operand type resource for bitwise xor +resource ^ 10 - TypeError Unsupported operand type resource for bitwise xor +resource ^ 0.0 - TypeError Unsupported operand type resource for bitwise xor +resource ^ 10.0 - TypeError Unsupported operand type resource for bitwise xor +resource ^ 3.14 - TypeError Unsupported operand type resource for bitwise xor +resource ^ '0' - TypeError Unsupported operand type resource for bitwise xor +resource ^ '10' - TypeError Unsupported operand type resource for bitwise xor +resource ^ '010' - TypeError Unsupported operand type resource for bitwise xor +resource ^ '10 elephants' - TypeError Unsupported operand type resource for bitwise xor +resource ^ 'foo' - TypeError Unsupported operand type resource for bitwise xor +resource ^ array ( ) - TypeError Unsupported operand type resource for bitwise xor +resource ^ array ( 0 => 1 ) - TypeError Unsupported operand type resource for bitwise xor +resource ^ array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type resource for bitwise xor +resource ^ array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type resource for bitwise xor +resource ^ array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type resource for bitwise xor +resource ^ (object) array ( ) - TypeError Unsupported operand type resource for bitwise xor +resource ^ (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type resource for bitwise xor +resource ^ (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type resource for bitwise xor +resource ^ DateTime - TypeError Unsupported operand type resource for bitwise xor +resource ^ resource - TypeError Unsupported operand type resource for bitwise xor +resource ^ NULL - TypeError Unsupported operand type resource for bitwise xor +NULL ^ false - TypeError Unsupported operand type null for bitwise xor +NULL ^ true - TypeError Unsupported operand type null for bitwise xor +NULL ^ 0 - TypeError Unsupported operand type null for bitwise xor +NULL ^ 10 - TypeError Unsupported operand type null for bitwise xor +NULL ^ 0.0 - TypeError Unsupported operand type null for bitwise xor +NULL ^ 10.0 - TypeError Unsupported operand type null for bitwise xor +NULL ^ 3.14 - TypeError Unsupported operand type null for bitwise xor +NULL ^ '0' - TypeError Unsupported operand type null for bitwise xor +NULL ^ '10' - TypeError Unsupported operand type null for bitwise xor +NULL ^ '010' - TypeError Unsupported operand type null for bitwise xor +NULL ^ '10 elephants' - TypeError Unsupported operand type null for bitwise xor +NULL ^ 'foo' - TypeError Unsupported operand type null for bitwise xor +NULL ^ array ( ) - TypeError Unsupported operand type null for bitwise xor +NULL ^ array ( 0 => 1 ) - TypeError Unsupported operand type null for bitwise xor +NULL ^ array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type null for bitwise xor +NULL ^ array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type null for bitwise xor +NULL ^ array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type null for bitwise xor +NULL ^ (object) array ( ) - TypeError Unsupported operand type null for bitwise xor +NULL ^ (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type null for bitwise xor +NULL ^ (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type null for bitwise xor +NULL ^ DateTime - TypeError Unsupported operand type null for bitwise xor +NULL ^ resource - TypeError Unsupported operand type null for bitwise xor +NULL ^ NULL - TypeError Unsupported operand type null for bitwise xor \ No newline at end of file diff --git a/Zend/tests/operators/comparison/equal.phpt b/Zend/tests/operators/comparison/equal.phpt new file mode 100644 index 000000000000..380bc15e6248 --- /dev/null +++ b/Zend/tests/operators/comparison/equal.phpt @@ -0,0 +1,551 @@ +--TEST-- +equal '==' operator +--FILE-- + 0, 'bar' => 2], ['bar' => 2, 'foo' => 0]); +two_operands('$a == $b', $fn, ['foo' => 0, 'bar' => 2], ['bar' => 2, 'foo' => null]); +two_operands('$a == $b', $fn, ['foo' => 0, 'bar' => 2], ['bar' => '2', 'foo' => 0]); +echo "\n"; + +test_two_operands('$a == $b', $fn); + +--EXPECT-- +array ( 'foo' => 0, 'bar' => 2 ) == array ( 'bar' => 2, 'foo' => 0 ) = true +array ( 'foo' => 0, 'bar' => 2 ) == array ( 'bar' => 2, 'foo' => NULL ) = true +array ( 'foo' => 0, 'bar' => 2 ) == array ( 'bar' => '2', 'foo' => 0 ) = true + +false == false = true +false == true = false +false == 0 = true +false == 10 = false +false == 0.0 = true +false == 10.0 = false +false == 3.14 = false +false == '0' = true +false == '10' = false +false == '010' = false +false == '10 elephants' = false +false == 'foo' = false +false == array ( ) = true +false == array ( 0 => 1 ) = false +false == array ( 0 => 1, 1 => 100 ) = false +false == array ( 'foo' => 1, 'bar' => 2 ) = false +false == array ( 'bar' => 1, 'foo' => 2 ) = false +false == (object) array ( ) = false +false == (object) array ( 'foo' => 1, 'bar' => 2 ) = false +false == (object) array ( 'bar' => 1, 'foo' => 2 ) = false +false == DateTime = false +false == resource = false +false == NULL = true +true == false = false +true == true = true +true == 0 = false +true == 10 = true +true == 0.0 = false +true == 10.0 = true +true == 3.14 = true +true == '0' = false +true == '10' = true +true == '010' = true +true == '10 elephants' = true +true == 'foo' = true +true == array ( ) = false +true == array ( 0 => 1 ) = true +true == array ( 0 => 1, 1 => 100 ) = true +true == array ( 'foo' => 1, 'bar' => 2 ) = true +true == array ( 'bar' => 1, 'foo' => 2 ) = true +true == (object) array ( ) = true +true == (object) array ( 'foo' => 1, 'bar' => 2 ) = true +true == (object) array ( 'bar' => 1, 'foo' => 2 ) = true +true == DateTime = true +true == resource = true +true == NULL = false +0 == false = true +0 == true = false +0 == 0 = true +0 == 10 = false +0 == 0.0 = true +0 == 10.0 = false +0 == 3.14 = false +0 == '0' = true +0 == '10' = false +0 == '010' = false +0 == '10 elephants' = false +0 == 'foo' = true +0 == array ( ) = false +0 == array ( 0 => 1 ) = false +0 == array ( 0 => 1, 1 => 100 ) = false +0 == array ( 'foo' => 1, 'bar' => 2 ) = false +0 == array ( 'bar' => 1, 'foo' => 2 ) = false +0 == (object) array ( ) = false - Notice Object of class stdClass could not be converted to int +0 == (object) array ( 'foo' => 1, 'bar' => 2 ) = false - Notice Object of class stdClass could not be converted to int +0 == (object) array ( 'bar' => 1, 'foo' => 2 ) = false - Notice Object of class stdClass could not be converted to int +0 == DateTime = false - Notice Object of class DateTime could not be converted to int +0 == resource = false +0 == NULL = true +10 == false = false +10 == true = true +10 == 0 = false +10 == 10 = true +10 == 0.0 = false +10 == 10.0 = true +10 == 3.14 = false +10 == '0' = false +10 == '10' = true +10 == '010' = true +10 == '10 elephants' = true +10 == 'foo' = false +10 == array ( ) = false +10 == array ( 0 => 1 ) = false +10 == array ( 0 => 1, 1 => 100 ) = false +10 == array ( 'foo' => 1, 'bar' => 2 ) = false +10 == array ( 'bar' => 1, 'foo' => 2 ) = false +10 == (object) array ( ) = false - Notice Object of class stdClass could not be converted to int +10 == (object) array ( 'foo' => 1, 'bar' => 2 ) = false - Notice Object of class stdClass could not be converted to int +10 == (object) array ( 'bar' => 1, 'foo' => 2 ) = false - Notice Object of class stdClass could not be converted to int +10 == DateTime = false - Notice Object of class DateTime could not be converted to int +10 == resource = false +10 == NULL = false +0.0 == false = true +0.0 == true = false +0.0 == 0 = true +0.0 == 10 = false +0.0 == 0.0 = true +0.0 == 10.0 = false +0.0 == 3.14 = false +0.0 == '0' = true +0.0 == '10' = false +0.0 == '010' = false +0.0 == '10 elephants' = false +0.0 == 'foo' = true +0.0 == array ( ) = false +0.0 == array ( 0 => 1 ) = false +0.0 == array ( 0 => 1, 1 => 100 ) = false +0.0 == array ( 'foo' => 1, 'bar' => 2 ) = false +0.0 == array ( 'bar' => 1, 'foo' => 2 ) = false +0.0 == (object) array ( ) = false - Notice Object of class stdClass could not be converted to float +0.0 == (object) array ( 'foo' => 1, 'bar' => 2 ) = false - Notice Object of class stdClass could not be converted to float +0.0 == (object) array ( 'bar' => 1, 'foo' => 2 ) = false - Notice Object of class stdClass could not be converted to float +0.0 == DateTime = false - Notice Object of class DateTime could not be converted to float +0.0 == resource = false +0.0 == NULL = true +10.0 == false = false +10.0 == true = true +10.0 == 0 = false +10.0 == 10 = true +10.0 == 0.0 = false +10.0 == 10.0 = true +10.0 == 3.14 = false +10.0 == '0' = false +10.0 == '10' = true +10.0 == '010' = true +10.0 == '10 elephants' = true +10.0 == 'foo' = false +10.0 == array ( ) = false +10.0 == array ( 0 => 1 ) = false +10.0 == array ( 0 => 1, 1 => 100 ) = false +10.0 == array ( 'foo' => 1, 'bar' => 2 ) = false +10.0 == array ( 'bar' => 1, 'foo' => 2 ) = false +10.0 == (object) array ( ) = false - Notice Object of class stdClass could not be converted to float +10.0 == (object) array ( 'foo' => 1, 'bar' => 2 ) = false - Notice Object of class stdClass could not be converted to float +10.0 == (object) array ( 'bar' => 1, 'foo' => 2 ) = false - Notice Object of class stdClass could not be converted to float +10.0 == DateTime = false - Notice Object of class DateTime could not be converted to float +10.0 == resource = false +10.0 == NULL = false +3.14 == false = false +3.14 == true = true +3.14 == 0 = false +3.14 == 10 = false +3.14 == 0.0 = false +3.14 == 10.0 = false +3.14 == 3.14 = true +3.14 == '0' = false +3.14 == '10' = false +3.14 == '010' = false +3.14 == '10 elephants' = false +3.14 == 'foo' = false +3.14 == array ( ) = false +3.14 == array ( 0 => 1 ) = false +3.14 == array ( 0 => 1, 1 => 100 ) = false +3.14 == array ( 'foo' => 1, 'bar' => 2 ) = false +3.14 == array ( 'bar' => 1, 'foo' => 2 ) = false +3.14 == (object) array ( ) = false - Notice Object of class stdClass could not be converted to float +3.14 == (object) array ( 'foo' => 1, 'bar' => 2 ) = false - Notice Object of class stdClass could not be converted to float +3.14 == (object) array ( 'bar' => 1, 'foo' => 2 ) = false - Notice Object of class stdClass could not be converted to float +3.14 == DateTime = false - Notice Object of class DateTime could not be converted to float +3.14 == resource = false +3.14 == NULL = false +'0' == false = true +'0' == true = false +'0' == 0 = true +'0' == 10 = false +'0' == 0.0 = true +'0' == 10.0 = false +'0' == 3.14 = false +'0' == '0' = true +'0' == '10' = false +'0' == '010' = false +'0' == '10 elephants' = false +'0' == 'foo' = false +'0' == array ( ) = false +'0' == array ( 0 => 1 ) = false +'0' == array ( 0 => 1, 1 => 100 ) = false +'0' == array ( 'foo' => 1, 'bar' => 2 ) = false +'0' == array ( 'bar' => 1, 'foo' => 2 ) = false +'0' == (object) array ( ) = false +'0' == (object) array ( 'foo' => 1, 'bar' => 2 ) = false +'0' == (object) array ( 'bar' => 1, 'foo' => 2 ) = false +'0' == DateTime = false +'0' == resource = false +'0' == NULL = false +'10' == false = false +'10' == true = true +'10' == 0 = false +'10' == 10 = true +'10' == 0.0 = false +'10' == 10.0 = true +'10' == 3.14 = false +'10' == '0' = false +'10' == '10' = true +'10' == '010' = true +'10' == '10 elephants' = false +'10' == 'foo' = false +'10' == array ( ) = false +'10' == array ( 0 => 1 ) = false +'10' == array ( 0 => 1, 1 => 100 ) = false +'10' == array ( 'foo' => 1, 'bar' => 2 ) = false +'10' == array ( 'bar' => 1, 'foo' => 2 ) = false +'10' == (object) array ( ) = false +'10' == (object) array ( 'foo' => 1, 'bar' => 2 ) = false +'10' == (object) array ( 'bar' => 1, 'foo' => 2 ) = false +'10' == DateTime = false +'10' == resource = false +'10' == NULL = false +'010' == false = false +'010' == true = true +'010' == 0 = false +'010' == 10 = true +'010' == 0.0 = false +'010' == 10.0 = true +'010' == 3.14 = false +'010' == '0' = false +'010' == '10' = true +'010' == '010' = true +'010' == '10 elephants' = false +'010' == 'foo' = false +'010' == array ( ) = false +'010' == array ( 0 => 1 ) = false +'010' == array ( 0 => 1, 1 => 100 ) = false +'010' == array ( 'foo' => 1, 'bar' => 2 ) = false +'010' == array ( 'bar' => 1, 'foo' => 2 ) = false +'010' == (object) array ( ) = false +'010' == (object) array ( 'foo' => 1, 'bar' => 2 ) = false +'010' == (object) array ( 'bar' => 1, 'foo' => 2 ) = false +'010' == DateTime = false +'010' == resource = false +'010' == NULL = false +'10 elephants' == false = false +'10 elephants' == true = true +'10 elephants' == 0 = false +'10 elephants' == 10 = true +'10 elephants' == 0.0 = false +'10 elephants' == 10.0 = true +'10 elephants' == 3.14 = false +'10 elephants' == '0' = false +'10 elephants' == '10' = false +'10 elephants' == '010' = false +'10 elephants' == '10 elephants' = true +'10 elephants' == 'foo' = false +'10 elephants' == array ( ) = false +'10 elephants' == array ( 0 => 1 ) = false +'10 elephants' == array ( 0 => 1, 1 => 100 ) = false +'10 elephants' == array ( 'foo' => 1, 'bar' => 2 ) = false +'10 elephants' == array ( 'bar' => 1, 'foo' => 2 ) = false +'10 elephants' == (object) array ( ) = false +'10 elephants' == (object) array ( 'foo' => 1, 'bar' => 2 ) = false +'10 elephants' == (object) array ( 'bar' => 1, 'foo' => 2 ) = false +'10 elephants' == DateTime = false +'10 elephants' == resource = false +'10 elephants' == NULL = false +'foo' == false = false +'foo' == true = true +'foo' == 0 = true +'foo' == 10 = false +'foo' == 0.0 = true +'foo' == 10.0 = false +'foo' == 3.14 = false +'foo' == '0' = false +'foo' == '10' = false +'foo' == '010' = false +'foo' == '10 elephants' = false +'foo' == 'foo' = true +'foo' == array ( ) = false +'foo' == array ( 0 => 1 ) = false +'foo' == array ( 0 => 1, 1 => 100 ) = false +'foo' == array ( 'foo' => 1, 'bar' => 2 ) = false +'foo' == array ( 'bar' => 1, 'foo' => 2 ) = false +'foo' == (object) array ( ) = false +'foo' == (object) array ( 'foo' => 1, 'bar' => 2 ) = false +'foo' == (object) array ( 'bar' => 1, 'foo' => 2 ) = false +'foo' == DateTime = false +'foo' == resource = false +'foo' == NULL = false +array ( ) == false = true +array ( ) == true = false +array ( ) == 0 = false +array ( ) == 10 = false +array ( ) == 0.0 = false +array ( ) == 10.0 = false +array ( ) == 3.14 = false +array ( ) == '0' = false +array ( ) == '10' = false +array ( ) == '010' = false +array ( ) == '10 elephants' = false +array ( ) == 'foo' = false +array ( ) == array ( ) = true +array ( ) == array ( 0 => 1 ) = false +array ( ) == array ( 0 => 1, 1 => 100 ) = false +array ( ) == array ( 'foo' => 1, 'bar' => 2 ) = false +array ( ) == array ( 'bar' => 1, 'foo' => 2 ) = false +array ( ) == (object) array ( ) = false +array ( ) == (object) array ( 'foo' => 1, 'bar' => 2 ) = false +array ( ) == (object) array ( 'bar' => 1, 'foo' => 2 ) = false +array ( ) == DateTime = false +array ( ) == resource = false +array ( ) == NULL = true +array ( 0 => 1 ) == false = false +array ( 0 => 1 ) == true = true +array ( 0 => 1 ) == 0 = false +array ( 0 => 1 ) == 10 = false +array ( 0 => 1 ) == 0.0 = false +array ( 0 => 1 ) == 10.0 = false +array ( 0 => 1 ) == 3.14 = false +array ( 0 => 1 ) == '0' = false +array ( 0 => 1 ) == '10' = false +array ( 0 => 1 ) == '010' = false +array ( 0 => 1 ) == '10 elephants' = false +array ( 0 => 1 ) == 'foo' = false +array ( 0 => 1 ) == array ( ) = false +array ( 0 => 1 ) == array ( 0 => 1 ) = true +array ( 0 => 1 ) == array ( 0 => 1, 1 => 100 ) = false +array ( 0 => 1 ) == array ( 'foo' => 1, 'bar' => 2 ) = false +array ( 0 => 1 ) == array ( 'bar' => 1, 'foo' => 2 ) = false +array ( 0 => 1 ) == (object) array ( ) = false +array ( 0 => 1 ) == (object) array ( 'foo' => 1, 'bar' => 2 ) = false +array ( 0 => 1 ) == (object) array ( 'bar' => 1, 'foo' => 2 ) = false +array ( 0 => 1 ) == DateTime = false +array ( 0 => 1 ) == resource = false +array ( 0 => 1 ) == NULL = false +array ( 0 => 1, 1 => 100 ) == false = false +array ( 0 => 1, 1 => 100 ) == true = true +array ( 0 => 1, 1 => 100 ) == 0 = false +array ( 0 => 1, 1 => 100 ) == 10 = false +array ( 0 => 1, 1 => 100 ) == 0.0 = false +array ( 0 => 1, 1 => 100 ) == 10.0 = false +array ( 0 => 1, 1 => 100 ) == 3.14 = false +array ( 0 => 1, 1 => 100 ) == '0' = false +array ( 0 => 1, 1 => 100 ) == '10' = false +array ( 0 => 1, 1 => 100 ) == '010' = false +array ( 0 => 1, 1 => 100 ) == '10 elephants' = false +array ( 0 => 1, 1 => 100 ) == 'foo' = false +array ( 0 => 1, 1 => 100 ) == array ( ) = false +array ( 0 => 1, 1 => 100 ) == array ( 0 => 1 ) = false +array ( 0 => 1, 1 => 100 ) == array ( 0 => 1, 1 => 100 ) = true +array ( 0 => 1, 1 => 100 ) == array ( 'foo' => 1, 'bar' => 2 ) = false +array ( 0 => 1, 1 => 100 ) == array ( 'bar' => 1, 'foo' => 2 ) = false +array ( 0 => 1, 1 => 100 ) == (object) array ( ) = false +array ( 0 => 1, 1 => 100 ) == (object) array ( 'foo' => 1, 'bar' => 2 ) = false +array ( 0 => 1, 1 => 100 ) == (object) array ( 'bar' => 1, 'foo' => 2 ) = false +array ( 0 => 1, 1 => 100 ) == DateTime = false +array ( 0 => 1, 1 => 100 ) == resource = false +array ( 0 => 1, 1 => 100 ) == NULL = false +array ( 'foo' => 1, 'bar' => 2 ) == false = false +array ( 'foo' => 1, 'bar' => 2 ) == true = true +array ( 'foo' => 1, 'bar' => 2 ) == 0 = false +array ( 'foo' => 1, 'bar' => 2 ) == 10 = false +array ( 'foo' => 1, 'bar' => 2 ) == 0.0 = false +array ( 'foo' => 1, 'bar' => 2 ) == 10.0 = false +array ( 'foo' => 1, 'bar' => 2 ) == 3.14 = false +array ( 'foo' => 1, 'bar' => 2 ) == '0' = false +array ( 'foo' => 1, 'bar' => 2 ) == '10' = false +array ( 'foo' => 1, 'bar' => 2 ) == '010' = false +array ( 'foo' => 1, 'bar' => 2 ) == '10 elephants' = false +array ( 'foo' => 1, 'bar' => 2 ) == 'foo' = false +array ( 'foo' => 1, 'bar' => 2 ) == array ( ) = false +array ( 'foo' => 1, 'bar' => 2 ) == array ( 0 => 1 ) = false +array ( 'foo' => 1, 'bar' => 2 ) == array ( 0 => 1, 1 => 100 ) = false +array ( 'foo' => 1, 'bar' => 2 ) == array ( 'foo' => 1, 'bar' => 2 ) = true +array ( 'foo' => 1, 'bar' => 2 ) == array ( 'bar' => 1, 'foo' => 2 ) = false +array ( 'foo' => 1, 'bar' => 2 ) == (object) array ( ) = false +array ( 'foo' => 1, 'bar' => 2 ) == (object) array ( 'foo' => 1, 'bar' => 2 ) = false +array ( 'foo' => 1, 'bar' => 2 ) == (object) array ( 'bar' => 1, 'foo' => 2 ) = false +array ( 'foo' => 1, 'bar' => 2 ) == DateTime = false +array ( 'foo' => 1, 'bar' => 2 ) == resource = false +array ( 'foo' => 1, 'bar' => 2 ) == NULL = false +array ( 'bar' => 1, 'foo' => 2 ) == false = false +array ( 'bar' => 1, 'foo' => 2 ) == true = true +array ( 'bar' => 1, 'foo' => 2 ) == 0 = false +array ( 'bar' => 1, 'foo' => 2 ) == 10 = false +array ( 'bar' => 1, 'foo' => 2 ) == 0.0 = false +array ( 'bar' => 1, 'foo' => 2 ) == 10.0 = false +array ( 'bar' => 1, 'foo' => 2 ) == 3.14 = false +array ( 'bar' => 1, 'foo' => 2 ) == '0' = false +array ( 'bar' => 1, 'foo' => 2 ) == '10' = false +array ( 'bar' => 1, 'foo' => 2 ) == '010' = false +array ( 'bar' => 1, 'foo' => 2 ) == '10 elephants' = false +array ( 'bar' => 1, 'foo' => 2 ) == 'foo' = false +array ( 'bar' => 1, 'foo' => 2 ) == array ( ) = false +array ( 'bar' => 1, 'foo' => 2 ) == array ( 0 => 1 ) = false +array ( 'bar' => 1, 'foo' => 2 ) == array ( 0 => 1, 1 => 100 ) = false +array ( 'bar' => 1, 'foo' => 2 ) == array ( 'foo' => 1, 'bar' => 2 ) = false +array ( 'bar' => 1, 'foo' => 2 ) == array ( 'bar' => 1, 'foo' => 2 ) = true +array ( 'bar' => 1, 'foo' => 2 ) == (object) array ( ) = false +array ( 'bar' => 1, 'foo' => 2 ) == (object) array ( 'foo' => 1, 'bar' => 2 ) = false +array ( 'bar' => 1, 'foo' => 2 ) == (object) array ( 'bar' => 1, 'foo' => 2 ) = false +array ( 'bar' => 1, 'foo' => 2 ) == DateTime = false +array ( 'bar' => 1, 'foo' => 2 ) == resource = false +array ( 'bar' => 1, 'foo' => 2 ) == NULL = false +(object) array ( ) == false = false +(object) array ( ) == true = true +(object) array ( ) == 0 = false - Notice Object of class stdClass could not be converted to int +(object) array ( ) == 10 = false - Notice Object of class stdClass could not be converted to int +(object) array ( ) == 0.0 = false - Notice Object of class stdClass could not be converted to float +(object) array ( ) == 10.0 = false - Notice Object of class stdClass could not be converted to float +(object) array ( ) == 3.14 = false - Notice Object of class stdClass could not be converted to float +(object) array ( ) == '0' = false +(object) array ( ) == '10' = false +(object) array ( ) == '010' = false +(object) array ( ) == '10 elephants' = false +(object) array ( ) == 'foo' = false +(object) array ( ) == array ( ) = false +(object) array ( ) == array ( 0 => 1 ) = false +(object) array ( ) == array ( 0 => 1, 1 => 100 ) = false +(object) array ( ) == array ( 'foo' => 1, 'bar' => 2 ) = false +(object) array ( ) == array ( 'bar' => 1, 'foo' => 2 ) = false +(object) array ( ) == (object) array ( ) = true +(object) array ( ) == (object) array ( 'foo' => 1, 'bar' => 2 ) = false +(object) array ( ) == (object) array ( 'bar' => 1, 'foo' => 2 ) = false +(object) array ( ) == DateTime = false +(object) array ( ) == resource = false +(object) array ( ) == NULL = false +(object) array ( 'foo' => 1, 'bar' => 2 ) == false = false +(object) array ( 'foo' => 1, 'bar' => 2 ) == true = true +(object) array ( 'foo' => 1, 'bar' => 2 ) == 0 = false - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) == 10 = false - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) == 0.0 = false - Notice Object of class stdClass could not be converted to float +(object) array ( 'foo' => 1, 'bar' => 2 ) == 10.0 = false - Notice Object of class stdClass could not be converted to float +(object) array ( 'foo' => 1, 'bar' => 2 ) == 3.14 = false - Notice Object of class stdClass could not be converted to float +(object) array ( 'foo' => 1, 'bar' => 2 ) == '0' = false +(object) array ( 'foo' => 1, 'bar' => 2 ) == '10' = false +(object) array ( 'foo' => 1, 'bar' => 2 ) == '010' = false +(object) array ( 'foo' => 1, 'bar' => 2 ) == '10 elephants' = false +(object) array ( 'foo' => 1, 'bar' => 2 ) == 'foo' = false +(object) array ( 'foo' => 1, 'bar' => 2 ) == array ( ) = false +(object) array ( 'foo' => 1, 'bar' => 2 ) == array ( 0 => 1 ) = false +(object) array ( 'foo' => 1, 'bar' => 2 ) == array ( 0 => 1, 1 => 100 ) = false +(object) array ( 'foo' => 1, 'bar' => 2 ) == array ( 'foo' => 1, 'bar' => 2 ) = false +(object) array ( 'foo' => 1, 'bar' => 2 ) == array ( 'bar' => 1, 'foo' => 2 ) = false +(object) array ( 'foo' => 1, 'bar' => 2 ) == (object) array ( ) = false +(object) array ( 'foo' => 1, 'bar' => 2 ) == (object) array ( 'foo' => 1, 'bar' => 2 ) = true +(object) array ( 'foo' => 1, 'bar' => 2 ) == (object) array ( 'bar' => 1, 'foo' => 2 ) = false +(object) array ( 'foo' => 1, 'bar' => 2 ) == DateTime = false +(object) array ( 'foo' => 1, 'bar' => 2 ) == resource = false +(object) array ( 'foo' => 1, 'bar' => 2 ) == NULL = false +(object) array ( 'bar' => 1, 'foo' => 2 ) == false = false +(object) array ( 'bar' => 1, 'foo' => 2 ) == true = true +(object) array ( 'bar' => 1, 'foo' => 2 ) == 0 = false - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) == 10 = false - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) == 0.0 = false - Notice Object of class stdClass could not be converted to float +(object) array ( 'bar' => 1, 'foo' => 2 ) == 10.0 = false - Notice Object of class stdClass could not be converted to float +(object) array ( 'bar' => 1, 'foo' => 2 ) == 3.14 = false - Notice Object of class stdClass could not be converted to float +(object) array ( 'bar' => 1, 'foo' => 2 ) == '0' = false +(object) array ( 'bar' => 1, 'foo' => 2 ) == '10' = false +(object) array ( 'bar' => 1, 'foo' => 2 ) == '010' = false +(object) array ( 'bar' => 1, 'foo' => 2 ) == '10 elephants' = false +(object) array ( 'bar' => 1, 'foo' => 2 ) == 'foo' = false +(object) array ( 'bar' => 1, 'foo' => 2 ) == array ( ) = false +(object) array ( 'bar' => 1, 'foo' => 2 ) == array ( 0 => 1 ) = false +(object) array ( 'bar' => 1, 'foo' => 2 ) == array ( 0 => 1, 1 => 100 ) = false +(object) array ( 'bar' => 1, 'foo' => 2 ) == array ( 'foo' => 1, 'bar' => 2 ) = false +(object) array ( 'bar' => 1, 'foo' => 2 ) == array ( 'bar' => 1, 'foo' => 2 ) = false +(object) array ( 'bar' => 1, 'foo' => 2 ) == (object) array ( ) = false +(object) array ( 'bar' => 1, 'foo' => 2 ) == (object) array ( 'foo' => 1, 'bar' => 2 ) = false +(object) array ( 'bar' => 1, 'foo' => 2 ) == (object) array ( 'bar' => 1, 'foo' => 2 ) = true +(object) array ( 'bar' => 1, 'foo' => 2 ) == DateTime = false +(object) array ( 'bar' => 1, 'foo' => 2 ) == resource = false +(object) array ( 'bar' => 1, 'foo' => 2 ) == NULL = false +DateTime == false = false +DateTime == true = true +DateTime == 0 = false - Notice Object of class DateTime could not be converted to int +DateTime == 10 = false - Notice Object of class DateTime could not be converted to int +DateTime == 0.0 = false - Notice Object of class DateTime could not be converted to float +DateTime == 10.0 = false - Notice Object of class DateTime could not be converted to float +DateTime == 3.14 = false - Notice Object of class DateTime could not be converted to float +DateTime == '0' = false +DateTime == '10' = false +DateTime == '010' = false +DateTime == '10 elephants' = false +DateTime == 'foo' = false +DateTime == array ( ) = false +DateTime == array ( 0 => 1 ) = false +DateTime == array ( 0 => 1, 1 => 100 ) = false +DateTime == array ( 'foo' => 1, 'bar' => 2 ) = false +DateTime == array ( 'bar' => 1, 'foo' => 2 ) = false +DateTime == (object) array ( ) = false +DateTime == (object) array ( 'foo' => 1, 'bar' => 2 ) = false +DateTime == (object) array ( 'bar' => 1, 'foo' => 2 ) = false +DateTime == DateTime = true +DateTime == resource = false +DateTime == NULL = false +resource == false = false +resource == true = true +resource == 0 = false +resource == 10 = false +resource == 0.0 = false +resource == 10.0 = false +resource == 3.14 = false +resource == '0' = false +resource == '10' = false +resource == '010' = false +resource == '10 elephants' = false +resource == 'foo' = false +resource == array ( ) = false +resource == array ( 0 => 1 ) = false +resource == array ( 0 => 1, 1 => 100 ) = false +resource == array ( 'foo' => 1, 'bar' => 2 ) = false +resource == array ( 'bar' => 1, 'foo' => 2 ) = false +resource == (object) array ( ) = false +resource == (object) array ( 'foo' => 1, 'bar' => 2 ) = false +resource == (object) array ( 'bar' => 1, 'foo' => 2 ) = false +resource == DateTime = false +resource == resource = true +resource == NULL = false +NULL == false = true +NULL == true = false +NULL == 0 = true +NULL == 10 = false +NULL == 0.0 = true +NULL == 10.0 = false +NULL == 3.14 = false +NULL == '0' = false +NULL == '10' = false +NULL == '010' = false +NULL == '10 elephants' = false +NULL == 'foo' = false +NULL == array ( ) = true +NULL == array ( 0 => 1 ) = false +NULL == array ( 0 => 1, 1 => 100 ) = false +NULL == array ( 'foo' => 1, 'bar' => 2 ) = false +NULL == array ( 'bar' => 1, 'foo' => 2 ) = false +NULL == (object) array ( ) = false +NULL == (object) array ( 'foo' => 1, 'bar' => 2 ) = false +NULL == (object) array ( 'bar' => 1, 'foo' => 2 ) = false +NULL == DateTime = false +NULL == resource = false +NULL == NULL = true \ No newline at end of file diff --git a/Zend/tests/operators/comparison/equal_array.phpt b/Zend/tests/operators/comparison/equal_array.phpt new file mode 100644 index 000000000000..ece08b9d61e9 --- /dev/null +++ b/Zend/tests/operators/comparison/equal_array.phpt @@ -0,0 +1,25 @@ +--TEST-- +equal '==' operator using array operands +--FILE-- + 0, 'bar' => 2], ['bar' => 2, 'foo' => 0]); +two_operands('$a == $b', $fn, ['foo' => 0, 'bar' => 2], ['bar' => 2, 'foo' => null]); +two_operands('$a == $b', $fn, ['foo' => 0, 'bar' => 2], ['bar' => '2', 'foo' => 0]); + +two_operands('$a == $b', $fn, ['a' => ['foo' => 0, 'bar' => 2]], ['a' => ['bar' => 2, 'foo' => 0]]); +two_operands('$a == $b', $fn, ['a' => ['foo' => 0, 'bar' => 2]], ['a' => ['bar' => 2, 'foo' => null]]); +two_operands('$a == $b', $fn, ['a' => ['foo' => 0, 'bar' => 2]], ['a' => ['bar' => '2', 'foo' => 0]]); + +--EXPECT-- +array ( 'foo' => 0, 'bar' => 2 ) == array ( 'bar' => 2, 'foo' => 0 ) = true +array ( 'foo' => 0, 'bar' => 2 ) == array ( 'bar' => 2, 'foo' => NULL ) = true +array ( 'foo' => 0, 'bar' => 2 ) == array ( 'bar' => '2', 'foo' => 0 ) = true +array ( 'a' => array ( 'foo' => 0, 'bar' => 2 ) ) == array ( 'a' => array ( 'bar' => 2, 'foo' => 0 ) ) = true +array ( 'a' => array ( 'foo' => 0, 'bar' => 2 ) ) == array ( 'a' => array ( 'bar' => 2, 'foo' => NULL ) ) = true +array ( 'a' => array ( 'foo' => 0, 'bar' => 2 ) ) == array ( 'a' => array ( 'bar' => '2', 'foo' => 0 ) ) = true \ No newline at end of file diff --git a/Zend/tests/operators/comparison/equal_array_strict.phpt b/Zend/tests/operators/comparison/equal_array_strict.phpt new file mode 100644 index 000000000000..80e5d7c838c8 --- /dev/null +++ b/Zend/tests/operators/comparison/equal_array_strict.phpt @@ -0,0 +1,27 @@ +--TEST-- +equal '==' operator using array operands with strict_operators +--FILE-- + 0, 'bar' => 2], ['bar' => 2, 'foo' => 0]); +two_operands('$a == $b', $fn, ['foo' => 0, 'bar' => 2], ['bar' => 2, 'foo' => null]); +two_operands('$a == $b', $fn, ['foo' => 0, 'bar' => 2], ['bar' => '2', 'foo' => 0]); + +two_operands('$a == $b', $fn, ['a' => ['foo' => 0, 'bar' => 2]], ['a' => ['bar' => 2, 'foo' => 0]]); +two_operands('$a == $b', $fn, ['a' => ['foo' => 0, 'bar' => 2]], ['a' => ['bar' => 2, 'foo' => null]]); +two_operands('$a == $b', $fn, ['a' => ['foo' => 0, 'bar' => 2]], ['a' => ['bar' => '2', 'foo' => 0]]); + +--EXPECT-- +array ( 'foo' => 0, 'bar' => 2 ) == array ( 'bar' => 2, 'foo' => 0 ) = true +array ( 'foo' => 0, 'bar' => 2 ) == array ( 'bar' => 2, 'foo' => NULL ) = false +array ( 'foo' => 0, 'bar' => 2 ) == array ( 'bar' => '2', 'foo' => 0 ) = false +array ( 'a' => array ( 'foo' => 0, 'bar' => 2 ) ) == array ( 'a' => array ( 'bar' => 2, 'foo' => 0 ) ) = true +array ( 'a' => array ( 'foo' => 0, 'bar' => 2 ) ) == array ( 'a' => array ( 'bar' => 2, 'foo' => NULL ) ) = false +array ( 'a' => array ( 'foo' => 0, 'bar' => 2 ) ) == array ( 'a' => array ( 'bar' => '2', 'foo' => 0 ) ) = false \ No newline at end of file diff --git a/Zend/tests/operators/comparison/equal_object.phpt b/Zend/tests/operators/comparison/equal_object.phpt new file mode 100644 index 000000000000..52194e5562ae --- /dev/null +++ b/Zend/tests/operators/comparison/equal_object.phpt @@ -0,0 +1,32 @@ +--TEST-- +equal '==' operator using array operands +--FILE-- + 0, 'bar' => 2], (object)['bar' => 2, 'foo' => 0]); +two_operands('$a == $b', $fn, (object)['foo' => 0, 'bar' => 2], (object)['bar' => 2, 'foo' => null]); +two_operands('$a == $b', $fn, (object)['foo' => 0, 'bar' => 2], (object)['bar' => '2', 'foo' => 0]); + +two_operands('$a == $b', $fn, (object)['a' => ['foo' => 0, 'bar' => 2]], (object)['a' => ['bar' => 2, 'foo' => 0]]); +two_operands('$a == $b', $fn, (object)['a' => ['foo' => 0, 'bar' => 2]], (object)['a' => ['bar' => 2, 'foo' => null]]); +two_operands('$a == $b', $fn, (object)['a' => ['foo' => 0, 'bar' => 2]], (object)['a' => ['bar' => '2', 'foo' => 0]]); + +two_operands('$a == $b', $fn, (object)['a' => (object)['foo' => 0, 'bar' => 2]], (object)['a' => (object)['bar' => 2, 'foo' => 0]]); +two_operands('$a == $b', $fn, (object)['a' => (object)['foo' => 0, 'bar' => 2]], (object)['a' => (object)['bar' => 2, 'foo' => null]]); +two_operands('$a == $b', $fn, (object)['a' => (object)['foo' => 0, 'bar' => 2]], (object)['a' => (object)['bar' => '2', 'foo' => 0]]); + +--EXPECT-- +(object) array ( 'foo' => 0, 'bar' => 2 ) == (object) array ( 'bar' => 2, 'foo' => 0 ) = true +(object) array ( 'foo' => 0, 'bar' => 2 ) == (object) array ( 'bar' => 2, 'foo' => NULL ) = true +(object) array ( 'foo' => 0, 'bar' => 2 ) == (object) array ( 'bar' => '2', 'foo' => 0 ) = true +(object) array ( 'a' => array ( 'foo' => 0, 'bar' => 2 ) ) == (object) array ( 'a' => array ( 'bar' => 2, 'foo' => 0 ) ) = true +(object) array ( 'a' => array ( 'foo' => 0, 'bar' => 2 ) ) == (object) array ( 'a' => array ( 'bar' => 2, 'foo' => NULL ) ) = true +(object) array ( 'a' => array ( 'foo' => 0, 'bar' => 2 ) ) == (object) array ( 'a' => array ( 'bar' => '2', 'foo' => 0 ) ) = true +(object) array ( 'a' => (object) array( 'foo' => 0, 'bar' => 2 ) ) == (object) array ( 'a' => (object) array( 'bar' => 2, 'foo' => 0 ) ) = true +(object) array ( 'a' => (object) array( 'foo' => 0, 'bar' => 2 ) ) == (object) array ( 'a' => (object) array( 'bar' => 2, 'foo' => NULL ) ) = true +(object) array ( 'a' => (object) array( 'foo' => 0, 'bar' => 2 ) ) == (object) array ( 'a' => (object) array( 'bar' => '2', 'foo' => 0 ) ) = true \ No newline at end of file diff --git a/Zend/tests/operators/comparison/equal_object_strict.phpt b/Zend/tests/operators/comparison/equal_object_strict.phpt new file mode 100644 index 000000000000..119216bc8519 --- /dev/null +++ b/Zend/tests/operators/comparison/equal_object_strict.phpt @@ -0,0 +1,34 @@ +--TEST-- +equal '==' operator using array operands with strict_operators +--FILE-- + 0, 'bar' => 2], (object)['bar' => 2, 'foo' => 0]); +two_operands('$a == $b', $fn, (object)['foo' => 0, 'bar' => 2], (object)['bar' => 2, 'foo' => null]); +two_operands('$a == $b', $fn, (object)['foo' => 0, 'bar' => 2], (object)['bar' => '2', 'foo' => 0]); + +two_operands('$a == $b', $fn, (object)['a' => ['foo' => 0, 'bar' => 2]], (object)['a' => ['bar' => 2, 'foo' => 0]]); +two_operands('$a == $b', $fn, (object)['a' => ['foo' => 0, 'bar' => 2]], (object)['a' => ['bar' => 2, 'foo' => null]]); +two_operands('$a == $b', $fn, (object)['a' => ['foo' => 0, 'bar' => 2]], (object)['a' => ['bar' => '2', 'foo' => 0]]); + +two_operands('$a == $b', $fn, (object)['a' => (object)['foo' => 0, 'bar' => 2]], (object)['a' => (object)['bar' => 2, 'foo' => 0]]); +two_operands('$a == $b', $fn, (object)['a' => (object)['foo' => 0, 'bar' => 2]], (object)['a' => (object)['bar' => 2, 'foo' => null]]); +two_operands('$a == $b', $fn, (object)['a' => (object)['foo' => 0, 'bar' => 2]], (object)['a' => (object)['bar' => '2', 'foo' => 0]]); + +--EXPECT-- +(object) array ( 'foo' => 0, 'bar' => 2 ) == (object) array ( 'bar' => 2, 'foo' => 0 ) = true +(object) array ( 'foo' => 0, 'bar' => 2 ) == (object) array ( 'bar' => 2, 'foo' => NULL ) = false +(object) array ( 'foo' => 0, 'bar' => 2 ) == (object) array ( 'bar' => '2', 'foo' => 0 ) = false +(object) array ( 'a' => array ( 'foo' => 0, 'bar' => 2 ) ) == (object) array ( 'a' => array ( 'bar' => 2, 'foo' => 0 ) ) = true +(object) array ( 'a' => array ( 'foo' => 0, 'bar' => 2 ) ) == (object) array ( 'a' => array ( 'bar' => 2, 'foo' => NULL ) ) = false +(object) array ( 'a' => array ( 'foo' => 0, 'bar' => 2 ) ) == (object) array ( 'a' => array ( 'bar' => '2', 'foo' => 0 ) ) = false +(object) array ( 'a' => (object) array( 'foo' => 0, 'bar' => 2 ) ) == (object) array ( 'a' => (object) array( 'bar' => 2, 'foo' => 0 ) ) = true +(object) array ( 'a' => (object) array( 'foo' => 0, 'bar' => 2 ) ) == (object) array ( 'a' => (object) array( 'bar' => 2, 'foo' => NULL ) ) = false +(object) array ( 'a' => (object) array( 'foo' => 0, 'bar' => 2 ) ) == (object) array ( 'a' => (object) array( 'bar' => '2', 'foo' => 0 ) ) = false \ No newline at end of file diff --git a/Zend/tests/operators/comparison/equal_strict.phpt b/Zend/tests/operators/comparison/equal_strict.phpt new file mode 100644 index 000000000000..d3b2028db0ea --- /dev/null +++ b/Zend/tests/operators/comparison/equal_strict.phpt @@ -0,0 +1,544 @@ +--TEST-- +equal '==' operator with strict_operators +--FILE-- + 1 ) - TypeError Operand type mismatch bool and array for comparison +false == array ( 0 => 1, 1 => 100 ) - TypeError Operand type mismatch bool and array for comparison +false == array ( 'foo' => 1, 'bar' => 2 ) - TypeError Operand type mismatch bool and array for comparison +false == array ( 'bar' => 1, 'foo' => 2 ) - TypeError Operand type mismatch bool and array for comparison +false == (object) array ( ) - TypeError Operand type mismatch bool and object for comparison +false == (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Operand type mismatch bool and object for comparison +false == (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Operand type mismatch bool and object for comparison +false == DateTime - TypeError Operand type mismatch bool and object for comparison +false == resource - TypeError Operand type mismatch bool and resource for comparison +false == NULL - TypeError Operand type mismatch bool and null for comparison +true == false = false +true == true = true +true == 0 - TypeError Operand type mismatch bool and int for comparison +true == 10 - TypeError Operand type mismatch bool and int for comparison +true == 0.0 - TypeError Operand type mismatch bool and float for comparison +true == 10.0 - TypeError Operand type mismatch bool and float for comparison +true == 3.14 - TypeError Operand type mismatch bool and float for comparison +true == '0' - TypeError Operand type mismatch bool and string for comparison +true == '10' - TypeError Operand type mismatch bool and string for comparison +true == '010' - TypeError Operand type mismatch bool and string for comparison +true == '10 elephants' - TypeError Operand type mismatch bool and string for comparison +true == 'foo' - TypeError Operand type mismatch bool and string for comparison +true == array ( ) - TypeError Operand type mismatch bool and array for comparison +true == array ( 0 => 1 ) - TypeError Operand type mismatch bool and array for comparison +true == array ( 0 => 1, 1 => 100 ) - TypeError Operand type mismatch bool and array for comparison +true == array ( 'foo' => 1, 'bar' => 2 ) - TypeError Operand type mismatch bool and array for comparison +true == array ( 'bar' => 1, 'foo' => 2 ) - TypeError Operand type mismatch bool and array for comparison +true == (object) array ( ) - TypeError Operand type mismatch bool and object for comparison +true == (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Operand type mismatch bool and object for comparison +true == (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Operand type mismatch bool and object for comparison +true == DateTime - TypeError Operand type mismatch bool and object for comparison +true == resource - TypeError Operand type mismatch bool and resource for comparison +true == NULL - TypeError Operand type mismatch bool and null for comparison +0 == false - TypeError Operand type mismatch int and bool for comparison +0 == true - TypeError Operand type mismatch int and bool for comparison +0 == 0 = true +0 == 10 = false +0 == 0.0 = true +0 == 10.0 = false +0 == 3.14 = false +0 == '0' - TypeError Operand type mismatch int and string for comparison +0 == '10' - TypeError Operand type mismatch int and string for comparison +0 == '010' - TypeError Operand type mismatch int and string for comparison +0 == '10 elephants' - TypeError Operand type mismatch int and string for comparison +0 == 'foo' - TypeError Operand type mismatch int and string for comparison +0 == array ( ) - TypeError Operand type mismatch int and array for comparison +0 == array ( 0 => 1 ) - TypeError Operand type mismatch int and array for comparison +0 == array ( 0 => 1, 1 => 100 ) - TypeError Operand type mismatch int and array for comparison +0 == array ( 'foo' => 1, 'bar' => 2 ) - TypeError Operand type mismatch int and array for comparison +0 == array ( 'bar' => 1, 'foo' => 2 ) - TypeError Operand type mismatch int and array for comparison +0 == (object) array ( ) - TypeError Operand type mismatch int and object for comparison +0 == (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Operand type mismatch int and object for comparison +0 == (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Operand type mismatch int and object for comparison +0 == DateTime - TypeError Operand type mismatch int and object for comparison +0 == resource - TypeError Operand type mismatch int and resource for comparison +0 == NULL - TypeError Operand type mismatch int and null for comparison +10 == false - TypeError Operand type mismatch int and bool for comparison +10 == true - TypeError Operand type mismatch int and bool for comparison +10 == 0 = false +10 == 10 = true +10 == 0.0 = false +10 == 10.0 = true +10 == 3.14 = false +10 == '0' - TypeError Operand type mismatch int and string for comparison +10 == '10' - TypeError Operand type mismatch int and string for comparison +10 == '010' - TypeError Operand type mismatch int and string for comparison +10 == '10 elephants' - TypeError Operand type mismatch int and string for comparison +10 == 'foo' - TypeError Operand type mismatch int and string for comparison +10 == array ( ) - TypeError Operand type mismatch int and array for comparison +10 == array ( 0 => 1 ) - TypeError Operand type mismatch int and array for comparison +10 == array ( 0 => 1, 1 => 100 ) - TypeError Operand type mismatch int and array for comparison +10 == array ( 'foo' => 1, 'bar' => 2 ) - TypeError Operand type mismatch int and array for comparison +10 == array ( 'bar' => 1, 'foo' => 2 ) - TypeError Operand type mismatch int and array for comparison +10 == (object) array ( ) - TypeError Operand type mismatch int and object for comparison +10 == (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Operand type mismatch int and object for comparison +10 == (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Operand type mismatch int and object for comparison +10 == DateTime - TypeError Operand type mismatch int and object for comparison +10 == resource - TypeError Operand type mismatch int and resource for comparison +10 == NULL - TypeError Operand type mismatch int and null for comparison +0.0 == false - TypeError Operand type mismatch float and bool for comparison +0.0 == true - TypeError Operand type mismatch float and bool for comparison +0.0 == 0 = true +0.0 == 10 = false +0.0 == 0.0 = true +0.0 == 10.0 = false +0.0 == 3.14 = false +0.0 == '0' - TypeError Operand type mismatch float and string for comparison +0.0 == '10' - TypeError Operand type mismatch float and string for comparison +0.0 == '010' - TypeError Operand type mismatch float and string for comparison +0.0 == '10 elephants' - TypeError Operand type mismatch float and string for comparison +0.0 == 'foo' - TypeError Operand type mismatch float and string for comparison +0.0 == array ( ) - TypeError Operand type mismatch float and array for comparison +0.0 == array ( 0 => 1 ) - TypeError Operand type mismatch float and array for comparison +0.0 == array ( 0 => 1, 1 => 100 ) - TypeError Operand type mismatch float and array for comparison +0.0 == array ( 'foo' => 1, 'bar' => 2 ) - TypeError Operand type mismatch float and array for comparison +0.0 == array ( 'bar' => 1, 'foo' => 2 ) - TypeError Operand type mismatch float and array for comparison +0.0 == (object) array ( ) - TypeError Operand type mismatch float and object for comparison +0.0 == (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Operand type mismatch float and object for comparison +0.0 == (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Operand type mismatch float and object for comparison +0.0 == DateTime - TypeError Operand type mismatch float and object for comparison +0.0 == resource - TypeError Operand type mismatch float and resource for comparison +0.0 == NULL - TypeError Operand type mismatch float and null for comparison +10.0 == false - TypeError Operand type mismatch float and bool for comparison +10.0 == true - TypeError Operand type mismatch float and bool for comparison +10.0 == 0 = false +10.0 == 10 = true +10.0 == 0.0 = false +10.0 == 10.0 = true +10.0 == 3.14 = false +10.0 == '0' - TypeError Operand type mismatch float and string for comparison +10.0 == '10' - TypeError Operand type mismatch float and string for comparison +10.0 == '010' - TypeError Operand type mismatch float and string for comparison +10.0 == '10 elephants' - TypeError Operand type mismatch float and string for comparison +10.0 == 'foo' - TypeError Operand type mismatch float and string for comparison +10.0 == array ( ) - TypeError Operand type mismatch float and array for comparison +10.0 == array ( 0 => 1 ) - TypeError Operand type mismatch float and array for comparison +10.0 == array ( 0 => 1, 1 => 100 ) - TypeError Operand type mismatch float and array for comparison +10.0 == array ( 'foo' => 1, 'bar' => 2 ) - TypeError Operand type mismatch float and array for comparison +10.0 == array ( 'bar' => 1, 'foo' => 2 ) - TypeError Operand type mismatch float and array for comparison +10.0 == (object) array ( ) - TypeError Operand type mismatch float and object for comparison +10.0 == (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Operand type mismatch float and object for comparison +10.0 == (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Operand type mismatch float and object for comparison +10.0 == DateTime - TypeError Operand type mismatch float and object for comparison +10.0 == resource - TypeError Operand type mismatch float and resource for comparison +10.0 == NULL - TypeError Operand type mismatch float and null for comparison +3.14 == false - TypeError Operand type mismatch float and bool for comparison +3.14 == true - TypeError Operand type mismatch float and bool for comparison +3.14 == 0 = false +3.14 == 10 = false +3.14 == 0.0 = false +3.14 == 10.0 = false +3.14 == 3.14 = true +3.14 == '0' - TypeError Operand type mismatch float and string for comparison +3.14 == '10' - TypeError Operand type mismatch float and string for comparison +3.14 == '010' - TypeError Operand type mismatch float and string for comparison +3.14 == '10 elephants' - TypeError Operand type mismatch float and string for comparison +3.14 == 'foo' - TypeError Operand type mismatch float and string for comparison +3.14 == array ( ) - TypeError Operand type mismatch float and array for comparison +3.14 == array ( 0 => 1 ) - TypeError Operand type mismatch float and array for comparison +3.14 == array ( 0 => 1, 1 => 100 ) - TypeError Operand type mismatch float and array for comparison +3.14 == array ( 'foo' => 1, 'bar' => 2 ) - TypeError Operand type mismatch float and array for comparison +3.14 == array ( 'bar' => 1, 'foo' => 2 ) - TypeError Operand type mismatch float and array for comparison +3.14 == (object) array ( ) - TypeError Operand type mismatch float and object for comparison +3.14 == (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Operand type mismatch float and object for comparison +3.14 == (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Operand type mismatch float and object for comparison +3.14 == DateTime - TypeError Operand type mismatch float and object for comparison +3.14 == resource - TypeError Operand type mismatch float and resource for comparison +3.14 == NULL - TypeError Operand type mismatch float and null for comparison +'0' == false - TypeError Operand type mismatch string and bool for comparison +'0' == true - TypeError Operand type mismatch string and bool for comparison +'0' == 0 - TypeError Operand type mismatch string and int for comparison +'0' == 10 - TypeError Operand type mismatch string and int for comparison +'0' == 0.0 - TypeError Operand type mismatch string and float for comparison +'0' == 10.0 - TypeError Operand type mismatch string and float for comparison +'0' == 3.14 - TypeError Operand type mismatch string and float for comparison +'0' == '0' = true +'0' == '10' = false +'0' == '010' = false +'0' == '10 elephants' = false +'0' == 'foo' = false +'0' == array ( ) - TypeError Operand type mismatch string and array for comparison +'0' == array ( 0 => 1 ) - TypeError Operand type mismatch string and array for comparison +'0' == array ( 0 => 1, 1 => 100 ) - TypeError Operand type mismatch string and array for comparison +'0' == array ( 'foo' => 1, 'bar' => 2 ) - TypeError Operand type mismatch string and array for comparison +'0' == array ( 'bar' => 1, 'foo' => 2 ) - TypeError Operand type mismatch string and array for comparison +'0' == (object) array ( ) - TypeError Operand type mismatch string and object for comparison +'0' == (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Operand type mismatch string and object for comparison +'0' == (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Operand type mismatch string and object for comparison +'0' == DateTime - TypeError Operand type mismatch string and object for comparison +'0' == resource - TypeError Operand type mismatch string and resource for comparison +'0' == NULL - TypeError Operand type mismatch string and null for comparison +'10' == false - TypeError Operand type mismatch string and bool for comparison +'10' == true - TypeError Operand type mismatch string and bool for comparison +'10' == 0 - TypeError Operand type mismatch string and int for comparison +'10' == 10 - TypeError Operand type mismatch string and int for comparison +'10' == 0.0 - TypeError Operand type mismatch string and float for comparison +'10' == 10.0 - TypeError Operand type mismatch string and float for comparison +'10' == 3.14 - TypeError Operand type mismatch string and float for comparison +'10' == '0' = false +'10' == '10' = true +'10' == '010' = false +'10' == '10 elephants' = false +'10' == 'foo' = false +'10' == array ( ) - TypeError Operand type mismatch string and array for comparison +'10' == array ( 0 => 1 ) - TypeError Operand type mismatch string and array for comparison +'10' == array ( 0 => 1, 1 => 100 ) - TypeError Operand type mismatch string and array for comparison +'10' == array ( 'foo' => 1, 'bar' => 2 ) - TypeError Operand type mismatch string and array for comparison +'10' == array ( 'bar' => 1, 'foo' => 2 ) - TypeError Operand type mismatch string and array for comparison +'10' == (object) array ( ) - TypeError Operand type mismatch string and object for comparison +'10' == (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Operand type mismatch string and object for comparison +'10' == (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Operand type mismatch string and object for comparison +'10' == DateTime - TypeError Operand type mismatch string and object for comparison +'10' == resource - TypeError Operand type mismatch string and resource for comparison +'10' == NULL - TypeError Operand type mismatch string and null for comparison +'010' == false - TypeError Operand type mismatch string and bool for comparison +'010' == true - TypeError Operand type mismatch string and bool for comparison +'010' == 0 - TypeError Operand type mismatch string and int for comparison +'010' == 10 - TypeError Operand type mismatch string and int for comparison +'010' == 0.0 - TypeError Operand type mismatch string and float for comparison +'010' == 10.0 - TypeError Operand type mismatch string and float for comparison +'010' == 3.14 - TypeError Operand type mismatch string and float for comparison +'010' == '0' = false +'010' == '10' = false +'010' == '010' = true +'010' == '10 elephants' = false +'010' == 'foo' = false +'010' == array ( ) - TypeError Operand type mismatch string and array for comparison +'010' == array ( 0 => 1 ) - TypeError Operand type mismatch string and array for comparison +'010' == array ( 0 => 1, 1 => 100 ) - TypeError Operand type mismatch string and array for comparison +'010' == array ( 'foo' => 1, 'bar' => 2 ) - TypeError Operand type mismatch string and array for comparison +'010' == array ( 'bar' => 1, 'foo' => 2 ) - TypeError Operand type mismatch string and array for comparison +'010' == (object) array ( ) - TypeError Operand type mismatch string and object for comparison +'010' == (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Operand type mismatch string and object for comparison +'010' == (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Operand type mismatch string and object for comparison +'010' == DateTime - TypeError Operand type mismatch string and object for comparison +'010' == resource - TypeError Operand type mismatch string and resource for comparison +'010' == NULL - TypeError Operand type mismatch string and null for comparison +'10 elephants' == false - TypeError Operand type mismatch string and bool for comparison +'10 elephants' == true - TypeError Operand type mismatch string and bool for comparison +'10 elephants' == 0 - TypeError Operand type mismatch string and int for comparison +'10 elephants' == 10 - TypeError Operand type mismatch string and int for comparison +'10 elephants' == 0.0 - TypeError Operand type mismatch string and float for comparison +'10 elephants' == 10.0 - TypeError Operand type mismatch string and float for comparison +'10 elephants' == 3.14 - TypeError Operand type mismatch string and float for comparison +'10 elephants' == '0' = false +'10 elephants' == '10' = false +'10 elephants' == '010' = false +'10 elephants' == '10 elephants' = true +'10 elephants' == 'foo' = false +'10 elephants' == array ( ) - TypeError Operand type mismatch string and array for comparison +'10 elephants' == array ( 0 => 1 ) - TypeError Operand type mismatch string and array for comparison +'10 elephants' == array ( 0 => 1, 1 => 100 ) - TypeError Operand type mismatch string and array for comparison +'10 elephants' == array ( 'foo' => 1, 'bar' => 2 ) - TypeError Operand type mismatch string and array for comparison +'10 elephants' == array ( 'bar' => 1, 'foo' => 2 ) - TypeError Operand type mismatch string and array for comparison +'10 elephants' == (object) array ( ) - TypeError Operand type mismatch string and object for comparison +'10 elephants' == (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Operand type mismatch string and object for comparison +'10 elephants' == (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Operand type mismatch string and object for comparison +'10 elephants' == DateTime - TypeError Operand type mismatch string and object for comparison +'10 elephants' == resource - TypeError Operand type mismatch string and resource for comparison +'10 elephants' == NULL - TypeError Operand type mismatch string and null for comparison +'foo' == false - TypeError Operand type mismatch string and bool for comparison +'foo' == true - TypeError Operand type mismatch string and bool for comparison +'foo' == 0 - TypeError Operand type mismatch string and int for comparison +'foo' == 10 - TypeError Operand type mismatch string and int for comparison +'foo' == 0.0 - TypeError Operand type mismatch string and float for comparison +'foo' == 10.0 - TypeError Operand type mismatch string and float for comparison +'foo' == 3.14 - TypeError Operand type mismatch string and float for comparison +'foo' == '0' = false +'foo' == '10' = false +'foo' == '010' = false +'foo' == '10 elephants' = false +'foo' == 'foo' = true +'foo' == array ( ) - TypeError Operand type mismatch string and array for comparison +'foo' == array ( 0 => 1 ) - TypeError Operand type mismatch string and array for comparison +'foo' == array ( 0 => 1, 1 => 100 ) - TypeError Operand type mismatch string and array for comparison +'foo' == array ( 'foo' => 1, 'bar' => 2 ) - TypeError Operand type mismatch string and array for comparison +'foo' == array ( 'bar' => 1, 'foo' => 2 ) - TypeError Operand type mismatch string and array for comparison +'foo' == (object) array ( ) - TypeError Operand type mismatch string and object for comparison +'foo' == (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Operand type mismatch string and object for comparison +'foo' == (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Operand type mismatch string and object for comparison +'foo' == DateTime - TypeError Operand type mismatch string and object for comparison +'foo' == resource - TypeError Operand type mismatch string and resource for comparison +'foo' == NULL - TypeError Operand type mismatch string and null for comparison +array ( ) == false - TypeError Operand type mismatch array and bool for comparison +array ( ) == true - TypeError Operand type mismatch array and bool for comparison +array ( ) == 0 - TypeError Operand type mismatch array and int for comparison +array ( ) == 10 - TypeError Operand type mismatch array and int for comparison +array ( ) == 0.0 - TypeError Operand type mismatch array and float for comparison +array ( ) == 10.0 - TypeError Operand type mismatch array and float for comparison +array ( ) == 3.14 - TypeError Operand type mismatch array and float for comparison +array ( ) == '0' - TypeError Operand type mismatch array and string for comparison +array ( ) == '10' - TypeError Operand type mismatch array and string for comparison +array ( ) == '010' - TypeError Operand type mismatch array and string for comparison +array ( ) == '10 elephants' - TypeError Operand type mismatch array and string for comparison +array ( ) == 'foo' - TypeError Operand type mismatch array and string for comparison +array ( ) == array ( ) = true +array ( ) == array ( 0 => 1 ) = false +array ( ) == array ( 0 => 1, 1 => 100 ) = false +array ( ) == array ( 'foo' => 1, 'bar' => 2 ) = false +array ( ) == array ( 'bar' => 1, 'foo' => 2 ) = false +array ( ) == (object) array ( ) - TypeError Operand type mismatch array and object for comparison +array ( ) == (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Operand type mismatch array and object for comparison +array ( ) == (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Operand type mismatch array and object for comparison +array ( ) == DateTime - TypeError Operand type mismatch array and object for comparison +array ( ) == resource - TypeError Operand type mismatch array and resource for comparison +array ( ) == NULL - TypeError Operand type mismatch array and null for comparison +array ( 0 => 1 ) == false - TypeError Operand type mismatch array and bool for comparison +array ( 0 => 1 ) == true - TypeError Operand type mismatch array and bool for comparison +array ( 0 => 1 ) == 0 - TypeError Operand type mismatch array and int for comparison +array ( 0 => 1 ) == 10 - TypeError Operand type mismatch array and int for comparison +array ( 0 => 1 ) == 0.0 - TypeError Operand type mismatch array and float for comparison +array ( 0 => 1 ) == 10.0 - TypeError Operand type mismatch array and float for comparison +array ( 0 => 1 ) == 3.14 - TypeError Operand type mismatch array and float for comparison +array ( 0 => 1 ) == '0' - TypeError Operand type mismatch array and string for comparison +array ( 0 => 1 ) == '10' - TypeError Operand type mismatch array and string for comparison +array ( 0 => 1 ) == '010' - TypeError Operand type mismatch array and string for comparison +array ( 0 => 1 ) == '10 elephants' - TypeError Operand type mismatch array and string for comparison +array ( 0 => 1 ) == 'foo' - TypeError Operand type mismatch array and string for comparison +array ( 0 => 1 ) == array ( ) = false +array ( 0 => 1 ) == array ( 0 => 1 ) = true +array ( 0 => 1 ) == array ( 0 => 1, 1 => 100 ) = false +array ( 0 => 1 ) == array ( 'foo' => 1, 'bar' => 2 ) = false +array ( 0 => 1 ) == array ( 'bar' => 1, 'foo' => 2 ) = false +array ( 0 => 1 ) == (object) array ( ) - TypeError Operand type mismatch array and object for comparison +array ( 0 => 1 ) == (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Operand type mismatch array and object for comparison +array ( 0 => 1 ) == (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Operand type mismatch array and object for comparison +array ( 0 => 1 ) == DateTime - TypeError Operand type mismatch array and object for comparison +array ( 0 => 1 ) == resource - TypeError Operand type mismatch array and resource for comparison +array ( 0 => 1 ) == NULL - TypeError Operand type mismatch array and null for comparison +array ( 0 => 1, 1 => 100 ) == false - TypeError Operand type mismatch array and bool for comparison +array ( 0 => 1, 1 => 100 ) == true - TypeError Operand type mismatch array and bool for comparison +array ( 0 => 1, 1 => 100 ) == 0 - TypeError Operand type mismatch array and int for comparison +array ( 0 => 1, 1 => 100 ) == 10 - TypeError Operand type mismatch array and int for comparison +array ( 0 => 1, 1 => 100 ) == 0.0 - TypeError Operand type mismatch array and float for comparison +array ( 0 => 1, 1 => 100 ) == 10.0 - TypeError Operand type mismatch array and float for comparison +array ( 0 => 1, 1 => 100 ) == 3.14 - TypeError Operand type mismatch array and float for comparison +array ( 0 => 1, 1 => 100 ) == '0' - TypeError Operand type mismatch array and string for comparison +array ( 0 => 1, 1 => 100 ) == '10' - TypeError Operand type mismatch array and string for comparison +array ( 0 => 1, 1 => 100 ) == '010' - TypeError Operand type mismatch array and string for comparison +array ( 0 => 1, 1 => 100 ) == '10 elephants' - TypeError Operand type mismatch array and string for comparison +array ( 0 => 1, 1 => 100 ) == 'foo' - TypeError Operand type mismatch array and string for comparison +array ( 0 => 1, 1 => 100 ) == array ( ) = false +array ( 0 => 1, 1 => 100 ) == array ( 0 => 1 ) = false +array ( 0 => 1, 1 => 100 ) == array ( 0 => 1, 1 => 100 ) = true +array ( 0 => 1, 1 => 100 ) == array ( 'foo' => 1, 'bar' => 2 ) = false +array ( 0 => 1, 1 => 100 ) == array ( 'bar' => 1, 'foo' => 2 ) = false +array ( 0 => 1, 1 => 100 ) == (object) array ( ) - TypeError Operand type mismatch array and object for comparison +array ( 0 => 1, 1 => 100 ) == (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Operand type mismatch array and object for comparison +array ( 0 => 1, 1 => 100 ) == (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Operand type mismatch array and object for comparison +array ( 0 => 1, 1 => 100 ) == DateTime - TypeError Operand type mismatch array and object for comparison +array ( 0 => 1, 1 => 100 ) == resource - TypeError Operand type mismatch array and resource for comparison +array ( 0 => 1, 1 => 100 ) == NULL - TypeError Operand type mismatch array and null for comparison +array ( 'foo' => 1, 'bar' => 2 ) == false - TypeError Operand type mismatch array and bool for comparison +array ( 'foo' => 1, 'bar' => 2 ) == true - TypeError Operand type mismatch array and bool for comparison +array ( 'foo' => 1, 'bar' => 2 ) == 0 - TypeError Operand type mismatch array and int for comparison +array ( 'foo' => 1, 'bar' => 2 ) == 10 - TypeError Operand type mismatch array and int for comparison +array ( 'foo' => 1, 'bar' => 2 ) == 0.0 - TypeError Operand type mismatch array and float for comparison +array ( 'foo' => 1, 'bar' => 2 ) == 10.0 - TypeError Operand type mismatch array and float for comparison +array ( 'foo' => 1, 'bar' => 2 ) == 3.14 - TypeError Operand type mismatch array and float for comparison +array ( 'foo' => 1, 'bar' => 2 ) == '0' - TypeError Operand type mismatch array and string for comparison +array ( 'foo' => 1, 'bar' => 2 ) == '10' - TypeError Operand type mismatch array and string for comparison +array ( 'foo' => 1, 'bar' => 2 ) == '010' - TypeError Operand type mismatch array and string for comparison +array ( 'foo' => 1, 'bar' => 2 ) == '10 elephants' - TypeError Operand type mismatch array and string for comparison +array ( 'foo' => 1, 'bar' => 2 ) == 'foo' - TypeError Operand type mismatch array and string for comparison +array ( 'foo' => 1, 'bar' => 2 ) == array ( ) = false +array ( 'foo' => 1, 'bar' => 2 ) == array ( 0 => 1 ) = false +array ( 'foo' => 1, 'bar' => 2 ) == array ( 0 => 1, 1 => 100 ) = false +array ( 'foo' => 1, 'bar' => 2 ) == array ( 'foo' => 1, 'bar' => 2 ) = true +array ( 'foo' => 1, 'bar' => 2 ) == array ( 'bar' => 1, 'foo' => 2 ) = false +array ( 'foo' => 1, 'bar' => 2 ) == (object) array ( ) - TypeError Operand type mismatch array and object for comparison +array ( 'foo' => 1, 'bar' => 2 ) == (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Operand type mismatch array and object for comparison +array ( 'foo' => 1, 'bar' => 2 ) == (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Operand type mismatch array and object for comparison +array ( 'foo' => 1, 'bar' => 2 ) == DateTime - TypeError Operand type mismatch array and object for comparison +array ( 'foo' => 1, 'bar' => 2 ) == resource - TypeError Operand type mismatch array and resource for comparison +array ( 'foo' => 1, 'bar' => 2 ) == NULL - TypeError Operand type mismatch array and null for comparison +array ( 'bar' => 1, 'foo' => 2 ) == false - TypeError Operand type mismatch array and bool for comparison +array ( 'bar' => 1, 'foo' => 2 ) == true - TypeError Operand type mismatch array and bool for comparison +array ( 'bar' => 1, 'foo' => 2 ) == 0 - TypeError Operand type mismatch array and int for comparison +array ( 'bar' => 1, 'foo' => 2 ) == 10 - TypeError Operand type mismatch array and int for comparison +array ( 'bar' => 1, 'foo' => 2 ) == 0.0 - TypeError Operand type mismatch array and float for comparison +array ( 'bar' => 1, 'foo' => 2 ) == 10.0 - TypeError Operand type mismatch array and float for comparison +array ( 'bar' => 1, 'foo' => 2 ) == 3.14 - TypeError Operand type mismatch array and float for comparison +array ( 'bar' => 1, 'foo' => 2 ) == '0' - TypeError Operand type mismatch array and string for comparison +array ( 'bar' => 1, 'foo' => 2 ) == '10' - TypeError Operand type mismatch array and string for comparison +array ( 'bar' => 1, 'foo' => 2 ) == '010' - TypeError Operand type mismatch array and string for comparison +array ( 'bar' => 1, 'foo' => 2 ) == '10 elephants' - TypeError Operand type mismatch array and string for comparison +array ( 'bar' => 1, 'foo' => 2 ) == 'foo' - TypeError Operand type mismatch array and string for comparison +array ( 'bar' => 1, 'foo' => 2 ) == array ( ) = false +array ( 'bar' => 1, 'foo' => 2 ) == array ( 0 => 1 ) = false +array ( 'bar' => 1, 'foo' => 2 ) == array ( 0 => 1, 1 => 100 ) = false +array ( 'bar' => 1, 'foo' => 2 ) == array ( 'foo' => 1, 'bar' => 2 ) = false +array ( 'bar' => 1, 'foo' => 2 ) == array ( 'bar' => 1, 'foo' => 2 ) = true +array ( 'bar' => 1, 'foo' => 2 ) == (object) array ( ) - TypeError Operand type mismatch array and object for comparison +array ( 'bar' => 1, 'foo' => 2 ) == (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Operand type mismatch array and object for comparison +array ( 'bar' => 1, 'foo' => 2 ) == (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Operand type mismatch array and object for comparison +array ( 'bar' => 1, 'foo' => 2 ) == DateTime - TypeError Operand type mismatch array and object for comparison +array ( 'bar' => 1, 'foo' => 2 ) == resource - TypeError Operand type mismatch array and resource for comparison +array ( 'bar' => 1, 'foo' => 2 ) == NULL - TypeError Operand type mismatch array and null for comparison +(object) array ( ) == false - TypeError Operand type mismatch object and bool for comparison +(object) array ( ) == true - TypeError Operand type mismatch object and bool for comparison +(object) array ( ) == 0 - TypeError Operand type mismatch object and int for comparison +(object) array ( ) == 10 - TypeError Operand type mismatch object and int for comparison +(object) array ( ) == 0.0 - TypeError Operand type mismatch object and float for comparison +(object) array ( ) == 10.0 - TypeError Operand type mismatch object and float for comparison +(object) array ( ) == 3.14 - TypeError Operand type mismatch object and float for comparison +(object) array ( ) == '0' - TypeError Operand type mismatch object and string for comparison +(object) array ( ) == '10' - TypeError Operand type mismatch object and string for comparison +(object) array ( ) == '010' - TypeError Operand type mismatch object and string for comparison +(object) array ( ) == '10 elephants' - TypeError Operand type mismatch object and string for comparison +(object) array ( ) == 'foo' - TypeError Operand type mismatch object and string for comparison +(object) array ( ) == array ( ) - TypeError Operand type mismatch object and array for comparison +(object) array ( ) == array ( 0 => 1 ) - TypeError Operand type mismatch object and array for comparison +(object) array ( ) == array ( 0 => 1, 1 => 100 ) - TypeError Operand type mismatch object and array for comparison +(object) array ( ) == array ( 'foo' => 1, 'bar' => 2 ) - TypeError Operand type mismatch object and array for comparison +(object) array ( ) == array ( 'bar' => 1, 'foo' => 2 ) - TypeError Operand type mismatch object and array for comparison +(object) array ( ) == (object) array ( ) = true +(object) array ( ) == (object) array ( 'foo' => 1, 'bar' => 2 ) = false +(object) array ( ) == (object) array ( 'bar' => 1, 'foo' => 2 ) = false +(object) array ( ) == DateTime - TypeError Operand type mismatch object and object for comparison +(object) array ( ) == resource - TypeError Operand type mismatch object and resource for comparison +(object) array ( ) == NULL - TypeError Operand type mismatch object and null for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) == false - TypeError Operand type mismatch object and bool for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) == true - TypeError Operand type mismatch object and bool for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) == 0 - TypeError Operand type mismatch object and int for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) == 10 - TypeError Operand type mismatch object and int for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) == 0.0 - TypeError Operand type mismatch object and float for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) == 10.0 - TypeError Operand type mismatch object and float for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) == 3.14 - TypeError Operand type mismatch object and float for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) == '0' - TypeError Operand type mismatch object and string for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) == '10' - TypeError Operand type mismatch object and string for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) == '010' - TypeError Operand type mismatch object and string for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) == '10 elephants' - TypeError Operand type mismatch object and string for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) == 'foo' - TypeError Operand type mismatch object and string for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) == array ( ) - TypeError Operand type mismatch object and array for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) == array ( 0 => 1 ) - TypeError Operand type mismatch object and array for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) == array ( 0 => 1, 1 => 100 ) - TypeError Operand type mismatch object and array for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) == array ( 'foo' => 1, 'bar' => 2 ) - TypeError Operand type mismatch object and array for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) == array ( 'bar' => 1, 'foo' => 2 ) - TypeError Operand type mismatch object and array for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) == (object) array ( ) = false +(object) array ( 'foo' => 1, 'bar' => 2 ) == (object) array ( 'foo' => 1, 'bar' => 2 ) = true +(object) array ( 'foo' => 1, 'bar' => 2 ) == (object) array ( 'bar' => 1, 'foo' => 2 ) = false +(object) array ( 'foo' => 1, 'bar' => 2 ) == DateTime - TypeError Operand type mismatch object and object for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) == resource - TypeError Operand type mismatch object and resource for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) == NULL - TypeError Operand type mismatch object and null for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) == false - TypeError Operand type mismatch object and bool for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) == true - TypeError Operand type mismatch object and bool for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) == 0 - TypeError Operand type mismatch object and int for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) == 10 - TypeError Operand type mismatch object and int for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) == 0.0 - TypeError Operand type mismatch object and float for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) == 10.0 - TypeError Operand type mismatch object and float for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) == 3.14 - TypeError Operand type mismatch object and float for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) == '0' - TypeError Operand type mismatch object and string for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) == '10' - TypeError Operand type mismatch object and string for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) == '010' - TypeError Operand type mismatch object and string for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) == '10 elephants' - TypeError Operand type mismatch object and string for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) == 'foo' - TypeError Operand type mismatch object and string for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) == array ( ) - TypeError Operand type mismatch object and array for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) == array ( 0 => 1 ) - TypeError Operand type mismatch object and array for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) == array ( 0 => 1, 1 => 100 ) - TypeError Operand type mismatch object and array for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) == array ( 'foo' => 1, 'bar' => 2 ) - TypeError Operand type mismatch object and array for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) == array ( 'bar' => 1, 'foo' => 2 ) - TypeError Operand type mismatch object and array for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) == (object) array ( ) = false +(object) array ( 'bar' => 1, 'foo' => 2 ) == (object) array ( 'foo' => 1, 'bar' => 2 ) = false +(object) array ( 'bar' => 1, 'foo' => 2 ) == (object) array ( 'bar' => 1, 'foo' => 2 ) = true +(object) array ( 'bar' => 1, 'foo' => 2 ) == DateTime - TypeError Operand type mismatch object and object for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) == resource - TypeError Operand type mismatch object and resource for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) == NULL - TypeError Operand type mismatch object and null for comparison +DateTime == false - TypeError Operand type mismatch object and bool for comparison +DateTime == true - TypeError Operand type mismatch object and bool for comparison +DateTime == 0 - TypeError Operand type mismatch object and int for comparison +DateTime == 10 - TypeError Operand type mismatch object and int for comparison +DateTime == 0.0 - TypeError Operand type mismatch object and float for comparison +DateTime == 10.0 - TypeError Operand type mismatch object and float for comparison +DateTime == 3.14 - TypeError Operand type mismatch object and float for comparison +DateTime == '0' - TypeError Operand type mismatch object and string for comparison +DateTime == '10' - TypeError Operand type mismatch object and string for comparison +DateTime == '010' - TypeError Operand type mismatch object and string for comparison +DateTime == '10 elephants' - TypeError Operand type mismatch object and string for comparison +DateTime == 'foo' - TypeError Operand type mismatch object and string for comparison +DateTime == array ( ) - TypeError Operand type mismatch object and array for comparison +DateTime == array ( 0 => 1 ) - TypeError Operand type mismatch object and array for comparison +DateTime == array ( 0 => 1, 1 => 100 ) - TypeError Operand type mismatch object and array for comparison +DateTime == array ( 'foo' => 1, 'bar' => 2 ) - TypeError Operand type mismatch object and array for comparison +DateTime == array ( 'bar' => 1, 'foo' => 2 ) - TypeError Operand type mismatch object and array for comparison +DateTime == (object) array ( ) - TypeError Operand type mismatch object and object for comparison +DateTime == (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Operand type mismatch object and object for comparison +DateTime == (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Operand type mismatch object and object for comparison +DateTime == DateTime = true +DateTime == resource - TypeError Operand type mismatch object and resource for comparison +DateTime == NULL - TypeError Operand type mismatch object and null for comparison +resource == false - TypeError Operand type mismatch resource and bool for comparison +resource == true - TypeError Operand type mismatch resource and bool for comparison +resource == 0 - TypeError Operand type mismatch resource and int for comparison +resource == 10 - TypeError Operand type mismatch resource and int for comparison +resource == 0.0 - TypeError Operand type mismatch resource and float for comparison +resource == 10.0 - TypeError Operand type mismatch resource and float for comparison +resource == 3.14 - TypeError Operand type mismatch resource and float for comparison +resource == '0' - TypeError Operand type mismatch resource and string for comparison +resource == '10' - TypeError Operand type mismatch resource and string for comparison +resource == '010' - TypeError Operand type mismatch resource and string for comparison +resource == '10 elephants' - TypeError Operand type mismatch resource and string for comparison +resource == 'foo' - TypeError Operand type mismatch resource and string for comparison +resource == array ( ) - TypeError Operand type mismatch resource and array for comparison +resource == array ( 0 => 1 ) - TypeError Operand type mismatch resource and array for comparison +resource == array ( 0 => 1, 1 => 100 ) - TypeError Operand type mismatch resource and array for comparison +resource == array ( 'foo' => 1, 'bar' => 2 ) - TypeError Operand type mismatch resource and array for comparison +resource == array ( 'bar' => 1, 'foo' => 2 ) - TypeError Operand type mismatch resource and array for comparison +resource == (object) array ( ) - TypeError Operand type mismatch resource and object for comparison +resource == (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Operand type mismatch resource and object for comparison +resource == (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Operand type mismatch resource and object for comparison +resource == DateTime - TypeError Operand type mismatch resource and object for comparison +resource == resource = true +resource == NULL - TypeError Operand type mismatch resource and null for comparison +NULL == false - TypeError Operand type mismatch null and bool for comparison +NULL == true - TypeError Operand type mismatch null and bool for comparison +NULL == 0 - TypeError Operand type mismatch null and int for comparison +NULL == 10 - TypeError Operand type mismatch null and int for comparison +NULL == 0.0 - TypeError Operand type mismatch null and float for comparison +NULL == 10.0 - TypeError Operand type mismatch null and float for comparison +NULL == 3.14 - TypeError Operand type mismatch null and float for comparison +NULL == '0' - TypeError Operand type mismatch null and string for comparison +NULL == '10' - TypeError Operand type mismatch null and string for comparison +NULL == '010' - TypeError Operand type mismatch null and string for comparison +NULL == '10 elephants' - TypeError Operand type mismatch null and string for comparison +NULL == 'foo' - TypeError Operand type mismatch null and string for comparison +NULL == array ( ) - TypeError Operand type mismatch null and array for comparison +NULL == array ( 0 => 1 ) - TypeError Operand type mismatch null and array for comparison +NULL == array ( 0 => 1, 1 => 100 ) - TypeError Operand type mismatch null and array for comparison +NULL == array ( 'foo' => 1, 'bar' => 2 ) - TypeError Operand type mismatch null and array for comparison +NULL == array ( 'bar' => 1, 'foo' => 2 ) - TypeError Operand type mismatch null and array for comparison +NULL == (object) array ( ) - TypeError Operand type mismatch null and object for comparison +NULL == (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Operand type mismatch null and object for comparison +NULL == (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Operand type mismatch null and object for comparison +NULL == DateTime - TypeError Operand type mismatch null and object for comparison +NULL == resource - TypeError Operand type mismatch null and resource for comparison +NULL == NULL = true \ No newline at end of file diff --git a/Zend/tests/operators/comparison/greater_than.phpt b/Zend/tests/operators/comparison/greater_than.phpt new file mode 100644 index 000000000000..61220a729ffc --- /dev/null +++ b/Zend/tests/operators/comparison/greater_than.phpt @@ -0,0 +1,540 @@ +--TEST-- +greater than '>' operator +--FILE-- + $b', function($a, $b) { return $a > $b; }); + +--EXPECT-- +false > false = false +false > true = false +false > 0 = false +false > 10 = false +false > 0.0 = false +false > 10.0 = false +false > 3.14 = false +false > '0' = false +false > '10' = false +false > '010' = false +false > '10 elephants' = false +false > 'foo' = false +false > array ( ) = false +false > array ( 0 => 1 ) = false +false > array ( 0 => 1, 1 => 100 ) = false +false > array ( 'foo' => 1, 'bar' => 2 ) = false +false > array ( 'bar' => 1, 'foo' => 2 ) = false +false > (object) array ( ) = false +false > (object) array ( 'foo' => 1, 'bar' => 2 ) = false +false > (object) array ( 'bar' => 1, 'foo' => 2 ) = false +false > DateTime = false +false > resource = false +false > NULL = false +true > false = true +true > true = false +true > 0 = true +true > 10 = false +true > 0.0 = true +true > 10.0 = false +true > 3.14 = false +true > '0' = true +true > '10' = false +true > '010' = false +true > '10 elephants' = false +true > 'foo' = false +true > array ( ) = true +true > array ( 0 => 1 ) = false +true > array ( 0 => 1, 1 => 100 ) = false +true > array ( 'foo' => 1, 'bar' => 2 ) = false +true > array ( 'bar' => 1, 'foo' => 2 ) = false +true > (object) array ( ) = false +true > (object) array ( 'foo' => 1, 'bar' => 2 ) = false +true > (object) array ( 'bar' => 1, 'foo' => 2 ) = false +true > DateTime = false +true > resource = false +true > NULL = true +0 > false = false +0 > true = false +0 > 0 = false +0 > 10 = false +0 > 0.0 = false +0 > 10.0 = false +0 > 3.14 = false +0 > '0' = false +0 > '10' = false +0 > '010' = false +0 > '10 elephants' = false +0 > 'foo' = false +0 > array ( ) = false +0 > array ( 0 => 1 ) = false +0 > array ( 0 => 1, 1 => 100 ) = false +0 > array ( 'foo' => 1, 'bar' => 2 ) = false +0 > array ( 'bar' => 1, 'foo' => 2 ) = false +0 > (object) array ( ) = false - Notice Object of class stdClass could not be converted to int +0 > (object) array ( 'foo' => 1, 'bar' => 2 ) = false - Notice Object of class stdClass could not be converted to int +0 > (object) array ( 'bar' => 1, 'foo' => 2 ) = false - Notice Object of class stdClass could not be converted to int +0 > DateTime = false - Notice Object of class DateTime could not be converted to int +0 > resource = false +0 > NULL = false +10 > false = true +10 > true = false +10 > 0 = true +10 > 10 = false +10 > 0.0 = true +10 > 10.0 = false +10 > 3.14 = true +10 > '0' = true +10 > '10' = false +10 > '010' = false +10 > '10 elephants' = false +10 > 'foo' = true +10 > array ( ) = false +10 > array ( 0 => 1 ) = false +10 > array ( 0 => 1, 1 => 100 ) = false +10 > array ( 'foo' => 1, 'bar' => 2 ) = false +10 > array ( 'bar' => 1, 'foo' => 2 ) = false +10 > (object) array ( ) = true - Notice Object of class stdClass could not be converted to int +10 > (object) array ( 'foo' => 1, 'bar' => 2 ) = true - Notice Object of class stdClass could not be converted to int +10 > (object) array ( 'bar' => 1, 'foo' => 2 ) = true - Notice Object of class stdClass could not be converted to int +10 > DateTime = true - Notice Object of class DateTime could not be converted to int +10 > resource = true +10 > NULL = true +0.0 > false = false +0.0 > true = false +0.0 > 0 = false +0.0 > 10 = false +0.0 > 0.0 = false +0.0 > 10.0 = false +0.0 > 3.14 = false +0.0 > '0' = false +0.0 > '10' = false +0.0 > '010' = false +0.0 > '10 elephants' = false +0.0 > 'foo' = false +0.0 > array ( ) = false +0.0 > array ( 0 => 1 ) = false +0.0 > array ( 0 => 1, 1 => 100 ) = false +0.0 > array ( 'foo' => 1, 'bar' => 2 ) = false +0.0 > array ( 'bar' => 1, 'foo' => 2 ) = false +0.0 > (object) array ( ) = false - Notice Object of class stdClass could not be converted to float +0.0 > (object) array ( 'foo' => 1, 'bar' => 2 ) = false - Notice Object of class stdClass could not be converted to float +0.0 > (object) array ( 'bar' => 1, 'foo' => 2 ) = false - Notice Object of class stdClass could not be converted to float +0.0 > DateTime = false - Notice Object of class DateTime could not be converted to float +0.0 > resource = false +0.0 > NULL = false +10.0 > false = true +10.0 > true = false +10.0 > 0 = true +10.0 > 10 = false +10.0 > 0.0 = true +10.0 > 10.0 = false +10.0 > 3.14 = true +10.0 > '0' = true +10.0 > '10' = false +10.0 > '010' = false +10.0 > '10 elephants' = false +10.0 > 'foo' = true +10.0 > array ( ) = false +10.0 > array ( 0 => 1 ) = false +10.0 > array ( 0 => 1, 1 => 100 ) = false +10.0 > array ( 'foo' => 1, 'bar' => 2 ) = false +10.0 > array ( 'bar' => 1, 'foo' => 2 ) = false +10.0 > (object) array ( ) = true - Notice Object of class stdClass could not be converted to float +10.0 > (object) array ( 'foo' => 1, 'bar' => 2 ) = true - Notice Object of class stdClass could not be converted to float +10.0 > (object) array ( 'bar' => 1, 'foo' => 2 ) = true - Notice Object of class stdClass could not be converted to float +10.0 > DateTime = true - Notice Object of class DateTime could not be converted to float +10.0 > resource = true +10.0 > NULL = true +3.14 > false = true +3.14 > true = false +3.14 > 0 = true +3.14 > 10 = false +3.14 > 0.0 = true +3.14 > 10.0 = false +3.14 > 3.14 = false +3.14 > '0' = true +3.14 > '10' = false +3.14 > '010' = false +3.14 > '10 elephants' = false +3.14 > 'foo' = true +3.14 > array ( ) = false +3.14 > array ( 0 => 1 ) = false +3.14 > array ( 0 => 1, 1 => 100 ) = false +3.14 > array ( 'foo' => 1, 'bar' => 2 ) = false +3.14 > array ( 'bar' => 1, 'foo' => 2 ) = false +3.14 > (object) array ( ) = true - Notice Object of class stdClass could not be converted to float +3.14 > (object) array ( 'foo' => 1, 'bar' => 2 ) = true - Notice Object of class stdClass could not be converted to float +3.14 > (object) array ( 'bar' => 1, 'foo' => 2 ) = true - Notice Object of class stdClass could not be converted to float +3.14 > DateTime = true - Notice Object of class DateTime could not be converted to float +3.14 > resource = false +3.14 > NULL = true +'0' > false = false +'0' > true = false +'0' > 0 = false +'0' > 10 = false +'0' > 0.0 = false +'0' > 10.0 = false +'0' > 3.14 = false +'0' > '0' = false +'0' > '10' = false +'0' > '010' = false +'0' > '10 elephants' = false +'0' > 'foo' = false +'0' > array ( ) = false +'0' > array ( 0 => 1 ) = false +'0' > array ( 0 => 1, 1 => 100 ) = false +'0' > array ( 'foo' => 1, 'bar' => 2 ) = false +'0' > array ( 'bar' => 1, 'foo' => 2 ) = false +'0' > (object) array ( ) = false +'0' > (object) array ( 'foo' => 1, 'bar' => 2 ) = false +'0' > (object) array ( 'bar' => 1, 'foo' => 2 ) = false +'0' > DateTime = false +'0' > resource = false +'0' > NULL = true +'10' > false = true +'10' > true = false +'10' > 0 = true +'10' > 10 = false +'10' > 0.0 = true +'10' > 10.0 = false +'10' > 3.14 = true +'10' > '0' = true +'10' > '10' = false +'10' > '010' = false +'10' > '10 elephants' = false +'10' > 'foo' = false +'10' > array ( ) = false +'10' > array ( 0 => 1 ) = false +'10' > array ( 0 => 1, 1 => 100 ) = false +'10' > array ( 'foo' => 1, 'bar' => 2 ) = false +'10' > array ( 'bar' => 1, 'foo' => 2 ) = false +'10' > (object) array ( ) = false +'10' > (object) array ( 'foo' => 1, 'bar' => 2 ) = false +'10' > (object) array ( 'bar' => 1, 'foo' => 2 ) = false +'10' > DateTime = false +'10' > resource = true +'10' > NULL = true +'010' > false = true +'010' > true = false +'010' > 0 = true +'010' > 10 = false +'010' > 0.0 = true +'010' > 10.0 = false +'010' > 3.14 = true +'010' > '0' = true +'010' > '10' = false +'010' > '010' = false +'010' > '10 elephants' = false +'010' > 'foo' = false +'010' > array ( ) = false +'010' > array ( 0 => 1 ) = false +'010' > array ( 0 => 1, 1 => 100 ) = false +'010' > array ( 'foo' => 1, 'bar' => 2 ) = false +'010' > array ( 'bar' => 1, 'foo' => 2 ) = false +'010' > (object) array ( ) = false +'010' > (object) array ( 'foo' => 1, 'bar' => 2 ) = false +'010' > (object) array ( 'bar' => 1, 'foo' => 2 ) = false +'010' > DateTime = false +'010' > resource = true +'010' > NULL = true +'10 elephants' > false = true +'10 elephants' > true = false +'10 elephants' > 0 = true +'10 elephants' > 10 = false +'10 elephants' > 0.0 = true +'10 elephants' > 10.0 = false +'10 elephants' > 3.14 = true +'10 elephants' > '0' = true +'10 elephants' > '10' = true +'10 elephants' > '010' = true +'10 elephants' > '10 elephants' = false +'10 elephants' > 'foo' = false +'10 elephants' > array ( ) = false +'10 elephants' > array ( 0 => 1 ) = false +'10 elephants' > array ( 0 => 1, 1 => 100 ) = false +'10 elephants' > array ( 'foo' => 1, 'bar' => 2 ) = false +'10 elephants' > array ( 'bar' => 1, 'foo' => 2 ) = false +'10 elephants' > (object) array ( ) = false +'10 elephants' > (object) array ( 'foo' => 1, 'bar' => 2 ) = false +'10 elephants' > (object) array ( 'bar' => 1, 'foo' => 2 ) = false +'10 elephants' > DateTime = false +'10 elephants' > resource = true +'10 elephants' > NULL = true +'foo' > false = true +'foo' > true = false +'foo' > 0 = false +'foo' > 10 = false +'foo' > 0.0 = false +'foo' > 10.0 = false +'foo' > 3.14 = false +'foo' > '0' = true +'foo' > '10' = true +'foo' > '010' = true +'foo' > '10 elephants' = true +'foo' > 'foo' = false +'foo' > array ( ) = false +'foo' > array ( 0 => 1 ) = false +'foo' > array ( 0 => 1, 1 => 100 ) = false +'foo' > array ( 'foo' => 1, 'bar' => 2 ) = false +'foo' > array ( 'bar' => 1, 'foo' => 2 ) = false +'foo' > (object) array ( ) = false +'foo' > (object) array ( 'foo' => 1, 'bar' => 2 ) = false +'foo' > (object) array ( 'bar' => 1, 'foo' => 2 ) = false +'foo' > DateTime = false +'foo' > resource = false +'foo' > NULL = true +array ( ) > false = false +array ( ) > true = false +array ( ) > 0 = true +array ( ) > 10 = true +array ( ) > 0.0 = true +array ( ) > 10.0 = true +array ( ) > 3.14 = true +array ( ) > '0' = true +array ( ) > '10' = true +array ( ) > '010' = true +array ( ) > '10 elephants' = true +array ( ) > 'foo' = true +array ( ) > array ( ) = false +array ( ) > array ( 0 => 1 ) = false +array ( ) > array ( 0 => 1, 1 => 100 ) = false +array ( ) > array ( 'foo' => 1, 'bar' => 2 ) = false +array ( ) > array ( 'bar' => 1, 'foo' => 2 ) = false +array ( ) > (object) array ( ) = false +array ( ) > (object) array ( 'foo' => 1, 'bar' => 2 ) = false +array ( ) > (object) array ( 'bar' => 1, 'foo' => 2 ) = false +array ( ) > DateTime = false +array ( ) > resource = true +array ( ) > NULL = false +array ( 0 => 1 ) > false = true +array ( 0 => 1 ) > true = false +array ( 0 => 1 ) > 0 = true +array ( 0 => 1 ) > 10 = true +array ( 0 => 1 ) > 0.0 = true +array ( 0 => 1 ) > 10.0 = true +array ( 0 => 1 ) > 3.14 = true +array ( 0 => 1 ) > '0' = true +array ( 0 => 1 ) > '10' = true +array ( 0 => 1 ) > '010' = true +array ( 0 => 1 ) > '10 elephants' = true +array ( 0 => 1 ) > 'foo' = true +array ( 0 => 1 ) > array ( ) = true +array ( 0 => 1 ) > array ( 0 => 1 ) = false +array ( 0 => 1 ) > array ( 0 => 1, 1 => 100 ) = false +array ( 0 => 1 ) > array ( 'foo' => 1, 'bar' => 2 ) = false +array ( 0 => 1 ) > array ( 'bar' => 1, 'foo' => 2 ) = false +array ( 0 => 1 ) > (object) array ( ) = false +array ( 0 => 1 ) > (object) array ( 'foo' => 1, 'bar' => 2 ) = false +array ( 0 => 1 ) > (object) array ( 'bar' => 1, 'foo' => 2 ) = false +array ( 0 => 1 ) > DateTime = false +array ( 0 => 1 ) > resource = true +array ( 0 => 1 ) > NULL = true +array ( 0 => 1, 1 => 100 ) > false = true +array ( 0 => 1, 1 => 100 ) > true = false +array ( 0 => 1, 1 => 100 ) > 0 = true +array ( 0 => 1, 1 => 100 ) > 10 = true +array ( 0 => 1, 1 => 100 ) > 0.0 = true +array ( 0 => 1, 1 => 100 ) > 10.0 = true +array ( 0 => 1, 1 => 100 ) > 3.14 = true +array ( 0 => 1, 1 => 100 ) > '0' = true +array ( 0 => 1, 1 => 100 ) > '10' = true +array ( 0 => 1, 1 => 100 ) > '010' = true +array ( 0 => 1, 1 => 100 ) > '10 elephants' = true +array ( 0 => 1, 1 => 100 ) > 'foo' = true +array ( 0 => 1, 1 => 100 ) > array ( ) = true +array ( 0 => 1, 1 => 100 ) > array ( 0 => 1 ) = true +array ( 0 => 1, 1 => 100 ) > array ( 0 => 1, 1 => 100 ) = false +array ( 0 => 1, 1 => 100 ) > array ( 'foo' => 1, 'bar' => 2 ) = false +array ( 0 => 1, 1 => 100 ) > array ( 'bar' => 1, 'foo' => 2 ) = false +array ( 0 => 1, 1 => 100 ) > (object) array ( ) = false +array ( 0 => 1, 1 => 100 ) > (object) array ( 'foo' => 1, 'bar' => 2 ) = false +array ( 0 => 1, 1 => 100 ) > (object) array ( 'bar' => 1, 'foo' => 2 ) = false +array ( 0 => 1, 1 => 100 ) > DateTime = false +array ( 0 => 1, 1 => 100 ) > resource = true +array ( 0 => 1, 1 => 100 ) > NULL = true +array ( 'foo' => 1, 'bar' => 2 ) > false = true +array ( 'foo' => 1, 'bar' => 2 ) > true = false +array ( 'foo' => 1, 'bar' => 2 ) > 0 = true +array ( 'foo' => 1, 'bar' => 2 ) > 10 = true +array ( 'foo' => 1, 'bar' => 2 ) > 0.0 = true +array ( 'foo' => 1, 'bar' => 2 ) > 10.0 = true +array ( 'foo' => 1, 'bar' => 2 ) > 3.14 = true +array ( 'foo' => 1, 'bar' => 2 ) > '0' = true +array ( 'foo' => 1, 'bar' => 2 ) > '10' = true +array ( 'foo' => 1, 'bar' => 2 ) > '010' = true +array ( 'foo' => 1, 'bar' => 2 ) > '10 elephants' = true +array ( 'foo' => 1, 'bar' => 2 ) > 'foo' = true +array ( 'foo' => 1, 'bar' => 2 ) > array ( ) = true +array ( 'foo' => 1, 'bar' => 2 ) > array ( 0 => 1 ) = true +array ( 'foo' => 1, 'bar' => 2 ) > array ( 0 => 1, 1 => 100 ) = false +array ( 'foo' => 1, 'bar' => 2 ) > array ( 'foo' => 1, 'bar' => 2 ) = false +array ( 'foo' => 1, 'bar' => 2 ) > array ( 'bar' => 1, 'foo' => 2 ) = true +array ( 'foo' => 1, 'bar' => 2 ) > (object) array ( ) = false +array ( 'foo' => 1, 'bar' => 2 ) > (object) array ( 'foo' => 1, 'bar' => 2 ) = false +array ( 'foo' => 1, 'bar' => 2 ) > (object) array ( 'bar' => 1, 'foo' => 2 ) = false +array ( 'foo' => 1, 'bar' => 2 ) > DateTime = false +array ( 'foo' => 1, 'bar' => 2 ) > resource = true +array ( 'foo' => 1, 'bar' => 2 ) > NULL = true +array ( 'bar' => 1, 'foo' => 2 ) > false = true +array ( 'bar' => 1, 'foo' => 2 ) > true = false +array ( 'bar' => 1, 'foo' => 2 ) > 0 = true +array ( 'bar' => 1, 'foo' => 2 ) > 10 = true +array ( 'bar' => 1, 'foo' => 2 ) > 0.0 = true +array ( 'bar' => 1, 'foo' => 2 ) > 10.0 = true +array ( 'bar' => 1, 'foo' => 2 ) > 3.14 = true +array ( 'bar' => 1, 'foo' => 2 ) > '0' = true +array ( 'bar' => 1, 'foo' => 2 ) > '10' = true +array ( 'bar' => 1, 'foo' => 2 ) > '010' = true +array ( 'bar' => 1, 'foo' => 2 ) > '10 elephants' = true +array ( 'bar' => 1, 'foo' => 2 ) > 'foo' = true +array ( 'bar' => 1, 'foo' => 2 ) > array ( ) = true +array ( 'bar' => 1, 'foo' => 2 ) > array ( 0 => 1 ) = true +array ( 'bar' => 1, 'foo' => 2 ) > array ( 0 => 1, 1 => 100 ) = false +array ( 'bar' => 1, 'foo' => 2 ) > array ( 'foo' => 1, 'bar' => 2 ) = true +array ( 'bar' => 1, 'foo' => 2 ) > array ( 'bar' => 1, 'foo' => 2 ) = false +array ( 'bar' => 1, 'foo' => 2 ) > (object) array ( ) = false +array ( 'bar' => 1, 'foo' => 2 ) > (object) array ( 'foo' => 1, 'bar' => 2 ) = false +array ( 'bar' => 1, 'foo' => 2 ) > (object) array ( 'bar' => 1, 'foo' => 2 ) = false +array ( 'bar' => 1, 'foo' => 2 ) > DateTime = false +array ( 'bar' => 1, 'foo' => 2 ) > resource = true +array ( 'bar' => 1, 'foo' => 2 ) > NULL = true +(object) array ( ) > false = true +(object) array ( ) > true = false +(object) array ( ) > 0 = true - Notice Object of class stdClass could not be converted to int +(object) array ( ) > 10 = false - Notice Object of class stdClass could not be converted to int +(object) array ( ) > 0.0 = true - Notice Object of class stdClass could not be converted to float +(object) array ( ) > 10.0 = false - Notice Object of class stdClass could not be converted to float +(object) array ( ) > 3.14 = false - Notice Object of class stdClass could not be converted to float +(object) array ( ) > '0' = true +(object) array ( ) > '10' = true +(object) array ( ) > '010' = true +(object) array ( ) > '10 elephants' = true +(object) array ( ) > 'foo' = true +(object) array ( ) > array ( ) = true +(object) array ( ) > array ( 0 => 1 ) = true +(object) array ( ) > array ( 0 => 1, 1 => 100 ) = true +(object) array ( ) > array ( 'foo' => 1, 'bar' => 2 ) = true +(object) array ( ) > array ( 'bar' => 1, 'foo' => 2 ) = true +(object) array ( ) > (object) array ( ) = false +(object) array ( ) > (object) array ( 'foo' => 1, 'bar' => 2 ) = false +(object) array ( ) > (object) array ( 'bar' => 1, 'foo' => 2 ) = false +(object) array ( ) > DateTime = false +(object) array ( ) > resource = true +(object) array ( ) > NULL = true +(object) array ( 'foo' => 1, 'bar' => 2 ) > false = true +(object) array ( 'foo' => 1, 'bar' => 2 ) > true = false +(object) array ( 'foo' => 1, 'bar' => 2 ) > 0 = true - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) > 10 = false - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) > 0.0 = true - Notice Object of class stdClass could not be converted to float +(object) array ( 'foo' => 1, 'bar' => 2 ) > 10.0 = false - Notice Object of class stdClass could not be converted to float +(object) array ( 'foo' => 1, 'bar' => 2 ) > 3.14 = false - Notice Object of class stdClass could not be converted to float +(object) array ( 'foo' => 1, 'bar' => 2 ) > '0' = true +(object) array ( 'foo' => 1, 'bar' => 2 ) > '10' = true +(object) array ( 'foo' => 1, 'bar' => 2 ) > '010' = true +(object) array ( 'foo' => 1, 'bar' => 2 ) > '10 elephants' = true +(object) array ( 'foo' => 1, 'bar' => 2 ) > 'foo' = true +(object) array ( 'foo' => 1, 'bar' => 2 ) > array ( ) = true +(object) array ( 'foo' => 1, 'bar' => 2 ) > array ( 0 => 1 ) = true +(object) array ( 'foo' => 1, 'bar' => 2 ) > array ( 0 => 1, 1 => 100 ) = true +(object) array ( 'foo' => 1, 'bar' => 2 ) > array ( 'foo' => 1, 'bar' => 2 ) = true +(object) array ( 'foo' => 1, 'bar' => 2 ) > array ( 'bar' => 1, 'foo' => 2 ) = true +(object) array ( 'foo' => 1, 'bar' => 2 ) > (object) array ( ) = true +(object) array ( 'foo' => 1, 'bar' => 2 ) > (object) array ( 'foo' => 1, 'bar' => 2 ) = false +(object) array ( 'foo' => 1, 'bar' => 2 ) > (object) array ( 'bar' => 1, 'foo' => 2 ) = true +(object) array ( 'foo' => 1, 'bar' => 2 ) > DateTime = false +(object) array ( 'foo' => 1, 'bar' => 2 ) > resource = true +(object) array ( 'foo' => 1, 'bar' => 2 ) > NULL = true +(object) array ( 'bar' => 1, 'foo' => 2 ) > false = true +(object) array ( 'bar' => 1, 'foo' => 2 ) > true = false +(object) array ( 'bar' => 1, 'foo' => 2 ) > 0 = true - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) > 10 = false - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) > 0.0 = true - Notice Object of class stdClass could not be converted to float +(object) array ( 'bar' => 1, 'foo' => 2 ) > 10.0 = false - Notice Object of class stdClass could not be converted to float +(object) array ( 'bar' => 1, 'foo' => 2 ) > 3.14 = false - Notice Object of class stdClass could not be converted to float +(object) array ( 'bar' => 1, 'foo' => 2 ) > '0' = true +(object) array ( 'bar' => 1, 'foo' => 2 ) > '10' = true +(object) array ( 'bar' => 1, 'foo' => 2 ) > '010' = true +(object) array ( 'bar' => 1, 'foo' => 2 ) > '10 elephants' = true +(object) array ( 'bar' => 1, 'foo' => 2 ) > 'foo' = true +(object) array ( 'bar' => 1, 'foo' => 2 ) > array ( ) = true +(object) array ( 'bar' => 1, 'foo' => 2 ) > array ( 0 => 1 ) = true +(object) array ( 'bar' => 1, 'foo' => 2 ) > array ( 0 => 1, 1 => 100 ) = true +(object) array ( 'bar' => 1, 'foo' => 2 ) > array ( 'foo' => 1, 'bar' => 2 ) = true +(object) array ( 'bar' => 1, 'foo' => 2 ) > array ( 'bar' => 1, 'foo' => 2 ) = true +(object) array ( 'bar' => 1, 'foo' => 2 ) > (object) array ( ) = true +(object) array ( 'bar' => 1, 'foo' => 2 ) > (object) array ( 'foo' => 1, 'bar' => 2 ) = true +(object) array ( 'bar' => 1, 'foo' => 2 ) > (object) array ( 'bar' => 1, 'foo' => 2 ) = false +(object) array ( 'bar' => 1, 'foo' => 2 ) > DateTime = false +(object) array ( 'bar' => 1, 'foo' => 2 ) > resource = true +(object) array ( 'bar' => 1, 'foo' => 2 ) > NULL = true +DateTime > false = true +DateTime > true = false +DateTime > 0 = true - Notice Object of class DateTime could not be converted to int +DateTime > 10 = false - Notice Object of class DateTime could not be converted to int +DateTime > 0.0 = true - Notice Object of class DateTime could not be converted to float +DateTime > 10.0 = false - Notice Object of class DateTime could not be converted to float +DateTime > 3.14 = false - Notice Object of class DateTime could not be converted to float +DateTime > '0' = true +DateTime > '10' = true +DateTime > '010' = true +DateTime > '10 elephants' = true +DateTime > 'foo' = true +DateTime > array ( ) = true +DateTime > array ( 0 => 1 ) = true +DateTime > array ( 0 => 1, 1 => 100 ) = true +DateTime > array ( 'foo' => 1, 'bar' => 2 ) = true +DateTime > array ( 'bar' => 1, 'foo' => 2 ) = true +DateTime > (object) array ( ) = false +DateTime > (object) array ( 'foo' => 1, 'bar' => 2 ) = false +DateTime > (object) array ( 'bar' => 1, 'foo' => 2 ) = false +DateTime > DateTime = false +DateTime > resource = true +DateTime > NULL = true +resource > false = true +resource > true = false +resource > 0 = true +resource > 10 = false +resource > 0.0 = true +resource > 10.0 = false +resource > 3.14 = true +resource > '0' = true +resource > '10' = false +resource > '010' = false +resource > '10 elephants' = false +resource > 'foo' = true +resource > array ( ) = false +resource > array ( 0 => 1 ) = false +resource > array ( 0 => 1, 1 => 100 ) = false +resource > array ( 'foo' => 1, 'bar' => 2 ) = false +resource > array ( 'bar' => 1, 'foo' => 2 ) = false +resource > (object) array ( ) = false +resource > (object) array ( 'foo' => 1, 'bar' => 2 ) = false +resource > (object) array ( 'bar' => 1, 'foo' => 2 ) = false +resource > DateTime = false +resource > resource = false +resource > NULL = true +NULL > false = false +NULL > true = false +NULL > 0 = false +NULL > 10 = false +NULL > 0.0 = false +NULL > 10.0 = false +NULL > 3.14 = false +NULL > '0' = false +NULL > '10' = false +NULL > '010' = false +NULL > '10 elephants' = false +NULL > 'foo' = false +NULL > array ( ) = false +NULL > array ( 0 => 1 ) = false +NULL > array ( 0 => 1, 1 => 100 ) = false +NULL > array ( 'foo' => 1, 'bar' => 2 ) = false +NULL > array ( 'bar' => 1, 'foo' => 2 ) = false +NULL > (object) array ( ) = false +NULL > (object) array ( 'foo' => 1, 'bar' => 2 ) = false +NULL > (object) array ( 'bar' => 1, 'foo' => 2 ) = false +NULL > DateTime = false +NULL > resource = false +NULL > NULL = false \ No newline at end of file diff --git a/Zend/tests/operators/comparison/greater_than_strict.phpt b/Zend/tests/operators/comparison/greater_than_strict.phpt new file mode 100644 index 000000000000..7f6ca3570998 --- /dev/null +++ b/Zend/tests/operators/comparison/greater_than_strict.phpt @@ -0,0 +1,542 @@ +--TEST-- +greater than '>' operator with strict_operators +--FILE-- + $b', function($a, $b) { return $a > $b; }); + +--EXPECT-- +false > false = false +false > true = false +false > 0 - TypeError Operand type mismatch int and bool for comparison +false > 10 - TypeError Operand type mismatch int and bool for comparison +false > 0.0 - TypeError Operand type mismatch float and bool for comparison +false > 10.0 - TypeError Operand type mismatch float and bool for comparison +false > 3.14 - TypeError Operand type mismatch float and bool for comparison +false > '0' - TypeError Operand type mismatch string and bool for comparison +false > '10' - TypeError Operand type mismatch string and bool for comparison +false > '010' - TypeError Operand type mismatch string and bool for comparison +false > '10 elephants' - TypeError Operand type mismatch string and bool for comparison +false > 'foo' - TypeError Operand type mismatch string and bool for comparison +false > array ( ) - TypeError Unsupported operand type array for comparison +false > array ( 0 => 1 ) - TypeError Unsupported operand type array for comparison +false > array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for comparison +false > array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for comparison +false > array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for comparison +false > (object) array ( ) - TypeError Unsupported operand type object for comparison +false > (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for comparison +false > (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for comparison +false > DateTime - TypeError Unsupported operand type object for comparison +false > resource - TypeError Unsupported operand type resource for comparison +false > NULL - TypeError Unsupported operand type null for comparison +true > false = true +true > true = false +true > 0 - TypeError Operand type mismatch int and bool for comparison +true > 10 - TypeError Operand type mismatch int and bool for comparison +true > 0.0 - TypeError Operand type mismatch float and bool for comparison +true > 10.0 - TypeError Operand type mismatch float and bool for comparison +true > 3.14 - TypeError Operand type mismatch float and bool for comparison +true > '0' - TypeError Operand type mismatch string and bool for comparison +true > '10' - TypeError Operand type mismatch string and bool for comparison +true > '010' - TypeError Operand type mismatch string and bool for comparison +true > '10 elephants' - TypeError Operand type mismatch string and bool for comparison +true > 'foo' - TypeError Operand type mismatch string and bool for comparison +true > array ( ) - TypeError Unsupported operand type array for comparison +true > array ( 0 => 1 ) - TypeError Unsupported operand type array for comparison +true > array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for comparison +true > array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for comparison +true > array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for comparison +true > (object) array ( ) - TypeError Unsupported operand type object for comparison +true > (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for comparison +true > (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for comparison +true > DateTime - TypeError Unsupported operand type object for comparison +true > resource - TypeError Unsupported operand type resource for comparison +true > NULL - TypeError Unsupported operand type null for comparison +0 > false - TypeError Operand type mismatch bool and int for comparison +0 > true - TypeError Operand type mismatch bool and int for comparison +0 > 0 = false +0 > 10 = false +0 > 0.0 = false +0 > 10.0 = false +0 > 3.14 = false +0 > '0' - TypeError Operand type mismatch string and int for comparison +0 > '10' - TypeError Operand type mismatch string and int for comparison +0 > '010' - TypeError Operand type mismatch string and int for comparison +0 > '10 elephants' - TypeError Operand type mismatch string and int for comparison +0 > 'foo' - TypeError Operand type mismatch string and int for comparison +0 > array ( ) - TypeError Unsupported operand type array for comparison +0 > array ( 0 => 1 ) - TypeError Unsupported operand type array for comparison +0 > array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for comparison +0 > array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for comparison +0 > array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for comparison +0 > (object) array ( ) - TypeError Unsupported operand type object for comparison +0 > (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for comparison +0 > (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for comparison +0 > DateTime - TypeError Unsupported operand type object for comparison +0 > resource - TypeError Unsupported operand type resource for comparison +0 > NULL - TypeError Unsupported operand type null for comparison +10 > false - TypeError Operand type mismatch bool and int for comparison +10 > true - TypeError Operand type mismatch bool and int for comparison +10 > 0 = true +10 > 10 = false +10 > 0.0 = true +10 > 10.0 = false +10 > 3.14 = true +10 > '0' - TypeError Operand type mismatch string and int for comparison +10 > '10' - TypeError Operand type mismatch string and int for comparison +10 > '010' - TypeError Operand type mismatch string and int for comparison +10 > '10 elephants' - TypeError Operand type mismatch string and int for comparison +10 > 'foo' - TypeError Operand type mismatch string and int for comparison +10 > array ( ) - TypeError Unsupported operand type array for comparison +10 > array ( 0 => 1 ) - TypeError Unsupported operand type array for comparison +10 > array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for comparison +10 > array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for comparison +10 > array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for comparison +10 > (object) array ( ) - TypeError Unsupported operand type object for comparison +10 > (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for comparison +10 > (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for comparison +10 > DateTime - TypeError Unsupported operand type object for comparison +10 > resource - TypeError Unsupported operand type resource for comparison +10 > NULL - TypeError Unsupported operand type null for comparison +0.0 > false - TypeError Operand type mismatch bool and float for comparison +0.0 > true - TypeError Operand type mismatch bool and float for comparison +0.0 > 0 = false +0.0 > 10 = false +0.0 > 0.0 = false +0.0 > 10.0 = false +0.0 > 3.14 = false +0.0 > '0' - TypeError Operand type mismatch string and float for comparison +0.0 > '10' - TypeError Operand type mismatch string and float for comparison +0.0 > '010' - TypeError Operand type mismatch string and float for comparison +0.0 > '10 elephants' - TypeError Operand type mismatch string and float for comparison +0.0 > 'foo' - TypeError Operand type mismatch string and float for comparison +0.0 > array ( ) - TypeError Unsupported operand type array for comparison +0.0 > array ( 0 => 1 ) - TypeError Unsupported operand type array for comparison +0.0 > array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for comparison +0.0 > array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for comparison +0.0 > array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for comparison +0.0 > (object) array ( ) - TypeError Unsupported operand type object for comparison +0.0 > (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for comparison +0.0 > (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for comparison +0.0 > DateTime - TypeError Unsupported operand type object for comparison +0.0 > resource - TypeError Unsupported operand type resource for comparison +0.0 > NULL - TypeError Unsupported operand type null for comparison +10.0 > false - TypeError Operand type mismatch bool and float for comparison +10.0 > true - TypeError Operand type mismatch bool and float for comparison +10.0 > 0 = true +10.0 > 10 = false +10.0 > 0.0 = true +10.0 > 10.0 = false +10.0 > 3.14 = true +10.0 > '0' - TypeError Operand type mismatch string and float for comparison +10.0 > '10' - TypeError Operand type mismatch string and float for comparison +10.0 > '010' - TypeError Operand type mismatch string and float for comparison +10.0 > '10 elephants' - TypeError Operand type mismatch string and float for comparison +10.0 > 'foo' - TypeError Operand type mismatch string and float for comparison +10.0 > array ( ) - TypeError Unsupported operand type array for comparison +10.0 > array ( 0 => 1 ) - TypeError Unsupported operand type array for comparison +10.0 > array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for comparison +10.0 > array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for comparison +10.0 > array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for comparison +10.0 > (object) array ( ) - TypeError Unsupported operand type object for comparison +10.0 > (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for comparison +10.0 > (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for comparison +10.0 > DateTime - TypeError Unsupported operand type object for comparison +10.0 > resource - TypeError Unsupported operand type resource for comparison +10.0 > NULL - TypeError Unsupported operand type null for comparison +3.14 > false - TypeError Operand type mismatch bool and float for comparison +3.14 > true - TypeError Operand type mismatch bool and float for comparison +3.14 > 0 = true +3.14 > 10 = false +3.14 > 0.0 = true +3.14 > 10.0 = false +3.14 > 3.14 = false +3.14 > '0' - TypeError Operand type mismatch string and float for comparison +3.14 > '10' - TypeError Operand type mismatch string and float for comparison +3.14 > '010' - TypeError Operand type mismatch string and float for comparison +3.14 > '10 elephants' - TypeError Operand type mismatch string and float for comparison +3.14 > 'foo' - TypeError Operand type mismatch string and float for comparison +3.14 > array ( ) - TypeError Unsupported operand type array for comparison +3.14 > array ( 0 => 1 ) - TypeError Unsupported operand type array for comparison +3.14 > array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for comparison +3.14 > array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for comparison +3.14 > array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for comparison +3.14 > (object) array ( ) - TypeError Unsupported operand type object for comparison +3.14 > (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for comparison +3.14 > (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for comparison +3.14 > DateTime - TypeError Unsupported operand type object for comparison +3.14 > resource - TypeError Unsupported operand type resource for comparison +3.14 > NULL - TypeError Unsupported operand type null for comparison +'0' > false - TypeError Operand type mismatch bool and string for comparison +'0' > true - TypeError Operand type mismatch bool and string for comparison +'0' > 0 - TypeError Operand type mismatch int and string for comparison +'0' > 10 - TypeError Operand type mismatch int and string for comparison +'0' > 0.0 - TypeError Operand type mismatch float and string for comparison +'0' > 10.0 - TypeError Operand type mismatch float and string for comparison +'0' > 3.14 - TypeError Operand type mismatch float and string for comparison +'0' > '0' = false +'0' > '10' = false +'0' > '010' = false +'0' > '10 elephants' = false +'0' > 'foo' = false +'0' > array ( ) - TypeError Unsupported operand type array for comparison +'0' > array ( 0 => 1 ) - TypeError Unsupported operand type array for comparison +'0' > array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for comparison +'0' > array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for comparison +'0' > array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for comparison +'0' > (object) array ( ) - TypeError Unsupported operand type object for comparison +'0' > (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for comparison +'0' > (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for comparison +'0' > DateTime - TypeError Unsupported operand type object for comparison +'0' > resource - TypeError Unsupported operand type resource for comparison +'0' > NULL - TypeError Unsupported operand type null for comparison +'10' > false - TypeError Operand type mismatch bool and string for comparison +'10' > true - TypeError Operand type mismatch bool and string for comparison +'10' > 0 - TypeError Operand type mismatch int and string for comparison +'10' > 10 - TypeError Operand type mismatch int and string for comparison +'10' > 0.0 - TypeError Operand type mismatch float and string for comparison +'10' > 10.0 - TypeError Operand type mismatch float and string for comparison +'10' > 3.14 - TypeError Operand type mismatch float and string for comparison +'10' > '0' = true +'10' > '10' = false +'10' > '010' = true +'10' > '10 elephants' = false +'10' > 'foo' = false +'10' > array ( ) - TypeError Unsupported operand type array for comparison +'10' > array ( 0 => 1 ) - TypeError Unsupported operand type array for comparison +'10' > array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for comparison +'10' > array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for comparison +'10' > array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for comparison +'10' > (object) array ( ) - TypeError Unsupported operand type object for comparison +'10' > (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for comparison +'10' > (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for comparison +'10' > DateTime - TypeError Unsupported operand type object for comparison +'10' > resource - TypeError Unsupported operand type resource for comparison +'10' > NULL - TypeError Unsupported operand type null for comparison +'010' > false - TypeError Operand type mismatch bool and string for comparison +'010' > true - TypeError Operand type mismatch bool and string for comparison +'010' > 0 - TypeError Operand type mismatch int and string for comparison +'010' > 10 - TypeError Operand type mismatch int and string for comparison +'010' > 0.0 - TypeError Operand type mismatch float and string for comparison +'010' > 10.0 - TypeError Operand type mismatch float and string for comparison +'010' > 3.14 - TypeError Operand type mismatch float and string for comparison +'010' > '0' = true +'010' > '10' = false +'010' > '010' = false +'010' > '10 elephants' = false +'010' > 'foo' = false +'010' > array ( ) - TypeError Unsupported operand type array for comparison +'010' > array ( 0 => 1 ) - TypeError Unsupported operand type array for comparison +'010' > array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for comparison +'010' > array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for comparison +'010' > array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for comparison +'010' > (object) array ( ) - TypeError Unsupported operand type object for comparison +'010' > (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for comparison +'010' > (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for comparison +'010' > DateTime - TypeError Unsupported operand type object for comparison +'010' > resource - TypeError Unsupported operand type resource for comparison +'010' > NULL - TypeError Unsupported operand type null for comparison +'10 elephants' > false - TypeError Operand type mismatch bool and string for comparison +'10 elephants' > true - TypeError Operand type mismatch bool and string for comparison +'10 elephants' > 0 - TypeError Operand type mismatch int and string for comparison +'10 elephants' > 10 - TypeError Operand type mismatch int and string for comparison +'10 elephants' > 0.0 - TypeError Operand type mismatch float and string for comparison +'10 elephants' > 10.0 - TypeError Operand type mismatch float and string for comparison +'10 elephants' > 3.14 - TypeError Operand type mismatch float and string for comparison +'10 elephants' > '0' = true +'10 elephants' > '10' = true +'10 elephants' > '010' = true +'10 elephants' > '10 elephants' = false +'10 elephants' > 'foo' = false +'10 elephants' > array ( ) - TypeError Unsupported operand type array for comparison +'10 elephants' > array ( 0 => 1 ) - TypeError Unsupported operand type array for comparison +'10 elephants' > array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for comparison +'10 elephants' > array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for comparison +'10 elephants' > array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for comparison +'10 elephants' > (object) array ( ) - TypeError Unsupported operand type object for comparison +'10 elephants' > (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for comparison +'10 elephants' > (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for comparison +'10 elephants' > DateTime - TypeError Unsupported operand type object for comparison +'10 elephants' > resource - TypeError Unsupported operand type resource for comparison +'10 elephants' > NULL - TypeError Unsupported operand type null for comparison +'foo' > false - TypeError Operand type mismatch bool and string for comparison +'foo' > true - TypeError Operand type mismatch bool and string for comparison +'foo' > 0 - TypeError Operand type mismatch int and string for comparison +'foo' > 10 - TypeError Operand type mismatch int and string for comparison +'foo' > 0.0 - TypeError Operand type mismatch float and string for comparison +'foo' > 10.0 - TypeError Operand type mismatch float and string for comparison +'foo' > 3.14 - TypeError Operand type mismatch float and string for comparison +'foo' > '0' = true +'foo' > '10' = true +'foo' > '010' = true +'foo' > '10 elephants' = true +'foo' > 'foo' = false +'foo' > array ( ) - TypeError Unsupported operand type array for comparison +'foo' > array ( 0 => 1 ) - TypeError Unsupported operand type array for comparison +'foo' > array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for comparison +'foo' > array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for comparison +'foo' > array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for comparison +'foo' > (object) array ( ) - TypeError Unsupported operand type object for comparison +'foo' > (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for comparison +'foo' > (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for comparison +'foo' > DateTime - TypeError Unsupported operand type object for comparison +'foo' > resource - TypeError Unsupported operand type resource for comparison +'foo' > NULL - TypeError Unsupported operand type null for comparison +array ( ) > false - TypeError Unsupported operand type array for comparison +array ( ) > true - TypeError Unsupported operand type array for comparison +array ( ) > 0 - TypeError Unsupported operand type array for comparison +array ( ) > 10 - TypeError Unsupported operand type array for comparison +array ( ) > 0.0 - TypeError Unsupported operand type array for comparison +array ( ) > 10.0 - TypeError Unsupported operand type array for comparison +array ( ) > 3.14 - TypeError Unsupported operand type array for comparison +array ( ) > '0' - TypeError Unsupported operand type array for comparison +array ( ) > '10' - TypeError Unsupported operand type array for comparison +array ( ) > '010' - TypeError Unsupported operand type array for comparison +array ( ) > '10 elephants' - TypeError Unsupported operand type array for comparison +array ( ) > 'foo' - TypeError Unsupported operand type array for comparison +array ( ) > array ( ) - TypeError Unsupported operand type array for comparison +array ( ) > array ( 0 => 1 ) - TypeError Unsupported operand type array for comparison +array ( ) > array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for comparison +array ( ) > array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for comparison +array ( ) > array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for comparison +array ( ) > (object) array ( ) - TypeError Unsupported operand type object for comparison +array ( ) > (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for comparison +array ( ) > (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for comparison +array ( ) > DateTime - TypeError Unsupported operand type object for comparison +array ( ) > resource - TypeError Unsupported operand type resource for comparison +array ( ) > NULL - TypeError Unsupported operand type null for comparison +array ( 0 => 1 ) > false - TypeError Unsupported operand type array for comparison +array ( 0 => 1 ) > true - TypeError Unsupported operand type array for comparison +array ( 0 => 1 ) > 0 - TypeError Unsupported operand type array for comparison +array ( 0 => 1 ) > 10 - TypeError Unsupported operand type array for comparison +array ( 0 => 1 ) > 0.0 - TypeError Unsupported operand type array for comparison +array ( 0 => 1 ) > 10.0 - TypeError Unsupported operand type array for comparison +array ( 0 => 1 ) > 3.14 - TypeError Unsupported operand type array for comparison +array ( 0 => 1 ) > '0' - TypeError Unsupported operand type array for comparison +array ( 0 => 1 ) > '10' - TypeError Unsupported operand type array for comparison +array ( 0 => 1 ) > '010' - TypeError Unsupported operand type array for comparison +array ( 0 => 1 ) > '10 elephants' - TypeError Unsupported operand type array for comparison +array ( 0 => 1 ) > 'foo' - TypeError Unsupported operand type array for comparison +array ( 0 => 1 ) > array ( ) - TypeError Unsupported operand type array for comparison +array ( 0 => 1 ) > array ( 0 => 1 ) - TypeError Unsupported operand type array for comparison +array ( 0 => 1 ) > array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for comparison +array ( 0 => 1 ) > array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for comparison +array ( 0 => 1 ) > array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for comparison +array ( 0 => 1 ) > (object) array ( ) - TypeError Unsupported operand type object for comparison +array ( 0 => 1 ) > (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for comparison +array ( 0 => 1 ) > (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for comparison +array ( 0 => 1 ) > DateTime - TypeError Unsupported operand type object for comparison +array ( 0 => 1 ) > resource - TypeError Unsupported operand type resource for comparison +array ( 0 => 1 ) > NULL - TypeError Unsupported operand type null for comparison +array ( 0 => 1, 1 => 100 ) > false - TypeError Unsupported operand type array for comparison +array ( 0 => 1, 1 => 100 ) > true - TypeError Unsupported operand type array for comparison +array ( 0 => 1, 1 => 100 ) > 0 - TypeError Unsupported operand type array for comparison +array ( 0 => 1, 1 => 100 ) > 10 - TypeError Unsupported operand type array for comparison +array ( 0 => 1, 1 => 100 ) > 0.0 - TypeError Unsupported operand type array for comparison +array ( 0 => 1, 1 => 100 ) > 10.0 - TypeError Unsupported operand type array for comparison +array ( 0 => 1, 1 => 100 ) > 3.14 - TypeError Unsupported operand type array for comparison +array ( 0 => 1, 1 => 100 ) > '0' - TypeError Unsupported operand type array for comparison +array ( 0 => 1, 1 => 100 ) > '10' - TypeError Unsupported operand type array for comparison +array ( 0 => 1, 1 => 100 ) > '010' - TypeError Unsupported operand type array for comparison +array ( 0 => 1, 1 => 100 ) > '10 elephants' - TypeError Unsupported operand type array for comparison +array ( 0 => 1, 1 => 100 ) > 'foo' - TypeError Unsupported operand type array for comparison +array ( 0 => 1, 1 => 100 ) > array ( ) - TypeError Unsupported operand type array for comparison +array ( 0 => 1, 1 => 100 ) > array ( 0 => 1 ) - TypeError Unsupported operand type array for comparison +array ( 0 => 1, 1 => 100 ) > array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for comparison +array ( 0 => 1, 1 => 100 ) > array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for comparison +array ( 0 => 1, 1 => 100 ) > array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for comparison +array ( 0 => 1, 1 => 100 ) > (object) array ( ) - TypeError Unsupported operand type object for comparison +array ( 0 => 1, 1 => 100 ) > (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for comparison +array ( 0 => 1, 1 => 100 ) > (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for comparison +array ( 0 => 1, 1 => 100 ) > DateTime - TypeError Unsupported operand type object for comparison +array ( 0 => 1, 1 => 100 ) > resource - TypeError Unsupported operand type resource for comparison +array ( 0 => 1, 1 => 100 ) > NULL - TypeError Unsupported operand type null for comparison +array ( 'foo' => 1, 'bar' => 2 ) > false - TypeError Unsupported operand type array for comparison +array ( 'foo' => 1, 'bar' => 2 ) > true - TypeError Unsupported operand type array for comparison +array ( 'foo' => 1, 'bar' => 2 ) > 0 - TypeError Unsupported operand type array for comparison +array ( 'foo' => 1, 'bar' => 2 ) > 10 - TypeError Unsupported operand type array for comparison +array ( 'foo' => 1, 'bar' => 2 ) > 0.0 - TypeError Unsupported operand type array for comparison +array ( 'foo' => 1, 'bar' => 2 ) > 10.0 - TypeError Unsupported operand type array for comparison +array ( 'foo' => 1, 'bar' => 2 ) > 3.14 - TypeError Unsupported operand type array for comparison +array ( 'foo' => 1, 'bar' => 2 ) > '0' - TypeError Unsupported operand type array for comparison +array ( 'foo' => 1, 'bar' => 2 ) > '10' - TypeError Unsupported operand type array for comparison +array ( 'foo' => 1, 'bar' => 2 ) > '010' - TypeError Unsupported operand type array for comparison +array ( 'foo' => 1, 'bar' => 2 ) > '10 elephants' - TypeError Unsupported operand type array for comparison +array ( 'foo' => 1, 'bar' => 2 ) > 'foo' - TypeError Unsupported operand type array for comparison +array ( 'foo' => 1, 'bar' => 2 ) > array ( ) - TypeError Unsupported operand type array for comparison +array ( 'foo' => 1, 'bar' => 2 ) > array ( 0 => 1 ) - TypeError Unsupported operand type array for comparison +array ( 'foo' => 1, 'bar' => 2 ) > array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for comparison +array ( 'foo' => 1, 'bar' => 2 ) > array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for comparison +array ( 'foo' => 1, 'bar' => 2 ) > array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for comparison +array ( 'foo' => 1, 'bar' => 2 ) > (object) array ( ) - TypeError Unsupported operand type object for comparison +array ( 'foo' => 1, 'bar' => 2 ) > (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for comparison +array ( 'foo' => 1, 'bar' => 2 ) > (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for comparison +array ( 'foo' => 1, 'bar' => 2 ) > DateTime - TypeError Unsupported operand type object for comparison +array ( 'foo' => 1, 'bar' => 2 ) > resource - TypeError Unsupported operand type resource for comparison +array ( 'foo' => 1, 'bar' => 2 ) > NULL - TypeError Unsupported operand type null for comparison +array ( 'bar' => 1, 'foo' => 2 ) > false - TypeError Unsupported operand type array for comparison +array ( 'bar' => 1, 'foo' => 2 ) > true - TypeError Unsupported operand type array for comparison +array ( 'bar' => 1, 'foo' => 2 ) > 0 - TypeError Unsupported operand type array for comparison +array ( 'bar' => 1, 'foo' => 2 ) > 10 - TypeError Unsupported operand type array for comparison +array ( 'bar' => 1, 'foo' => 2 ) > 0.0 - TypeError Unsupported operand type array for comparison +array ( 'bar' => 1, 'foo' => 2 ) > 10.0 - TypeError Unsupported operand type array for comparison +array ( 'bar' => 1, 'foo' => 2 ) > 3.14 - TypeError Unsupported operand type array for comparison +array ( 'bar' => 1, 'foo' => 2 ) > '0' - TypeError Unsupported operand type array for comparison +array ( 'bar' => 1, 'foo' => 2 ) > '10' - TypeError Unsupported operand type array for comparison +array ( 'bar' => 1, 'foo' => 2 ) > '010' - TypeError Unsupported operand type array for comparison +array ( 'bar' => 1, 'foo' => 2 ) > '10 elephants' - TypeError Unsupported operand type array for comparison +array ( 'bar' => 1, 'foo' => 2 ) > 'foo' - TypeError Unsupported operand type array for comparison +array ( 'bar' => 1, 'foo' => 2 ) > array ( ) - TypeError Unsupported operand type array for comparison +array ( 'bar' => 1, 'foo' => 2 ) > array ( 0 => 1 ) - TypeError Unsupported operand type array for comparison +array ( 'bar' => 1, 'foo' => 2 ) > array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for comparison +array ( 'bar' => 1, 'foo' => 2 ) > array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for comparison +array ( 'bar' => 1, 'foo' => 2 ) > array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for comparison +array ( 'bar' => 1, 'foo' => 2 ) > (object) array ( ) - TypeError Unsupported operand type object for comparison +array ( 'bar' => 1, 'foo' => 2 ) > (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for comparison +array ( 'bar' => 1, 'foo' => 2 ) > (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for comparison +array ( 'bar' => 1, 'foo' => 2 ) > DateTime - TypeError Unsupported operand type object for comparison +array ( 'bar' => 1, 'foo' => 2 ) > resource - TypeError Unsupported operand type resource for comparison +array ( 'bar' => 1, 'foo' => 2 ) > NULL - TypeError Unsupported operand type null for comparison +(object) array ( ) > false - TypeError Unsupported operand type object for comparison +(object) array ( ) > true - TypeError Unsupported operand type object for comparison +(object) array ( ) > 0 - TypeError Unsupported operand type object for comparison +(object) array ( ) > 10 - TypeError Unsupported operand type object for comparison +(object) array ( ) > 0.0 - TypeError Unsupported operand type object for comparison +(object) array ( ) > 10.0 - TypeError Unsupported operand type object for comparison +(object) array ( ) > 3.14 - TypeError Unsupported operand type object for comparison +(object) array ( ) > '0' - TypeError Unsupported operand type object for comparison +(object) array ( ) > '10' - TypeError Unsupported operand type object for comparison +(object) array ( ) > '010' - TypeError Unsupported operand type object for comparison +(object) array ( ) > '10 elephants' - TypeError Unsupported operand type object for comparison +(object) array ( ) > 'foo' - TypeError Unsupported operand type object for comparison +(object) array ( ) > array ( ) - TypeError Unsupported operand type array for comparison +(object) array ( ) > array ( 0 => 1 ) - TypeError Unsupported operand type array for comparison +(object) array ( ) > array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for comparison +(object) array ( ) > array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for comparison +(object) array ( ) > array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for comparison +(object) array ( ) > (object) array ( ) - TypeError Unsupported operand type object for comparison +(object) array ( ) > (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for comparison +(object) array ( ) > (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for comparison +(object) array ( ) > DateTime - TypeError Unsupported operand type object for comparison +(object) array ( ) > resource - TypeError Unsupported operand type resource for comparison +(object) array ( ) > NULL - TypeError Unsupported operand type null for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) > false - TypeError Unsupported operand type object for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) > true - TypeError Unsupported operand type object for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) > 0 - TypeError Unsupported operand type object for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) > 10 - TypeError Unsupported operand type object for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) > 0.0 - TypeError Unsupported operand type object for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) > 10.0 - TypeError Unsupported operand type object for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) > 3.14 - TypeError Unsupported operand type object for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) > '0' - TypeError Unsupported operand type object for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) > '10' - TypeError Unsupported operand type object for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) > '010' - TypeError Unsupported operand type object for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) > '10 elephants' - TypeError Unsupported operand type object for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) > 'foo' - TypeError Unsupported operand type object for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) > array ( ) - TypeError Unsupported operand type array for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) > array ( 0 => 1 ) - TypeError Unsupported operand type array for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) > array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) > array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) > array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) > (object) array ( ) - TypeError Unsupported operand type object for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) > (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) > (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) > DateTime - TypeError Unsupported operand type object for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) > resource - TypeError Unsupported operand type resource for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) > NULL - TypeError Unsupported operand type null for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) > false - TypeError Unsupported operand type object for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) > true - TypeError Unsupported operand type object for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) > 0 - TypeError Unsupported operand type object for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) > 10 - TypeError Unsupported operand type object for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) > 0.0 - TypeError Unsupported operand type object for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) > 10.0 - TypeError Unsupported operand type object for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) > 3.14 - TypeError Unsupported operand type object for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) > '0' - TypeError Unsupported operand type object for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) > '10' - TypeError Unsupported operand type object for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) > '010' - TypeError Unsupported operand type object for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) > '10 elephants' - TypeError Unsupported operand type object for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) > 'foo' - TypeError Unsupported operand type object for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) > array ( ) - TypeError Unsupported operand type array for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) > array ( 0 => 1 ) - TypeError Unsupported operand type array for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) > array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) > array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) > array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) > (object) array ( ) - TypeError Unsupported operand type object for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) > (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) > (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) > DateTime - TypeError Unsupported operand type object for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) > resource - TypeError Unsupported operand type resource for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) > NULL - TypeError Unsupported operand type null for comparison +DateTime > false - TypeError Unsupported operand type object for comparison +DateTime > true - TypeError Unsupported operand type object for comparison +DateTime > 0 - TypeError Unsupported operand type object for comparison +DateTime > 10 - TypeError Unsupported operand type object for comparison +DateTime > 0.0 - TypeError Unsupported operand type object for comparison +DateTime > 10.0 - TypeError Unsupported operand type object for comparison +DateTime > 3.14 - TypeError Unsupported operand type object for comparison +DateTime > '0' - TypeError Unsupported operand type object for comparison +DateTime > '10' - TypeError Unsupported operand type object for comparison +DateTime > '010' - TypeError Unsupported operand type object for comparison +DateTime > '10 elephants' - TypeError Unsupported operand type object for comparison +DateTime > 'foo' - TypeError Unsupported operand type object for comparison +DateTime > array ( ) - TypeError Unsupported operand type array for comparison +DateTime > array ( 0 => 1 ) - TypeError Unsupported operand type array for comparison +DateTime > array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for comparison +DateTime > array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for comparison +DateTime > array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for comparison +DateTime > (object) array ( ) - TypeError Unsupported operand type object for comparison +DateTime > (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for comparison +DateTime > (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for comparison +DateTime > DateTime - TypeError Unsupported operand type object for comparison +DateTime > resource - TypeError Unsupported operand type resource for comparison +DateTime > NULL - TypeError Unsupported operand type null for comparison +resource > false - TypeError Unsupported operand type resource for comparison +resource > true - TypeError Unsupported operand type resource for comparison +resource > 0 - TypeError Unsupported operand type resource for comparison +resource > 10 - TypeError Unsupported operand type resource for comparison +resource > 0.0 - TypeError Unsupported operand type resource for comparison +resource > 10.0 - TypeError Unsupported operand type resource for comparison +resource > 3.14 - TypeError Unsupported operand type resource for comparison +resource > '0' - TypeError Unsupported operand type resource for comparison +resource > '10' - TypeError Unsupported operand type resource for comparison +resource > '010' - TypeError Unsupported operand type resource for comparison +resource > '10 elephants' - TypeError Unsupported operand type resource for comparison +resource > 'foo' - TypeError Unsupported operand type resource for comparison +resource > array ( ) - TypeError Unsupported operand type array for comparison +resource > array ( 0 => 1 ) - TypeError Unsupported operand type array for comparison +resource > array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for comparison +resource > array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for comparison +resource > array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for comparison +resource > (object) array ( ) - TypeError Unsupported operand type object for comparison +resource > (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for comparison +resource > (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for comparison +resource > DateTime - TypeError Unsupported operand type object for comparison +resource > resource - TypeError Unsupported operand type resource for comparison +resource > NULL - TypeError Unsupported operand type null for comparison +NULL > false - TypeError Unsupported operand type null for comparison +NULL > true - TypeError Unsupported operand type null for comparison +NULL > 0 - TypeError Unsupported operand type null for comparison +NULL > 10 - TypeError Unsupported operand type null for comparison +NULL > 0.0 - TypeError Unsupported operand type null for comparison +NULL > 10.0 - TypeError Unsupported operand type null for comparison +NULL > 3.14 - TypeError Unsupported operand type null for comparison +NULL > '0' - TypeError Unsupported operand type null for comparison +NULL > '10' - TypeError Unsupported operand type null for comparison +NULL > '010' - TypeError Unsupported operand type null for comparison +NULL > '10 elephants' - TypeError Unsupported operand type null for comparison +NULL > 'foo' - TypeError Unsupported operand type null for comparison +NULL > array ( ) - TypeError Unsupported operand type array for comparison +NULL > array ( 0 => 1 ) - TypeError Unsupported operand type array for comparison +NULL > array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for comparison +NULL > array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for comparison +NULL > array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for comparison +NULL > (object) array ( ) - TypeError Unsupported operand type object for comparison +NULL > (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for comparison +NULL > (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for comparison +NULL > DateTime - TypeError Unsupported operand type object for comparison +NULL > resource - TypeError Unsupported operand type resource for comparison +NULL > NULL - TypeError Unsupported operand type null for comparison \ No newline at end of file diff --git a/Zend/tests/operators/comparison/gte.phpt b/Zend/tests/operators/comparison/gte.phpt new file mode 100644 index 000000000000..38ba14fecd19 --- /dev/null +++ b/Zend/tests/operators/comparison/gte.phpt @@ -0,0 +1,540 @@ +--TEST-- +greater than or equal to '>=' operator +--FILE-- += $b', function($a, $b) { return $a >= $b; }); + +--EXPECT-- +false >= false = true +false >= true = false +false >= 0 = true +false >= 10 = false +false >= 0.0 = true +false >= 10.0 = false +false >= 3.14 = false +false >= '0' = true +false >= '10' = false +false >= '010' = false +false >= '10 elephants' = false +false >= 'foo' = false +false >= array ( ) = true +false >= array ( 0 => 1 ) = false +false >= array ( 0 => 1, 1 => 100 ) = false +false >= array ( 'foo' => 1, 'bar' => 2 ) = false +false >= array ( 'bar' => 1, 'foo' => 2 ) = false +false >= (object) array ( ) = false +false >= (object) array ( 'foo' => 1, 'bar' => 2 ) = false +false >= (object) array ( 'bar' => 1, 'foo' => 2 ) = false +false >= DateTime = false +false >= resource = false +false >= NULL = true +true >= false = true +true >= true = true +true >= 0 = true +true >= 10 = true +true >= 0.0 = true +true >= 10.0 = true +true >= 3.14 = true +true >= '0' = true +true >= '10' = true +true >= '010' = true +true >= '10 elephants' = true +true >= 'foo' = true +true >= array ( ) = true +true >= array ( 0 => 1 ) = true +true >= array ( 0 => 1, 1 => 100 ) = true +true >= array ( 'foo' => 1, 'bar' => 2 ) = true +true >= array ( 'bar' => 1, 'foo' => 2 ) = true +true >= (object) array ( ) = true +true >= (object) array ( 'foo' => 1, 'bar' => 2 ) = true +true >= (object) array ( 'bar' => 1, 'foo' => 2 ) = true +true >= DateTime = true +true >= resource = true +true >= NULL = true +0 >= false = true +0 >= true = false +0 >= 0 = true +0 >= 10 = false +0 >= 0.0 = true +0 >= 10.0 = false +0 >= 3.14 = false +0 >= '0' = true +0 >= '10' = false +0 >= '010' = false +0 >= '10 elephants' = false +0 >= 'foo' = true +0 >= array ( ) = false +0 >= array ( 0 => 1 ) = false +0 >= array ( 0 => 1, 1 => 100 ) = false +0 >= array ( 'foo' => 1, 'bar' => 2 ) = false +0 >= array ( 'bar' => 1, 'foo' => 2 ) = false +0 >= (object) array ( ) = false - Notice Object of class stdClass could not be converted to int +0 >= (object) array ( 'foo' => 1, 'bar' => 2 ) = false - Notice Object of class stdClass could not be converted to int +0 >= (object) array ( 'bar' => 1, 'foo' => 2 ) = false - Notice Object of class stdClass could not be converted to int +0 >= DateTime = false - Notice Object of class DateTime could not be converted to int +0 >= resource = false +0 >= NULL = true +10 >= false = true +10 >= true = true +10 >= 0 = true +10 >= 10 = true +10 >= 0.0 = true +10 >= 10.0 = true +10 >= 3.14 = true +10 >= '0' = true +10 >= '10' = true +10 >= '010' = true +10 >= '10 elephants' = true +10 >= 'foo' = true +10 >= array ( ) = false +10 >= array ( 0 => 1 ) = false +10 >= array ( 0 => 1, 1 => 100 ) = false +10 >= array ( 'foo' => 1, 'bar' => 2 ) = false +10 >= array ( 'bar' => 1, 'foo' => 2 ) = false +10 >= (object) array ( ) = true - Notice Object of class stdClass could not be converted to int +10 >= (object) array ( 'foo' => 1, 'bar' => 2 ) = true - Notice Object of class stdClass could not be converted to int +10 >= (object) array ( 'bar' => 1, 'foo' => 2 ) = true - Notice Object of class stdClass could not be converted to int +10 >= DateTime = true - Notice Object of class DateTime could not be converted to int +10 >= resource = true +10 >= NULL = true +0.0 >= false = true +0.0 >= true = false +0.0 >= 0 = true +0.0 >= 10 = false +0.0 >= 0.0 = true +0.0 >= 10.0 = false +0.0 >= 3.14 = false +0.0 >= '0' = true +0.0 >= '10' = false +0.0 >= '010' = false +0.0 >= '10 elephants' = false +0.0 >= 'foo' = true +0.0 >= array ( ) = false +0.0 >= array ( 0 => 1 ) = false +0.0 >= array ( 0 => 1, 1 => 100 ) = false +0.0 >= array ( 'foo' => 1, 'bar' => 2 ) = false +0.0 >= array ( 'bar' => 1, 'foo' => 2 ) = false +0.0 >= (object) array ( ) = false - Notice Object of class stdClass could not be converted to float +0.0 >= (object) array ( 'foo' => 1, 'bar' => 2 ) = false - Notice Object of class stdClass could not be converted to float +0.0 >= (object) array ( 'bar' => 1, 'foo' => 2 ) = false - Notice Object of class stdClass could not be converted to float +0.0 >= DateTime = false - Notice Object of class DateTime could not be converted to float +0.0 >= resource = false +0.0 >= NULL = true +10.0 >= false = true +10.0 >= true = true +10.0 >= 0 = true +10.0 >= 10 = true +10.0 >= 0.0 = true +10.0 >= 10.0 = true +10.0 >= 3.14 = true +10.0 >= '0' = true +10.0 >= '10' = true +10.0 >= '010' = true +10.0 >= '10 elephants' = true +10.0 >= 'foo' = true +10.0 >= array ( ) = false +10.0 >= array ( 0 => 1 ) = false +10.0 >= array ( 0 => 1, 1 => 100 ) = false +10.0 >= array ( 'foo' => 1, 'bar' => 2 ) = false +10.0 >= array ( 'bar' => 1, 'foo' => 2 ) = false +10.0 >= (object) array ( ) = true - Notice Object of class stdClass could not be converted to float +10.0 >= (object) array ( 'foo' => 1, 'bar' => 2 ) = true - Notice Object of class stdClass could not be converted to float +10.0 >= (object) array ( 'bar' => 1, 'foo' => 2 ) = true - Notice Object of class stdClass could not be converted to float +10.0 >= DateTime = true - Notice Object of class DateTime could not be converted to float +10.0 >= resource = true +10.0 >= NULL = true +3.14 >= false = true +3.14 >= true = true +3.14 >= 0 = true +3.14 >= 10 = false +3.14 >= 0.0 = true +3.14 >= 10.0 = false +3.14 >= 3.14 = true +3.14 >= '0' = true +3.14 >= '10' = false +3.14 >= '010' = false +3.14 >= '10 elephants' = false +3.14 >= 'foo' = true +3.14 >= array ( ) = false +3.14 >= array ( 0 => 1 ) = false +3.14 >= array ( 0 => 1, 1 => 100 ) = false +3.14 >= array ( 'foo' => 1, 'bar' => 2 ) = false +3.14 >= array ( 'bar' => 1, 'foo' => 2 ) = false +3.14 >= (object) array ( ) = true - Notice Object of class stdClass could not be converted to float +3.14 >= (object) array ( 'foo' => 1, 'bar' => 2 ) = true - Notice Object of class stdClass could not be converted to float +3.14 >= (object) array ( 'bar' => 1, 'foo' => 2 ) = true - Notice Object of class stdClass could not be converted to float +3.14 >= DateTime = true - Notice Object of class DateTime could not be converted to float +3.14 >= resource = false +3.14 >= NULL = true +'0' >= false = true +'0' >= true = false +'0' >= 0 = true +'0' >= 10 = false +'0' >= 0.0 = true +'0' >= 10.0 = false +'0' >= 3.14 = false +'0' >= '0' = true +'0' >= '10' = false +'0' >= '010' = false +'0' >= '10 elephants' = false +'0' >= 'foo' = false +'0' >= array ( ) = false +'0' >= array ( 0 => 1 ) = false +'0' >= array ( 0 => 1, 1 => 100 ) = false +'0' >= array ( 'foo' => 1, 'bar' => 2 ) = false +'0' >= array ( 'bar' => 1, 'foo' => 2 ) = false +'0' >= (object) array ( ) = false +'0' >= (object) array ( 'foo' => 1, 'bar' => 2 ) = false +'0' >= (object) array ( 'bar' => 1, 'foo' => 2 ) = false +'0' >= DateTime = false +'0' >= resource = false +'0' >= NULL = true +'10' >= false = true +'10' >= true = true +'10' >= 0 = true +'10' >= 10 = true +'10' >= 0.0 = true +'10' >= 10.0 = true +'10' >= 3.14 = true +'10' >= '0' = true +'10' >= '10' = true +'10' >= '010' = true +'10' >= '10 elephants' = false +'10' >= 'foo' = false +'10' >= array ( ) = false +'10' >= array ( 0 => 1 ) = false +'10' >= array ( 0 => 1, 1 => 100 ) = false +'10' >= array ( 'foo' => 1, 'bar' => 2 ) = false +'10' >= array ( 'bar' => 1, 'foo' => 2 ) = false +'10' >= (object) array ( ) = false +'10' >= (object) array ( 'foo' => 1, 'bar' => 2 ) = false +'10' >= (object) array ( 'bar' => 1, 'foo' => 2 ) = false +'10' >= DateTime = false +'10' >= resource = true +'10' >= NULL = true +'010' >= false = true +'010' >= true = true +'010' >= 0 = true +'010' >= 10 = true +'010' >= 0.0 = true +'010' >= 10.0 = true +'010' >= 3.14 = true +'010' >= '0' = true +'010' >= '10' = true +'010' >= '010' = true +'010' >= '10 elephants' = false +'010' >= 'foo' = false +'010' >= array ( ) = false +'010' >= array ( 0 => 1 ) = false +'010' >= array ( 0 => 1, 1 => 100 ) = false +'010' >= array ( 'foo' => 1, 'bar' => 2 ) = false +'010' >= array ( 'bar' => 1, 'foo' => 2 ) = false +'010' >= (object) array ( ) = false +'010' >= (object) array ( 'foo' => 1, 'bar' => 2 ) = false +'010' >= (object) array ( 'bar' => 1, 'foo' => 2 ) = false +'010' >= DateTime = false +'010' >= resource = true +'010' >= NULL = true +'10 elephants' >= false = true +'10 elephants' >= true = true +'10 elephants' >= 0 = true +'10 elephants' >= 10 = true +'10 elephants' >= 0.0 = true +'10 elephants' >= 10.0 = true +'10 elephants' >= 3.14 = true +'10 elephants' >= '0' = true +'10 elephants' >= '10' = true +'10 elephants' >= '010' = true +'10 elephants' >= '10 elephants' = true +'10 elephants' >= 'foo' = false +'10 elephants' >= array ( ) = false +'10 elephants' >= array ( 0 => 1 ) = false +'10 elephants' >= array ( 0 => 1, 1 => 100 ) = false +'10 elephants' >= array ( 'foo' => 1, 'bar' => 2 ) = false +'10 elephants' >= array ( 'bar' => 1, 'foo' => 2 ) = false +'10 elephants' >= (object) array ( ) = false +'10 elephants' >= (object) array ( 'foo' => 1, 'bar' => 2 ) = false +'10 elephants' >= (object) array ( 'bar' => 1, 'foo' => 2 ) = false +'10 elephants' >= DateTime = false +'10 elephants' >= resource = true +'10 elephants' >= NULL = true +'foo' >= false = true +'foo' >= true = true +'foo' >= 0 = true +'foo' >= 10 = false +'foo' >= 0.0 = true +'foo' >= 10.0 = false +'foo' >= 3.14 = false +'foo' >= '0' = true +'foo' >= '10' = true +'foo' >= '010' = true +'foo' >= '10 elephants' = true +'foo' >= 'foo' = true +'foo' >= array ( ) = false +'foo' >= array ( 0 => 1 ) = false +'foo' >= array ( 0 => 1, 1 => 100 ) = false +'foo' >= array ( 'foo' => 1, 'bar' => 2 ) = false +'foo' >= array ( 'bar' => 1, 'foo' => 2 ) = false +'foo' >= (object) array ( ) = false +'foo' >= (object) array ( 'foo' => 1, 'bar' => 2 ) = false +'foo' >= (object) array ( 'bar' => 1, 'foo' => 2 ) = false +'foo' >= DateTime = false +'foo' >= resource = false +'foo' >= NULL = true +array ( ) >= false = true +array ( ) >= true = false +array ( ) >= 0 = true +array ( ) >= 10 = true +array ( ) >= 0.0 = true +array ( ) >= 10.0 = true +array ( ) >= 3.14 = true +array ( ) >= '0' = true +array ( ) >= '10' = true +array ( ) >= '010' = true +array ( ) >= '10 elephants' = true +array ( ) >= 'foo' = true +array ( ) >= array ( ) = true +array ( ) >= array ( 0 => 1 ) = false +array ( ) >= array ( 0 => 1, 1 => 100 ) = false +array ( ) >= array ( 'foo' => 1, 'bar' => 2 ) = false +array ( ) >= array ( 'bar' => 1, 'foo' => 2 ) = false +array ( ) >= (object) array ( ) = false +array ( ) >= (object) array ( 'foo' => 1, 'bar' => 2 ) = false +array ( ) >= (object) array ( 'bar' => 1, 'foo' => 2 ) = false +array ( ) >= DateTime = false +array ( ) >= resource = true +array ( ) >= NULL = true +array ( 0 => 1 ) >= false = true +array ( 0 => 1 ) >= true = true +array ( 0 => 1 ) >= 0 = true +array ( 0 => 1 ) >= 10 = true +array ( 0 => 1 ) >= 0.0 = true +array ( 0 => 1 ) >= 10.0 = true +array ( 0 => 1 ) >= 3.14 = true +array ( 0 => 1 ) >= '0' = true +array ( 0 => 1 ) >= '10' = true +array ( 0 => 1 ) >= '010' = true +array ( 0 => 1 ) >= '10 elephants' = true +array ( 0 => 1 ) >= 'foo' = true +array ( 0 => 1 ) >= array ( ) = true +array ( 0 => 1 ) >= array ( 0 => 1 ) = true +array ( 0 => 1 ) >= array ( 0 => 1, 1 => 100 ) = false +array ( 0 => 1 ) >= array ( 'foo' => 1, 'bar' => 2 ) = false +array ( 0 => 1 ) >= array ( 'bar' => 1, 'foo' => 2 ) = false +array ( 0 => 1 ) >= (object) array ( ) = false +array ( 0 => 1 ) >= (object) array ( 'foo' => 1, 'bar' => 2 ) = false +array ( 0 => 1 ) >= (object) array ( 'bar' => 1, 'foo' => 2 ) = false +array ( 0 => 1 ) >= DateTime = false +array ( 0 => 1 ) >= resource = true +array ( 0 => 1 ) >= NULL = true +array ( 0 => 1, 1 => 100 ) >= false = true +array ( 0 => 1, 1 => 100 ) >= true = true +array ( 0 => 1, 1 => 100 ) >= 0 = true +array ( 0 => 1, 1 => 100 ) >= 10 = true +array ( 0 => 1, 1 => 100 ) >= 0.0 = true +array ( 0 => 1, 1 => 100 ) >= 10.0 = true +array ( 0 => 1, 1 => 100 ) >= 3.14 = true +array ( 0 => 1, 1 => 100 ) >= '0' = true +array ( 0 => 1, 1 => 100 ) >= '10' = true +array ( 0 => 1, 1 => 100 ) >= '010' = true +array ( 0 => 1, 1 => 100 ) >= '10 elephants' = true +array ( 0 => 1, 1 => 100 ) >= 'foo' = true +array ( 0 => 1, 1 => 100 ) >= array ( ) = true +array ( 0 => 1, 1 => 100 ) >= array ( 0 => 1 ) = true +array ( 0 => 1, 1 => 100 ) >= array ( 0 => 1, 1 => 100 ) = true +array ( 0 => 1, 1 => 100 ) >= array ( 'foo' => 1, 'bar' => 2 ) = false +array ( 0 => 1, 1 => 100 ) >= array ( 'bar' => 1, 'foo' => 2 ) = false +array ( 0 => 1, 1 => 100 ) >= (object) array ( ) = false +array ( 0 => 1, 1 => 100 ) >= (object) array ( 'foo' => 1, 'bar' => 2 ) = false +array ( 0 => 1, 1 => 100 ) >= (object) array ( 'bar' => 1, 'foo' => 2 ) = false +array ( 0 => 1, 1 => 100 ) >= DateTime = false +array ( 0 => 1, 1 => 100 ) >= resource = true +array ( 0 => 1, 1 => 100 ) >= NULL = true +array ( 'foo' => 1, 'bar' => 2 ) >= false = true +array ( 'foo' => 1, 'bar' => 2 ) >= true = true +array ( 'foo' => 1, 'bar' => 2 ) >= 0 = true +array ( 'foo' => 1, 'bar' => 2 ) >= 10 = true +array ( 'foo' => 1, 'bar' => 2 ) >= 0.0 = true +array ( 'foo' => 1, 'bar' => 2 ) >= 10.0 = true +array ( 'foo' => 1, 'bar' => 2 ) >= 3.14 = true +array ( 'foo' => 1, 'bar' => 2 ) >= '0' = true +array ( 'foo' => 1, 'bar' => 2 ) >= '10' = true +array ( 'foo' => 1, 'bar' => 2 ) >= '010' = true +array ( 'foo' => 1, 'bar' => 2 ) >= '10 elephants' = true +array ( 'foo' => 1, 'bar' => 2 ) >= 'foo' = true +array ( 'foo' => 1, 'bar' => 2 ) >= array ( ) = true +array ( 'foo' => 1, 'bar' => 2 ) >= array ( 0 => 1 ) = true +array ( 'foo' => 1, 'bar' => 2 ) >= array ( 0 => 1, 1 => 100 ) = false +array ( 'foo' => 1, 'bar' => 2 ) >= array ( 'foo' => 1, 'bar' => 2 ) = true +array ( 'foo' => 1, 'bar' => 2 ) >= array ( 'bar' => 1, 'foo' => 2 ) = true +array ( 'foo' => 1, 'bar' => 2 ) >= (object) array ( ) = false +array ( 'foo' => 1, 'bar' => 2 ) >= (object) array ( 'foo' => 1, 'bar' => 2 ) = false +array ( 'foo' => 1, 'bar' => 2 ) >= (object) array ( 'bar' => 1, 'foo' => 2 ) = false +array ( 'foo' => 1, 'bar' => 2 ) >= DateTime = false +array ( 'foo' => 1, 'bar' => 2 ) >= resource = true +array ( 'foo' => 1, 'bar' => 2 ) >= NULL = true +array ( 'bar' => 1, 'foo' => 2 ) >= false = true +array ( 'bar' => 1, 'foo' => 2 ) >= true = true +array ( 'bar' => 1, 'foo' => 2 ) >= 0 = true +array ( 'bar' => 1, 'foo' => 2 ) >= 10 = true +array ( 'bar' => 1, 'foo' => 2 ) >= 0.0 = true +array ( 'bar' => 1, 'foo' => 2 ) >= 10.0 = true +array ( 'bar' => 1, 'foo' => 2 ) >= 3.14 = true +array ( 'bar' => 1, 'foo' => 2 ) >= '0' = true +array ( 'bar' => 1, 'foo' => 2 ) >= '10' = true +array ( 'bar' => 1, 'foo' => 2 ) >= '010' = true +array ( 'bar' => 1, 'foo' => 2 ) >= '10 elephants' = true +array ( 'bar' => 1, 'foo' => 2 ) >= 'foo' = true +array ( 'bar' => 1, 'foo' => 2 ) >= array ( ) = true +array ( 'bar' => 1, 'foo' => 2 ) >= array ( 0 => 1 ) = true +array ( 'bar' => 1, 'foo' => 2 ) >= array ( 0 => 1, 1 => 100 ) = false +array ( 'bar' => 1, 'foo' => 2 ) >= array ( 'foo' => 1, 'bar' => 2 ) = true +array ( 'bar' => 1, 'foo' => 2 ) >= array ( 'bar' => 1, 'foo' => 2 ) = true +array ( 'bar' => 1, 'foo' => 2 ) >= (object) array ( ) = false +array ( 'bar' => 1, 'foo' => 2 ) >= (object) array ( 'foo' => 1, 'bar' => 2 ) = false +array ( 'bar' => 1, 'foo' => 2 ) >= (object) array ( 'bar' => 1, 'foo' => 2 ) = false +array ( 'bar' => 1, 'foo' => 2 ) >= DateTime = false +array ( 'bar' => 1, 'foo' => 2 ) >= resource = true +array ( 'bar' => 1, 'foo' => 2 ) >= NULL = true +(object) array ( ) >= false = true +(object) array ( ) >= true = true +(object) array ( ) >= 0 = true - Notice Object of class stdClass could not be converted to int +(object) array ( ) >= 10 = false - Notice Object of class stdClass could not be converted to int +(object) array ( ) >= 0.0 = true - Notice Object of class stdClass could not be converted to float +(object) array ( ) >= 10.0 = false - Notice Object of class stdClass could not be converted to float +(object) array ( ) >= 3.14 = false - Notice Object of class stdClass could not be converted to float +(object) array ( ) >= '0' = true +(object) array ( ) >= '10' = true +(object) array ( ) >= '010' = true +(object) array ( ) >= '10 elephants' = true +(object) array ( ) >= 'foo' = true +(object) array ( ) >= array ( ) = true +(object) array ( ) >= array ( 0 => 1 ) = true +(object) array ( ) >= array ( 0 => 1, 1 => 100 ) = true +(object) array ( ) >= array ( 'foo' => 1, 'bar' => 2 ) = true +(object) array ( ) >= array ( 'bar' => 1, 'foo' => 2 ) = true +(object) array ( ) >= (object) array ( ) = true +(object) array ( ) >= (object) array ( 'foo' => 1, 'bar' => 2 ) = false +(object) array ( ) >= (object) array ( 'bar' => 1, 'foo' => 2 ) = false +(object) array ( ) >= DateTime = false +(object) array ( ) >= resource = true +(object) array ( ) >= NULL = true +(object) array ( 'foo' => 1, 'bar' => 2 ) >= false = true +(object) array ( 'foo' => 1, 'bar' => 2 ) >= true = true +(object) array ( 'foo' => 1, 'bar' => 2 ) >= 0 = true - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) >= 10 = false - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) >= 0.0 = true - Notice Object of class stdClass could not be converted to float +(object) array ( 'foo' => 1, 'bar' => 2 ) >= 10.0 = false - Notice Object of class stdClass could not be converted to float +(object) array ( 'foo' => 1, 'bar' => 2 ) >= 3.14 = false - Notice Object of class stdClass could not be converted to float +(object) array ( 'foo' => 1, 'bar' => 2 ) >= '0' = true +(object) array ( 'foo' => 1, 'bar' => 2 ) >= '10' = true +(object) array ( 'foo' => 1, 'bar' => 2 ) >= '010' = true +(object) array ( 'foo' => 1, 'bar' => 2 ) >= '10 elephants' = true +(object) array ( 'foo' => 1, 'bar' => 2 ) >= 'foo' = true +(object) array ( 'foo' => 1, 'bar' => 2 ) >= array ( ) = true +(object) array ( 'foo' => 1, 'bar' => 2 ) >= array ( 0 => 1 ) = true +(object) array ( 'foo' => 1, 'bar' => 2 ) >= array ( 0 => 1, 1 => 100 ) = true +(object) array ( 'foo' => 1, 'bar' => 2 ) >= array ( 'foo' => 1, 'bar' => 2 ) = true +(object) array ( 'foo' => 1, 'bar' => 2 ) >= array ( 'bar' => 1, 'foo' => 2 ) = true +(object) array ( 'foo' => 1, 'bar' => 2 ) >= (object) array ( ) = true +(object) array ( 'foo' => 1, 'bar' => 2 ) >= (object) array ( 'foo' => 1, 'bar' => 2 ) = true +(object) array ( 'foo' => 1, 'bar' => 2 ) >= (object) array ( 'bar' => 1, 'foo' => 2 ) = true +(object) array ( 'foo' => 1, 'bar' => 2 ) >= DateTime = false +(object) array ( 'foo' => 1, 'bar' => 2 ) >= resource = true +(object) array ( 'foo' => 1, 'bar' => 2 ) >= NULL = true +(object) array ( 'bar' => 1, 'foo' => 2 ) >= false = true +(object) array ( 'bar' => 1, 'foo' => 2 ) >= true = true +(object) array ( 'bar' => 1, 'foo' => 2 ) >= 0 = true - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) >= 10 = false - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) >= 0.0 = true - Notice Object of class stdClass could not be converted to float +(object) array ( 'bar' => 1, 'foo' => 2 ) >= 10.0 = false - Notice Object of class stdClass could not be converted to float +(object) array ( 'bar' => 1, 'foo' => 2 ) >= 3.14 = false - Notice Object of class stdClass could not be converted to float +(object) array ( 'bar' => 1, 'foo' => 2 ) >= '0' = true +(object) array ( 'bar' => 1, 'foo' => 2 ) >= '10' = true +(object) array ( 'bar' => 1, 'foo' => 2 ) >= '010' = true +(object) array ( 'bar' => 1, 'foo' => 2 ) >= '10 elephants' = true +(object) array ( 'bar' => 1, 'foo' => 2 ) >= 'foo' = true +(object) array ( 'bar' => 1, 'foo' => 2 ) >= array ( ) = true +(object) array ( 'bar' => 1, 'foo' => 2 ) >= array ( 0 => 1 ) = true +(object) array ( 'bar' => 1, 'foo' => 2 ) >= array ( 0 => 1, 1 => 100 ) = true +(object) array ( 'bar' => 1, 'foo' => 2 ) >= array ( 'foo' => 1, 'bar' => 2 ) = true +(object) array ( 'bar' => 1, 'foo' => 2 ) >= array ( 'bar' => 1, 'foo' => 2 ) = true +(object) array ( 'bar' => 1, 'foo' => 2 ) >= (object) array ( ) = true +(object) array ( 'bar' => 1, 'foo' => 2 ) >= (object) array ( 'foo' => 1, 'bar' => 2 ) = true +(object) array ( 'bar' => 1, 'foo' => 2 ) >= (object) array ( 'bar' => 1, 'foo' => 2 ) = true +(object) array ( 'bar' => 1, 'foo' => 2 ) >= DateTime = false +(object) array ( 'bar' => 1, 'foo' => 2 ) >= resource = true +(object) array ( 'bar' => 1, 'foo' => 2 ) >= NULL = true +DateTime >= false = true +DateTime >= true = true +DateTime >= 0 = true - Notice Object of class DateTime could not be converted to int +DateTime >= 10 = false - Notice Object of class DateTime could not be converted to int +DateTime >= 0.0 = true - Notice Object of class DateTime could not be converted to float +DateTime >= 10.0 = false - Notice Object of class DateTime could not be converted to float +DateTime >= 3.14 = false - Notice Object of class DateTime could not be converted to float +DateTime >= '0' = true +DateTime >= '10' = true +DateTime >= '010' = true +DateTime >= '10 elephants' = true +DateTime >= 'foo' = true +DateTime >= array ( ) = true +DateTime >= array ( 0 => 1 ) = true +DateTime >= array ( 0 => 1, 1 => 100 ) = true +DateTime >= array ( 'foo' => 1, 'bar' => 2 ) = true +DateTime >= array ( 'bar' => 1, 'foo' => 2 ) = true +DateTime >= (object) array ( ) = false +DateTime >= (object) array ( 'foo' => 1, 'bar' => 2 ) = false +DateTime >= (object) array ( 'bar' => 1, 'foo' => 2 ) = false +DateTime >= DateTime = true +DateTime >= resource = true +DateTime >= NULL = true +resource >= false = true +resource >= true = true +resource >= 0 = true +resource >= 10 = false +resource >= 0.0 = true +resource >= 10.0 = false +resource >= 3.14 = true +resource >= '0' = true +resource >= '10' = false +resource >= '010' = false +resource >= '10 elephants' = false +resource >= 'foo' = true +resource >= array ( ) = false +resource >= array ( 0 => 1 ) = false +resource >= array ( 0 => 1, 1 => 100 ) = false +resource >= array ( 'foo' => 1, 'bar' => 2 ) = false +resource >= array ( 'bar' => 1, 'foo' => 2 ) = false +resource >= (object) array ( ) = false +resource >= (object) array ( 'foo' => 1, 'bar' => 2 ) = false +resource >= (object) array ( 'bar' => 1, 'foo' => 2 ) = false +resource >= DateTime = false +resource >= resource = true +resource >= NULL = true +NULL >= false = true +NULL >= true = false +NULL >= 0 = true +NULL >= 10 = false +NULL >= 0.0 = true +NULL >= 10.0 = false +NULL >= 3.14 = false +NULL >= '0' = false +NULL >= '10' = false +NULL >= '010' = false +NULL >= '10 elephants' = false +NULL >= 'foo' = false +NULL >= array ( ) = true +NULL >= array ( 0 => 1 ) = false +NULL >= array ( 0 => 1, 1 => 100 ) = false +NULL >= array ( 'foo' => 1, 'bar' => 2 ) = false +NULL >= array ( 'bar' => 1, 'foo' => 2 ) = false +NULL >= (object) array ( ) = false +NULL >= (object) array ( 'foo' => 1, 'bar' => 2 ) = false +NULL >= (object) array ( 'bar' => 1, 'foo' => 2 ) = false +NULL >= DateTime = false +NULL >= resource = false +NULL >= NULL = true \ No newline at end of file diff --git a/Zend/tests/operators/comparison/gte_strict.phpt b/Zend/tests/operators/comparison/gte_strict.phpt new file mode 100644 index 000000000000..d2eeea74e28e --- /dev/null +++ b/Zend/tests/operators/comparison/gte_strict.phpt @@ -0,0 +1,542 @@ +--TEST-- +greater than or equal to '>=' operator +--FILE-- += $b', function($a, $b) { return $a >= $b; }); + +--EXPECT-- +false >= false = true +false >= true = false +false >= 0 - TypeError Operand type mismatch int and bool for comparison +false >= 10 - TypeError Operand type mismatch int and bool for comparison +false >= 0.0 - TypeError Operand type mismatch float and bool for comparison +false >= 10.0 - TypeError Operand type mismatch float and bool for comparison +false >= 3.14 - TypeError Operand type mismatch float and bool for comparison +false >= '0' - TypeError Operand type mismatch string and bool for comparison +false >= '10' - TypeError Operand type mismatch string and bool for comparison +false >= '010' - TypeError Operand type mismatch string and bool for comparison +false >= '10 elephants' - TypeError Operand type mismatch string and bool for comparison +false >= 'foo' - TypeError Operand type mismatch string and bool for comparison +false >= array ( ) - TypeError Unsupported operand type array for comparison +false >= array ( 0 => 1 ) - TypeError Unsupported operand type array for comparison +false >= array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for comparison +false >= array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for comparison +false >= array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for comparison +false >= (object) array ( ) - TypeError Unsupported operand type object for comparison +false >= (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for comparison +false >= (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for comparison +false >= DateTime - TypeError Unsupported operand type object for comparison +false >= resource - TypeError Unsupported operand type resource for comparison +false >= NULL - TypeError Unsupported operand type null for comparison +true >= false = true +true >= true = true +true >= 0 - TypeError Operand type mismatch int and bool for comparison +true >= 10 - TypeError Operand type mismatch int and bool for comparison +true >= 0.0 - TypeError Operand type mismatch float and bool for comparison +true >= 10.0 - TypeError Operand type mismatch float and bool for comparison +true >= 3.14 - TypeError Operand type mismatch float and bool for comparison +true >= '0' - TypeError Operand type mismatch string and bool for comparison +true >= '10' - TypeError Operand type mismatch string and bool for comparison +true >= '010' - TypeError Operand type mismatch string and bool for comparison +true >= '10 elephants' - TypeError Operand type mismatch string and bool for comparison +true >= 'foo' - TypeError Operand type mismatch string and bool for comparison +true >= array ( ) - TypeError Unsupported operand type array for comparison +true >= array ( 0 => 1 ) - TypeError Unsupported operand type array for comparison +true >= array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for comparison +true >= array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for comparison +true >= array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for comparison +true >= (object) array ( ) - TypeError Unsupported operand type object for comparison +true >= (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for comparison +true >= (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for comparison +true >= DateTime - TypeError Unsupported operand type object for comparison +true >= resource - TypeError Unsupported operand type resource for comparison +true >= NULL - TypeError Unsupported operand type null for comparison +0 >= false - TypeError Operand type mismatch bool and int for comparison +0 >= true - TypeError Operand type mismatch bool and int for comparison +0 >= 0 = true +0 >= 10 = false +0 >= 0.0 = true +0 >= 10.0 = false +0 >= 3.14 = false +0 >= '0' - TypeError Operand type mismatch string and int for comparison +0 >= '10' - TypeError Operand type mismatch string and int for comparison +0 >= '010' - TypeError Operand type mismatch string and int for comparison +0 >= '10 elephants' - TypeError Operand type mismatch string and int for comparison +0 >= 'foo' - TypeError Operand type mismatch string and int for comparison +0 >= array ( ) - TypeError Unsupported operand type array for comparison +0 >= array ( 0 => 1 ) - TypeError Unsupported operand type array for comparison +0 >= array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for comparison +0 >= array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for comparison +0 >= array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for comparison +0 >= (object) array ( ) - TypeError Unsupported operand type object for comparison +0 >= (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for comparison +0 >= (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for comparison +0 >= DateTime - TypeError Unsupported operand type object for comparison +0 >= resource - TypeError Unsupported operand type resource for comparison +0 >= NULL - TypeError Unsupported operand type null for comparison +10 >= false - TypeError Operand type mismatch bool and int for comparison +10 >= true - TypeError Operand type mismatch bool and int for comparison +10 >= 0 = true +10 >= 10 = true +10 >= 0.0 = true +10 >= 10.0 = true +10 >= 3.14 = true +10 >= '0' - TypeError Operand type mismatch string and int for comparison +10 >= '10' - TypeError Operand type mismatch string and int for comparison +10 >= '010' - TypeError Operand type mismatch string and int for comparison +10 >= '10 elephants' - TypeError Operand type mismatch string and int for comparison +10 >= 'foo' - TypeError Operand type mismatch string and int for comparison +10 >= array ( ) - TypeError Unsupported operand type array for comparison +10 >= array ( 0 => 1 ) - TypeError Unsupported operand type array for comparison +10 >= array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for comparison +10 >= array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for comparison +10 >= array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for comparison +10 >= (object) array ( ) - TypeError Unsupported operand type object for comparison +10 >= (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for comparison +10 >= (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for comparison +10 >= DateTime - TypeError Unsupported operand type object for comparison +10 >= resource - TypeError Unsupported operand type resource for comparison +10 >= NULL - TypeError Unsupported operand type null for comparison +0.0 >= false - TypeError Operand type mismatch bool and float for comparison +0.0 >= true - TypeError Operand type mismatch bool and float for comparison +0.0 >= 0 = true +0.0 >= 10 = false +0.0 >= 0.0 = true +0.0 >= 10.0 = false +0.0 >= 3.14 = false +0.0 >= '0' - TypeError Operand type mismatch string and float for comparison +0.0 >= '10' - TypeError Operand type mismatch string and float for comparison +0.0 >= '010' - TypeError Operand type mismatch string and float for comparison +0.0 >= '10 elephants' - TypeError Operand type mismatch string and float for comparison +0.0 >= 'foo' - TypeError Operand type mismatch string and float for comparison +0.0 >= array ( ) - TypeError Unsupported operand type array for comparison +0.0 >= array ( 0 => 1 ) - TypeError Unsupported operand type array for comparison +0.0 >= array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for comparison +0.0 >= array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for comparison +0.0 >= array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for comparison +0.0 >= (object) array ( ) - TypeError Unsupported operand type object for comparison +0.0 >= (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for comparison +0.0 >= (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for comparison +0.0 >= DateTime - TypeError Unsupported operand type object for comparison +0.0 >= resource - TypeError Unsupported operand type resource for comparison +0.0 >= NULL - TypeError Unsupported operand type null for comparison +10.0 >= false - TypeError Operand type mismatch bool and float for comparison +10.0 >= true - TypeError Operand type mismatch bool and float for comparison +10.0 >= 0 = true +10.0 >= 10 = true +10.0 >= 0.0 = true +10.0 >= 10.0 = true +10.0 >= 3.14 = true +10.0 >= '0' - TypeError Operand type mismatch string and float for comparison +10.0 >= '10' - TypeError Operand type mismatch string and float for comparison +10.0 >= '010' - TypeError Operand type mismatch string and float for comparison +10.0 >= '10 elephants' - TypeError Operand type mismatch string and float for comparison +10.0 >= 'foo' - TypeError Operand type mismatch string and float for comparison +10.0 >= array ( ) - TypeError Unsupported operand type array for comparison +10.0 >= array ( 0 => 1 ) - TypeError Unsupported operand type array for comparison +10.0 >= array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for comparison +10.0 >= array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for comparison +10.0 >= array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for comparison +10.0 >= (object) array ( ) - TypeError Unsupported operand type object for comparison +10.0 >= (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for comparison +10.0 >= (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for comparison +10.0 >= DateTime - TypeError Unsupported operand type object for comparison +10.0 >= resource - TypeError Unsupported operand type resource for comparison +10.0 >= NULL - TypeError Unsupported operand type null for comparison +3.14 >= false - TypeError Operand type mismatch bool and float for comparison +3.14 >= true - TypeError Operand type mismatch bool and float for comparison +3.14 >= 0 = true +3.14 >= 10 = false +3.14 >= 0.0 = true +3.14 >= 10.0 = false +3.14 >= 3.14 = true +3.14 >= '0' - TypeError Operand type mismatch string and float for comparison +3.14 >= '10' - TypeError Operand type mismatch string and float for comparison +3.14 >= '010' - TypeError Operand type mismatch string and float for comparison +3.14 >= '10 elephants' - TypeError Operand type mismatch string and float for comparison +3.14 >= 'foo' - TypeError Operand type mismatch string and float for comparison +3.14 >= array ( ) - TypeError Unsupported operand type array for comparison +3.14 >= array ( 0 => 1 ) - TypeError Unsupported operand type array for comparison +3.14 >= array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for comparison +3.14 >= array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for comparison +3.14 >= array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for comparison +3.14 >= (object) array ( ) - TypeError Unsupported operand type object for comparison +3.14 >= (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for comparison +3.14 >= (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for comparison +3.14 >= DateTime - TypeError Unsupported operand type object for comparison +3.14 >= resource - TypeError Unsupported operand type resource for comparison +3.14 >= NULL - TypeError Unsupported operand type null for comparison +'0' >= false - TypeError Operand type mismatch bool and string for comparison +'0' >= true - TypeError Operand type mismatch bool and string for comparison +'0' >= 0 - TypeError Operand type mismatch int and string for comparison +'0' >= 10 - TypeError Operand type mismatch int and string for comparison +'0' >= 0.0 - TypeError Operand type mismatch float and string for comparison +'0' >= 10.0 - TypeError Operand type mismatch float and string for comparison +'0' >= 3.14 - TypeError Operand type mismatch float and string for comparison +'0' >= '0' = true +'0' >= '10' = false +'0' >= '010' = false +'0' >= '10 elephants' = false +'0' >= 'foo' = false +'0' >= array ( ) - TypeError Unsupported operand type array for comparison +'0' >= array ( 0 => 1 ) - TypeError Unsupported operand type array for comparison +'0' >= array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for comparison +'0' >= array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for comparison +'0' >= array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for comparison +'0' >= (object) array ( ) - TypeError Unsupported operand type object for comparison +'0' >= (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for comparison +'0' >= (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for comparison +'0' >= DateTime - TypeError Unsupported operand type object for comparison +'0' >= resource - TypeError Unsupported operand type resource for comparison +'0' >= NULL - TypeError Unsupported operand type null for comparison +'10' >= false - TypeError Operand type mismatch bool and string for comparison +'10' >= true - TypeError Operand type mismatch bool and string for comparison +'10' >= 0 - TypeError Operand type mismatch int and string for comparison +'10' >= 10 - TypeError Operand type mismatch int and string for comparison +'10' >= 0.0 - TypeError Operand type mismatch float and string for comparison +'10' >= 10.0 - TypeError Operand type mismatch float and string for comparison +'10' >= 3.14 - TypeError Operand type mismatch float and string for comparison +'10' >= '0' = true +'10' >= '10' = true +'10' >= '010' = true +'10' >= '10 elephants' = false +'10' >= 'foo' = false +'10' >= array ( ) - TypeError Unsupported operand type array for comparison +'10' >= array ( 0 => 1 ) - TypeError Unsupported operand type array for comparison +'10' >= array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for comparison +'10' >= array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for comparison +'10' >= array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for comparison +'10' >= (object) array ( ) - TypeError Unsupported operand type object for comparison +'10' >= (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for comparison +'10' >= (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for comparison +'10' >= DateTime - TypeError Unsupported operand type object for comparison +'10' >= resource - TypeError Unsupported operand type resource for comparison +'10' >= NULL - TypeError Unsupported operand type null for comparison +'010' >= false - TypeError Operand type mismatch bool and string for comparison +'010' >= true - TypeError Operand type mismatch bool and string for comparison +'010' >= 0 - TypeError Operand type mismatch int and string for comparison +'010' >= 10 - TypeError Operand type mismatch int and string for comparison +'010' >= 0.0 - TypeError Operand type mismatch float and string for comparison +'010' >= 10.0 - TypeError Operand type mismatch float and string for comparison +'010' >= 3.14 - TypeError Operand type mismatch float and string for comparison +'010' >= '0' = true +'010' >= '10' = false +'010' >= '010' = true +'010' >= '10 elephants' = false +'010' >= 'foo' = false +'010' >= array ( ) - TypeError Unsupported operand type array for comparison +'010' >= array ( 0 => 1 ) - TypeError Unsupported operand type array for comparison +'010' >= array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for comparison +'010' >= array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for comparison +'010' >= array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for comparison +'010' >= (object) array ( ) - TypeError Unsupported operand type object for comparison +'010' >= (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for comparison +'010' >= (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for comparison +'010' >= DateTime - TypeError Unsupported operand type object for comparison +'010' >= resource - TypeError Unsupported operand type resource for comparison +'010' >= NULL - TypeError Unsupported operand type null for comparison +'10 elephants' >= false - TypeError Operand type mismatch bool and string for comparison +'10 elephants' >= true - TypeError Operand type mismatch bool and string for comparison +'10 elephants' >= 0 - TypeError Operand type mismatch int and string for comparison +'10 elephants' >= 10 - TypeError Operand type mismatch int and string for comparison +'10 elephants' >= 0.0 - TypeError Operand type mismatch float and string for comparison +'10 elephants' >= 10.0 - TypeError Operand type mismatch float and string for comparison +'10 elephants' >= 3.14 - TypeError Operand type mismatch float and string for comparison +'10 elephants' >= '0' = true +'10 elephants' >= '10' = true +'10 elephants' >= '010' = true +'10 elephants' >= '10 elephants' = true +'10 elephants' >= 'foo' = false +'10 elephants' >= array ( ) - TypeError Unsupported operand type array for comparison +'10 elephants' >= array ( 0 => 1 ) - TypeError Unsupported operand type array for comparison +'10 elephants' >= array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for comparison +'10 elephants' >= array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for comparison +'10 elephants' >= array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for comparison +'10 elephants' >= (object) array ( ) - TypeError Unsupported operand type object for comparison +'10 elephants' >= (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for comparison +'10 elephants' >= (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for comparison +'10 elephants' >= DateTime - TypeError Unsupported operand type object for comparison +'10 elephants' >= resource - TypeError Unsupported operand type resource for comparison +'10 elephants' >= NULL - TypeError Unsupported operand type null for comparison +'foo' >= false - TypeError Operand type mismatch bool and string for comparison +'foo' >= true - TypeError Operand type mismatch bool and string for comparison +'foo' >= 0 - TypeError Operand type mismatch int and string for comparison +'foo' >= 10 - TypeError Operand type mismatch int and string for comparison +'foo' >= 0.0 - TypeError Operand type mismatch float and string for comparison +'foo' >= 10.0 - TypeError Operand type mismatch float and string for comparison +'foo' >= 3.14 - TypeError Operand type mismatch float and string for comparison +'foo' >= '0' = true +'foo' >= '10' = true +'foo' >= '010' = true +'foo' >= '10 elephants' = true +'foo' >= 'foo' = true +'foo' >= array ( ) - TypeError Unsupported operand type array for comparison +'foo' >= array ( 0 => 1 ) - TypeError Unsupported operand type array for comparison +'foo' >= array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for comparison +'foo' >= array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for comparison +'foo' >= array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for comparison +'foo' >= (object) array ( ) - TypeError Unsupported operand type object for comparison +'foo' >= (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for comparison +'foo' >= (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for comparison +'foo' >= DateTime - TypeError Unsupported operand type object for comparison +'foo' >= resource - TypeError Unsupported operand type resource for comparison +'foo' >= NULL - TypeError Unsupported operand type null for comparison +array ( ) >= false - TypeError Unsupported operand type array for comparison +array ( ) >= true - TypeError Unsupported operand type array for comparison +array ( ) >= 0 - TypeError Unsupported operand type array for comparison +array ( ) >= 10 - TypeError Unsupported operand type array for comparison +array ( ) >= 0.0 - TypeError Unsupported operand type array for comparison +array ( ) >= 10.0 - TypeError Unsupported operand type array for comparison +array ( ) >= 3.14 - TypeError Unsupported operand type array for comparison +array ( ) >= '0' - TypeError Unsupported operand type array for comparison +array ( ) >= '10' - TypeError Unsupported operand type array for comparison +array ( ) >= '010' - TypeError Unsupported operand type array for comparison +array ( ) >= '10 elephants' - TypeError Unsupported operand type array for comparison +array ( ) >= 'foo' - TypeError Unsupported operand type array for comparison +array ( ) >= array ( ) - TypeError Unsupported operand type array for comparison +array ( ) >= array ( 0 => 1 ) - TypeError Unsupported operand type array for comparison +array ( ) >= array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for comparison +array ( ) >= array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for comparison +array ( ) >= array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for comparison +array ( ) >= (object) array ( ) - TypeError Unsupported operand type object for comparison +array ( ) >= (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for comparison +array ( ) >= (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for comparison +array ( ) >= DateTime - TypeError Unsupported operand type object for comparison +array ( ) >= resource - TypeError Unsupported operand type resource for comparison +array ( ) >= NULL - TypeError Unsupported operand type null for comparison +array ( 0 => 1 ) >= false - TypeError Unsupported operand type array for comparison +array ( 0 => 1 ) >= true - TypeError Unsupported operand type array for comparison +array ( 0 => 1 ) >= 0 - TypeError Unsupported operand type array for comparison +array ( 0 => 1 ) >= 10 - TypeError Unsupported operand type array for comparison +array ( 0 => 1 ) >= 0.0 - TypeError Unsupported operand type array for comparison +array ( 0 => 1 ) >= 10.0 - TypeError Unsupported operand type array for comparison +array ( 0 => 1 ) >= 3.14 - TypeError Unsupported operand type array for comparison +array ( 0 => 1 ) >= '0' - TypeError Unsupported operand type array for comparison +array ( 0 => 1 ) >= '10' - TypeError Unsupported operand type array for comparison +array ( 0 => 1 ) >= '010' - TypeError Unsupported operand type array for comparison +array ( 0 => 1 ) >= '10 elephants' - TypeError Unsupported operand type array for comparison +array ( 0 => 1 ) >= 'foo' - TypeError Unsupported operand type array for comparison +array ( 0 => 1 ) >= array ( ) - TypeError Unsupported operand type array for comparison +array ( 0 => 1 ) >= array ( 0 => 1 ) - TypeError Unsupported operand type array for comparison +array ( 0 => 1 ) >= array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for comparison +array ( 0 => 1 ) >= array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for comparison +array ( 0 => 1 ) >= array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for comparison +array ( 0 => 1 ) >= (object) array ( ) - TypeError Unsupported operand type object for comparison +array ( 0 => 1 ) >= (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for comparison +array ( 0 => 1 ) >= (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for comparison +array ( 0 => 1 ) >= DateTime - TypeError Unsupported operand type object for comparison +array ( 0 => 1 ) >= resource - TypeError Unsupported operand type resource for comparison +array ( 0 => 1 ) >= NULL - TypeError Unsupported operand type null for comparison +array ( 0 => 1, 1 => 100 ) >= false - TypeError Unsupported operand type array for comparison +array ( 0 => 1, 1 => 100 ) >= true - TypeError Unsupported operand type array for comparison +array ( 0 => 1, 1 => 100 ) >= 0 - TypeError Unsupported operand type array for comparison +array ( 0 => 1, 1 => 100 ) >= 10 - TypeError Unsupported operand type array for comparison +array ( 0 => 1, 1 => 100 ) >= 0.0 - TypeError Unsupported operand type array for comparison +array ( 0 => 1, 1 => 100 ) >= 10.0 - TypeError Unsupported operand type array for comparison +array ( 0 => 1, 1 => 100 ) >= 3.14 - TypeError Unsupported operand type array for comparison +array ( 0 => 1, 1 => 100 ) >= '0' - TypeError Unsupported operand type array for comparison +array ( 0 => 1, 1 => 100 ) >= '10' - TypeError Unsupported operand type array for comparison +array ( 0 => 1, 1 => 100 ) >= '010' - TypeError Unsupported operand type array for comparison +array ( 0 => 1, 1 => 100 ) >= '10 elephants' - TypeError Unsupported operand type array for comparison +array ( 0 => 1, 1 => 100 ) >= 'foo' - TypeError Unsupported operand type array for comparison +array ( 0 => 1, 1 => 100 ) >= array ( ) - TypeError Unsupported operand type array for comparison +array ( 0 => 1, 1 => 100 ) >= array ( 0 => 1 ) - TypeError Unsupported operand type array for comparison +array ( 0 => 1, 1 => 100 ) >= array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for comparison +array ( 0 => 1, 1 => 100 ) >= array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for comparison +array ( 0 => 1, 1 => 100 ) >= array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for comparison +array ( 0 => 1, 1 => 100 ) >= (object) array ( ) - TypeError Unsupported operand type object for comparison +array ( 0 => 1, 1 => 100 ) >= (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for comparison +array ( 0 => 1, 1 => 100 ) >= (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for comparison +array ( 0 => 1, 1 => 100 ) >= DateTime - TypeError Unsupported operand type object for comparison +array ( 0 => 1, 1 => 100 ) >= resource - TypeError Unsupported operand type resource for comparison +array ( 0 => 1, 1 => 100 ) >= NULL - TypeError Unsupported operand type null for comparison +array ( 'foo' => 1, 'bar' => 2 ) >= false - TypeError Unsupported operand type array for comparison +array ( 'foo' => 1, 'bar' => 2 ) >= true - TypeError Unsupported operand type array for comparison +array ( 'foo' => 1, 'bar' => 2 ) >= 0 - TypeError Unsupported operand type array for comparison +array ( 'foo' => 1, 'bar' => 2 ) >= 10 - TypeError Unsupported operand type array for comparison +array ( 'foo' => 1, 'bar' => 2 ) >= 0.0 - TypeError Unsupported operand type array for comparison +array ( 'foo' => 1, 'bar' => 2 ) >= 10.0 - TypeError Unsupported operand type array for comparison +array ( 'foo' => 1, 'bar' => 2 ) >= 3.14 - TypeError Unsupported operand type array for comparison +array ( 'foo' => 1, 'bar' => 2 ) >= '0' - TypeError Unsupported operand type array for comparison +array ( 'foo' => 1, 'bar' => 2 ) >= '10' - TypeError Unsupported operand type array for comparison +array ( 'foo' => 1, 'bar' => 2 ) >= '010' - TypeError Unsupported operand type array for comparison +array ( 'foo' => 1, 'bar' => 2 ) >= '10 elephants' - TypeError Unsupported operand type array for comparison +array ( 'foo' => 1, 'bar' => 2 ) >= 'foo' - TypeError Unsupported operand type array for comparison +array ( 'foo' => 1, 'bar' => 2 ) >= array ( ) - TypeError Unsupported operand type array for comparison +array ( 'foo' => 1, 'bar' => 2 ) >= array ( 0 => 1 ) - TypeError Unsupported operand type array for comparison +array ( 'foo' => 1, 'bar' => 2 ) >= array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for comparison +array ( 'foo' => 1, 'bar' => 2 ) >= array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for comparison +array ( 'foo' => 1, 'bar' => 2 ) >= array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for comparison +array ( 'foo' => 1, 'bar' => 2 ) >= (object) array ( ) - TypeError Unsupported operand type object for comparison +array ( 'foo' => 1, 'bar' => 2 ) >= (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for comparison +array ( 'foo' => 1, 'bar' => 2 ) >= (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for comparison +array ( 'foo' => 1, 'bar' => 2 ) >= DateTime - TypeError Unsupported operand type object for comparison +array ( 'foo' => 1, 'bar' => 2 ) >= resource - TypeError Unsupported operand type resource for comparison +array ( 'foo' => 1, 'bar' => 2 ) >= NULL - TypeError Unsupported operand type null for comparison +array ( 'bar' => 1, 'foo' => 2 ) >= false - TypeError Unsupported operand type array for comparison +array ( 'bar' => 1, 'foo' => 2 ) >= true - TypeError Unsupported operand type array for comparison +array ( 'bar' => 1, 'foo' => 2 ) >= 0 - TypeError Unsupported operand type array for comparison +array ( 'bar' => 1, 'foo' => 2 ) >= 10 - TypeError Unsupported operand type array for comparison +array ( 'bar' => 1, 'foo' => 2 ) >= 0.0 - TypeError Unsupported operand type array for comparison +array ( 'bar' => 1, 'foo' => 2 ) >= 10.0 - TypeError Unsupported operand type array for comparison +array ( 'bar' => 1, 'foo' => 2 ) >= 3.14 - TypeError Unsupported operand type array for comparison +array ( 'bar' => 1, 'foo' => 2 ) >= '0' - TypeError Unsupported operand type array for comparison +array ( 'bar' => 1, 'foo' => 2 ) >= '10' - TypeError Unsupported operand type array for comparison +array ( 'bar' => 1, 'foo' => 2 ) >= '010' - TypeError Unsupported operand type array for comparison +array ( 'bar' => 1, 'foo' => 2 ) >= '10 elephants' - TypeError Unsupported operand type array for comparison +array ( 'bar' => 1, 'foo' => 2 ) >= 'foo' - TypeError Unsupported operand type array for comparison +array ( 'bar' => 1, 'foo' => 2 ) >= array ( ) - TypeError Unsupported operand type array for comparison +array ( 'bar' => 1, 'foo' => 2 ) >= array ( 0 => 1 ) - TypeError Unsupported operand type array for comparison +array ( 'bar' => 1, 'foo' => 2 ) >= array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for comparison +array ( 'bar' => 1, 'foo' => 2 ) >= array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for comparison +array ( 'bar' => 1, 'foo' => 2 ) >= array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for comparison +array ( 'bar' => 1, 'foo' => 2 ) >= (object) array ( ) - TypeError Unsupported operand type object for comparison +array ( 'bar' => 1, 'foo' => 2 ) >= (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for comparison +array ( 'bar' => 1, 'foo' => 2 ) >= (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for comparison +array ( 'bar' => 1, 'foo' => 2 ) >= DateTime - TypeError Unsupported operand type object for comparison +array ( 'bar' => 1, 'foo' => 2 ) >= resource - TypeError Unsupported operand type resource for comparison +array ( 'bar' => 1, 'foo' => 2 ) >= NULL - TypeError Unsupported operand type null for comparison +(object) array ( ) >= false - TypeError Unsupported operand type object for comparison +(object) array ( ) >= true - TypeError Unsupported operand type object for comparison +(object) array ( ) >= 0 - TypeError Unsupported operand type object for comparison +(object) array ( ) >= 10 - TypeError Unsupported operand type object for comparison +(object) array ( ) >= 0.0 - TypeError Unsupported operand type object for comparison +(object) array ( ) >= 10.0 - TypeError Unsupported operand type object for comparison +(object) array ( ) >= 3.14 - TypeError Unsupported operand type object for comparison +(object) array ( ) >= '0' - TypeError Unsupported operand type object for comparison +(object) array ( ) >= '10' - TypeError Unsupported operand type object for comparison +(object) array ( ) >= '010' - TypeError Unsupported operand type object for comparison +(object) array ( ) >= '10 elephants' - TypeError Unsupported operand type object for comparison +(object) array ( ) >= 'foo' - TypeError Unsupported operand type object for comparison +(object) array ( ) >= array ( ) - TypeError Unsupported operand type array for comparison +(object) array ( ) >= array ( 0 => 1 ) - TypeError Unsupported operand type array for comparison +(object) array ( ) >= array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for comparison +(object) array ( ) >= array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for comparison +(object) array ( ) >= array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for comparison +(object) array ( ) >= (object) array ( ) - TypeError Unsupported operand type object for comparison +(object) array ( ) >= (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for comparison +(object) array ( ) >= (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for comparison +(object) array ( ) >= DateTime - TypeError Unsupported operand type object for comparison +(object) array ( ) >= resource - TypeError Unsupported operand type resource for comparison +(object) array ( ) >= NULL - TypeError Unsupported operand type null for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) >= false - TypeError Unsupported operand type object for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) >= true - TypeError Unsupported operand type object for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) >= 0 - TypeError Unsupported operand type object for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) >= 10 - TypeError Unsupported operand type object for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) >= 0.0 - TypeError Unsupported operand type object for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) >= 10.0 - TypeError Unsupported operand type object for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) >= 3.14 - TypeError Unsupported operand type object for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) >= '0' - TypeError Unsupported operand type object for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) >= '10' - TypeError Unsupported operand type object for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) >= '010' - TypeError Unsupported operand type object for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) >= '10 elephants' - TypeError Unsupported operand type object for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) >= 'foo' - TypeError Unsupported operand type object for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) >= array ( ) - TypeError Unsupported operand type array for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) >= array ( 0 => 1 ) - TypeError Unsupported operand type array for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) >= array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) >= array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) >= array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) >= (object) array ( ) - TypeError Unsupported operand type object for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) >= (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) >= (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) >= DateTime - TypeError Unsupported operand type object for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) >= resource - TypeError Unsupported operand type resource for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) >= NULL - TypeError Unsupported operand type null for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) >= false - TypeError Unsupported operand type object for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) >= true - TypeError Unsupported operand type object for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) >= 0 - TypeError Unsupported operand type object for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) >= 10 - TypeError Unsupported operand type object for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) >= 0.0 - TypeError Unsupported operand type object for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) >= 10.0 - TypeError Unsupported operand type object for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) >= 3.14 - TypeError Unsupported operand type object for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) >= '0' - TypeError Unsupported operand type object for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) >= '10' - TypeError Unsupported operand type object for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) >= '010' - TypeError Unsupported operand type object for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) >= '10 elephants' - TypeError Unsupported operand type object for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) >= 'foo' - TypeError Unsupported operand type object for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) >= array ( ) - TypeError Unsupported operand type array for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) >= array ( 0 => 1 ) - TypeError Unsupported operand type array for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) >= array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) >= array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) >= array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) >= (object) array ( ) - TypeError Unsupported operand type object for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) >= (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) >= (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) >= DateTime - TypeError Unsupported operand type object for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) >= resource - TypeError Unsupported operand type resource for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) >= NULL - TypeError Unsupported operand type null for comparison +DateTime >= false - TypeError Unsupported operand type object for comparison +DateTime >= true - TypeError Unsupported operand type object for comparison +DateTime >= 0 - TypeError Unsupported operand type object for comparison +DateTime >= 10 - TypeError Unsupported operand type object for comparison +DateTime >= 0.0 - TypeError Unsupported operand type object for comparison +DateTime >= 10.0 - TypeError Unsupported operand type object for comparison +DateTime >= 3.14 - TypeError Unsupported operand type object for comparison +DateTime >= '0' - TypeError Unsupported operand type object for comparison +DateTime >= '10' - TypeError Unsupported operand type object for comparison +DateTime >= '010' - TypeError Unsupported operand type object for comparison +DateTime >= '10 elephants' - TypeError Unsupported operand type object for comparison +DateTime >= 'foo' - TypeError Unsupported operand type object for comparison +DateTime >= array ( ) - TypeError Unsupported operand type array for comparison +DateTime >= array ( 0 => 1 ) - TypeError Unsupported operand type array for comparison +DateTime >= array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for comparison +DateTime >= array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for comparison +DateTime >= array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for comparison +DateTime >= (object) array ( ) - TypeError Unsupported operand type object for comparison +DateTime >= (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for comparison +DateTime >= (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for comparison +DateTime >= DateTime - TypeError Unsupported operand type object for comparison +DateTime >= resource - TypeError Unsupported operand type resource for comparison +DateTime >= NULL - TypeError Unsupported operand type null for comparison +resource >= false - TypeError Unsupported operand type resource for comparison +resource >= true - TypeError Unsupported operand type resource for comparison +resource >= 0 - TypeError Unsupported operand type resource for comparison +resource >= 10 - TypeError Unsupported operand type resource for comparison +resource >= 0.0 - TypeError Unsupported operand type resource for comparison +resource >= 10.0 - TypeError Unsupported operand type resource for comparison +resource >= 3.14 - TypeError Unsupported operand type resource for comparison +resource >= '0' - TypeError Unsupported operand type resource for comparison +resource >= '10' - TypeError Unsupported operand type resource for comparison +resource >= '010' - TypeError Unsupported operand type resource for comparison +resource >= '10 elephants' - TypeError Unsupported operand type resource for comparison +resource >= 'foo' - TypeError Unsupported operand type resource for comparison +resource >= array ( ) - TypeError Unsupported operand type array for comparison +resource >= array ( 0 => 1 ) - TypeError Unsupported operand type array for comparison +resource >= array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for comparison +resource >= array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for comparison +resource >= array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for comparison +resource >= (object) array ( ) - TypeError Unsupported operand type object for comparison +resource >= (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for comparison +resource >= (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for comparison +resource >= DateTime - TypeError Unsupported operand type object for comparison +resource >= resource - TypeError Unsupported operand type resource for comparison +resource >= NULL - TypeError Unsupported operand type null for comparison +NULL >= false - TypeError Unsupported operand type null for comparison +NULL >= true - TypeError Unsupported operand type null for comparison +NULL >= 0 - TypeError Unsupported operand type null for comparison +NULL >= 10 - TypeError Unsupported operand type null for comparison +NULL >= 0.0 - TypeError Unsupported operand type null for comparison +NULL >= 10.0 - TypeError Unsupported operand type null for comparison +NULL >= 3.14 - TypeError Unsupported operand type null for comparison +NULL >= '0' - TypeError Unsupported operand type null for comparison +NULL >= '10' - TypeError Unsupported operand type null for comparison +NULL >= '010' - TypeError Unsupported operand type null for comparison +NULL >= '10 elephants' - TypeError Unsupported operand type null for comparison +NULL >= 'foo' - TypeError Unsupported operand type null for comparison +NULL >= array ( ) - TypeError Unsupported operand type array for comparison +NULL >= array ( 0 => 1 ) - TypeError Unsupported operand type array for comparison +NULL >= array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for comparison +NULL >= array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for comparison +NULL >= array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for comparison +NULL >= (object) array ( ) - TypeError Unsupported operand type object for comparison +NULL >= (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for comparison +NULL >= (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for comparison +NULL >= DateTime - TypeError Unsupported operand type object for comparison +NULL >= resource - TypeError Unsupported operand type resource for comparison +NULL >= NULL - TypeError Unsupported operand type null for comparison \ No newline at end of file diff --git a/Zend/tests/operators/comparison/identical.phpt b/Zend/tests/operators/comparison/identical.phpt new file mode 100644 index 000000000000..cb1e924d7188 --- /dev/null +++ b/Zend/tests/operators/comparison/identical.phpt @@ -0,0 +1,540 @@ +--TEST-- +identical '===' operator +--FILE-- + 1 ) = false +false === array ( 0 => 1, 1 => 100 ) = false +false === array ( 'foo' => 1, 'bar' => 2 ) = false +false === array ( 'bar' => 1, 'foo' => 2 ) = false +false === (object) array ( ) = false +false === (object) array ( 'foo' => 1, 'bar' => 2 ) = false +false === (object) array ( 'bar' => 1, 'foo' => 2 ) = false +false === DateTime = false +false === resource = false +false === NULL = false +true === false = false +true === true = true +true === 0 = false +true === 10 = false +true === 0.0 = false +true === 10.0 = false +true === 3.14 = false +true === '0' = false +true === '10' = false +true === '010' = false +true === '10 elephants' = false +true === 'foo' = false +true === array ( ) = false +true === array ( 0 => 1 ) = false +true === array ( 0 => 1, 1 => 100 ) = false +true === array ( 'foo' => 1, 'bar' => 2 ) = false +true === array ( 'bar' => 1, 'foo' => 2 ) = false +true === (object) array ( ) = false +true === (object) array ( 'foo' => 1, 'bar' => 2 ) = false +true === (object) array ( 'bar' => 1, 'foo' => 2 ) = false +true === DateTime = false +true === resource = false +true === NULL = false +0 === false = false +0 === true = false +0 === 0 = true +0 === 10 = false +0 === 0.0 = false +0 === 10.0 = false +0 === 3.14 = false +0 === '0' = false +0 === '10' = false +0 === '010' = false +0 === '10 elephants' = false +0 === 'foo' = false +0 === array ( ) = false +0 === array ( 0 => 1 ) = false +0 === array ( 0 => 1, 1 => 100 ) = false +0 === array ( 'foo' => 1, 'bar' => 2 ) = false +0 === array ( 'bar' => 1, 'foo' => 2 ) = false +0 === (object) array ( ) = false +0 === (object) array ( 'foo' => 1, 'bar' => 2 ) = false +0 === (object) array ( 'bar' => 1, 'foo' => 2 ) = false +0 === DateTime = false +0 === resource = false +0 === NULL = false +10 === false = false +10 === true = false +10 === 0 = false +10 === 10 = true +10 === 0.0 = false +10 === 10.0 = false +10 === 3.14 = false +10 === '0' = false +10 === '10' = false +10 === '010' = false +10 === '10 elephants' = false +10 === 'foo' = false +10 === array ( ) = false +10 === array ( 0 => 1 ) = false +10 === array ( 0 => 1, 1 => 100 ) = false +10 === array ( 'foo' => 1, 'bar' => 2 ) = false +10 === array ( 'bar' => 1, 'foo' => 2 ) = false +10 === (object) array ( ) = false +10 === (object) array ( 'foo' => 1, 'bar' => 2 ) = false +10 === (object) array ( 'bar' => 1, 'foo' => 2 ) = false +10 === DateTime = false +10 === resource = false +10 === NULL = false +0.0 === false = false +0.0 === true = false +0.0 === 0 = false +0.0 === 10 = false +0.0 === 0.0 = true +0.0 === 10.0 = false +0.0 === 3.14 = false +0.0 === '0' = false +0.0 === '10' = false +0.0 === '010' = false +0.0 === '10 elephants' = false +0.0 === 'foo' = false +0.0 === array ( ) = false +0.0 === array ( 0 => 1 ) = false +0.0 === array ( 0 => 1, 1 => 100 ) = false +0.0 === array ( 'foo' => 1, 'bar' => 2 ) = false +0.0 === array ( 'bar' => 1, 'foo' => 2 ) = false +0.0 === (object) array ( ) = false +0.0 === (object) array ( 'foo' => 1, 'bar' => 2 ) = false +0.0 === (object) array ( 'bar' => 1, 'foo' => 2 ) = false +0.0 === DateTime = false +0.0 === resource = false +0.0 === NULL = false +10.0 === false = false +10.0 === true = false +10.0 === 0 = false +10.0 === 10 = false +10.0 === 0.0 = false +10.0 === 10.0 = true +10.0 === 3.14 = false +10.0 === '0' = false +10.0 === '10' = false +10.0 === '010' = false +10.0 === '10 elephants' = false +10.0 === 'foo' = false +10.0 === array ( ) = false +10.0 === array ( 0 => 1 ) = false +10.0 === array ( 0 => 1, 1 => 100 ) = false +10.0 === array ( 'foo' => 1, 'bar' => 2 ) = false +10.0 === array ( 'bar' => 1, 'foo' => 2 ) = false +10.0 === (object) array ( ) = false +10.0 === (object) array ( 'foo' => 1, 'bar' => 2 ) = false +10.0 === (object) array ( 'bar' => 1, 'foo' => 2 ) = false +10.0 === DateTime = false +10.0 === resource = false +10.0 === NULL = false +3.14 === false = false +3.14 === true = false +3.14 === 0 = false +3.14 === 10 = false +3.14 === 0.0 = false +3.14 === 10.0 = false +3.14 === 3.14 = true +3.14 === '0' = false +3.14 === '10' = false +3.14 === '010' = false +3.14 === '10 elephants' = false +3.14 === 'foo' = false +3.14 === array ( ) = false +3.14 === array ( 0 => 1 ) = false +3.14 === array ( 0 => 1, 1 => 100 ) = false +3.14 === array ( 'foo' => 1, 'bar' => 2 ) = false +3.14 === array ( 'bar' => 1, 'foo' => 2 ) = false +3.14 === (object) array ( ) = false +3.14 === (object) array ( 'foo' => 1, 'bar' => 2 ) = false +3.14 === (object) array ( 'bar' => 1, 'foo' => 2 ) = false +3.14 === DateTime = false +3.14 === resource = false +3.14 === NULL = false +'0' === false = false +'0' === true = false +'0' === 0 = false +'0' === 10 = false +'0' === 0.0 = false +'0' === 10.0 = false +'0' === 3.14 = false +'0' === '0' = true +'0' === '10' = false +'0' === '010' = false +'0' === '10 elephants' = false +'0' === 'foo' = false +'0' === array ( ) = false +'0' === array ( 0 => 1 ) = false +'0' === array ( 0 => 1, 1 => 100 ) = false +'0' === array ( 'foo' => 1, 'bar' => 2 ) = false +'0' === array ( 'bar' => 1, 'foo' => 2 ) = false +'0' === (object) array ( ) = false +'0' === (object) array ( 'foo' => 1, 'bar' => 2 ) = false +'0' === (object) array ( 'bar' => 1, 'foo' => 2 ) = false +'0' === DateTime = false +'0' === resource = false +'0' === NULL = false +'10' === false = false +'10' === true = false +'10' === 0 = false +'10' === 10 = false +'10' === 0.0 = false +'10' === 10.0 = false +'10' === 3.14 = false +'10' === '0' = false +'10' === '10' = true +'10' === '010' = false +'10' === '10 elephants' = false +'10' === 'foo' = false +'10' === array ( ) = false +'10' === array ( 0 => 1 ) = false +'10' === array ( 0 => 1, 1 => 100 ) = false +'10' === array ( 'foo' => 1, 'bar' => 2 ) = false +'10' === array ( 'bar' => 1, 'foo' => 2 ) = false +'10' === (object) array ( ) = false +'10' === (object) array ( 'foo' => 1, 'bar' => 2 ) = false +'10' === (object) array ( 'bar' => 1, 'foo' => 2 ) = false +'10' === DateTime = false +'10' === resource = false +'10' === NULL = false +'010' === false = false +'010' === true = false +'010' === 0 = false +'010' === 10 = false +'010' === 0.0 = false +'010' === 10.0 = false +'010' === 3.14 = false +'010' === '0' = false +'010' === '10' = false +'010' === '010' = true +'010' === '10 elephants' = false +'010' === 'foo' = false +'010' === array ( ) = false +'010' === array ( 0 => 1 ) = false +'010' === array ( 0 => 1, 1 => 100 ) = false +'010' === array ( 'foo' => 1, 'bar' => 2 ) = false +'010' === array ( 'bar' => 1, 'foo' => 2 ) = false +'010' === (object) array ( ) = false +'010' === (object) array ( 'foo' => 1, 'bar' => 2 ) = false +'010' === (object) array ( 'bar' => 1, 'foo' => 2 ) = false +'010' === DateTime = false +'010' === resource = false +'010' === NULL = false +'10 elephants' === false = false +'10 elephants' === true = false +'10 elephants' === 0 = false +'10 elephants' === 10 = false +'10 elephants' === 0.0 = false +'10 elephants' === 10.0 = false +'10 elephants' === 3.14 = false +'10 elephants' === '0' = false +'10 elephants' === '10' = false +'10 elephants' === '010' = false +'10 elephants' === '10 elephants' = true +'10 elephants' === 'foo' = false +'10 elephants' === array ( ) = false +'10 elephants' === array ( 0 => 1 ) = false +'10 elephants' === array ( 0 => 1, 1 => 100 ) = false +'10 elephants' === array ( 'foo' => 1, 'bar' => 2 ) = false +'10 elephants' === array ( 'bar' => 1, 'foo' => 2 ) = false +'10 elephants' === (object) array ( ) = false +'10 elephants' === (object) array ( 'foo' => 1, 'bar' => 2 ) = false +'10 elephants' === (object) array ( 'bar' => 1, 'foo' => 2 ) = false +'10 elephants' === DateTime = false +'10 elephants' === resource = false +'10 elephants' === NULL = false +'foo' === false = false +'foo' === true = false +'foo' === 0 = false +'foo' === 10 = false +'foo' === 0.0 = false +'foo' === 10.0 = false +'foo' === 3.14 = false +'foo' === '0' = false +'foo' === '10' = false +'foo' === '010' = false +'foo' === '10 elephants' = false +'foo' === 'foo' = true +'foo' === array ( ) = false +'foo' === array ( 0 => 1 ) = false +'foo' === array ( 0 => 1, 1 => 100 ) = false +'foo' === array ( 'foo' => 1, 'bar' => 2 ) = false +'foo' === array ( 'bar' => 1, 'foo' => 2 ) = false +'foo' === (object) array ( ) = false +'foo' === (object) array ( 'foo' => 1, 'bar' => 2 ) = false +'foo' === (object) array ( 'bar' => 1, 'foo' => 2 ) = false +'foo' === DateTime = false +'foo' === resource = false +'foo' === NULL = false +array ( ) === false = false +array ( ) === true = false +array ( ) === 0 = false +array ( ) === 10 = false +array ( ) === 0.0 = false +array ( ) === 10.0 = false +array ( ) === 3.14 = false +array ( ) === '0' = false +array ( ) === '10' = false +array ( ) === '010' = false +array ( ) === '10 elephants' = false +array ( ) === 'foo' = false +array ( ) === array ( ) = true +array ( ) === array ( 0 => 1 ) = false +array ( ) === array ( 0 => 1, 1 => 100 ) = false +array ( ) === array ( 'foo' => 1, 'bar' => 2 ) = false +array ( ) === array ( 'bar' => 1, 'foo' => 2 ) = false +array ( ) === (object) array ( ) = false +array ( ) === (object) array ( 'foo' => 1, 'bar' => 2 ) = false +array ( ) === (object) array ( 'bar' => 1, 'foo' => 2 ) = false +array ( ) === DateTime = false +array ( ) === resource = false +array ( ) === NULL = false +array ( 0 => 1 ) === false = false +array ( 0 => 1 ) === true = false +array ( 0 => 1 ) === 0 = false +array ( 0 => 1 ) === 10 = false +array ( 0 => 1 ) === 0.0 = false +array ( 0 => 1 ) === 10.0 = false +array ( 0 => 1 ) === 3.14 = false +array ( 0 => 1 ) === '0' = false +array ( 0 => 1 ) === '10' = false +array ( 0 => 1 ) === '010' = false +array ( 0 => 1 ) === '10 elephants' = false +array ( 0 => 1 ) === 'foo' = false +array ( 0 => 1 ) === array ( ) = false +array ( 0 => 1 ) === array ( 0 => 1 ) = true +array ( 0 => 1 ) === array ( 0 => 1, 1 => 100 ) = false +array ( 0 => 1 ) === array ( 'foo' => 1, 'bar' => 2 ) = false +array ( 0 => 1 ) === array ( 'bar' => 1, 'foo' => 2 ) = false +array ( 0 => 1 ) === (object) array ( ) = false +array ( 0 => 1 ) === (object) array ( 'foo' => 1, 'bar' => 2 ) = false +array ( 0 => 1 ) === (object) array ( 'bar' => 1, 'foo' => 2 ) = false +array ( 0 => 1 ) === DateTime = false +array ( 0 => 1 ) === resource = false +array ( 0 => 1 ) === NULL = false +array ( 0 => 1, 1 => 100 ) === false = false +array ( 0 => 1, 1 => 100 ) === true = false +array ( 0 => 1, 1 => 100 ) === 0 = false +array ( 0 => 1, 1 => 100 ) === 10 = false +array ( 0 => 1, 1 => 100 ) === 0.0 = false +array ( 0 => 1, 1 => 100 ) === 10.0 = false +array ( 0 => 1, 1 => 100 ) === 3.14 = false +array ( 0 => 1, 1 => 100 ) === '0' = false +array ( 0 => 1, 1 => 100 ) === '10' = false +array ( 0 => 1, 1 => 100 ) === '010' = false +array ( 0 => 1, 1 => 100 ) === '10 elephants' = false +array ( 0 => 1, 1 => 100 ) === 'foo' = false +array ( 0 => 1, 1 => 100 ) === array ( ) = false +array ( 0 => 1, 1 => 100 ) === array ( 0 => 1 ) = false +array ( 0 => 1, 1 => 100 ) === array ( 0 => 1, 1 => 100 ) = true +array ( 0 => 1, 1 => 100 ) === array ( 'foo' => 1, 'bar' => 2 ) = false +array ( 0 => 1, 1 => 100 ) === array ( 'bar' => 1, 'foo' => 2 ) = false +array ( 0 => 1, 1 => 100 ) === (object) array ( ) = false +array ( 0 => 1, 1 => 100 ) === (object) array ( 'foo' => 1, 'bar' => 2 ) = false +array ( 0 => 1, 1 => 100 ) === (object) array ( 'bar' => 1, 'foo' => 2 ) = false +array ( 0 => 1, 1 => 100 ) === DateTime = false +array ( 0 => 1, 1 => 100 ) === resource = false +array ( 0 => 1, 1 => 100 ) === NULL = false +array ( 'foo' => 1, 'bar' => 2 ) === false = false +array ( 'foo' => 1, 'bar' => 2 ) === true = false +array ( 'foo' => 1, 'bar' => 2 ) === 0 = false +array ( 'foo' => 1, 'bar' => 2 ) === 10 = false +array ( 'foo' => 1, 'bar' => 2 ) === 0.0 = false +array ( 'foo' => 1, 'bar' => 2 ) === 10.0 = false +array ( 'foo' => 1, 'bar' => 2 ) === 3.14 = false +array ( 'foo' => 1, 'bar' => 2 ) === '0' = false +array ( 'foo' => 1, 'bar' => 2 ) === '10' = false +array ( 'foo' => 1, 'bar' => 2 ) === '010' = false +array ( 'foo' => 1, 'bar' => 2 ) === '10 elephants' = false +array ( 'foo' => 1, 'bar' => 2 ) === 'foo' = false +array ( 'foo' => 1, 'bar' => 2 ) === array ( ) = false +array ( 'foo' => 1, 'bar' => 2 ) === array ( 0 => 1 ) = false +array ( 'foo' => 1, 'bar' => 2 ) === array ( 0 => 1, 1 => 100 ) = false +array ( 'foo' => 1, 'bar' => 2 ) === array ( 'foo' => 1, 'bar' => 2 ) = true +array ( 'foo' => 1, 'bar' => 2 ) === array ( 'bar' => 1, 'foo' => 2 ) = false +array ( 'foo' => 1, 'bar' => 2 ) === (object) array ( ) = false +array ( 'foo' => 1, 'bar' => 2 ) === (object) array ( 'foo' => 1, 'bar' => 2 ) = false +array ( 'foo' => 1, 'bar' => 2 ) === (object) array ( 'bar' => 1, 'foo' => 2 ) = false +array ( 'foo' => 1, 'bar' => 2 ) === DateTime = false +array ( 'foo' => 1, 'bar' => 2 ) === resource = false +array ( 'foo' => 1, 'bar' => 2 ) === NULL = false +array ( 'bar' => 1, 'foo' => 2 ) === false = false +array ( 'bar' => 1, 'foo' => 2 ) === true = false +array ( 'bar' => 1, 'foo' => 2 ) === 0 = false +array ( 'bar' => 1, 'foo' => 2 ) === 10 = false +array ( 'bar' => 1, 'foo' => 2 ) === 0.0 = false +array ( 'bar' => 1, 'foo' => 2 ) === 10.0 = false +array ( 'bar' => 1, 'foo' => 2 ) === 3.14 = false +array ( 'bar' => 1, 'foo' => 2 ) === '0' = false +array ( 'bar' => 1, 'foo' => 2 ) === '10' = false +array ( 'bar' => 1, 'foo' => 2 ) === '010' = false +array ( 'bar' => 1, 'foo' => 2 ) === '10 elephants' = false +array ( 'bar' => 1, 'foo' => 2 ) === 'foo' = false +array ( 'bar' => 1, 'foo' => 2 ) === array ( ) = false +array ( 'bar' => 1, 'foo' => 2 ) === array ( 0 => 1 ) = false +array ( 'bar' => 1, 'foo' => 2 ) === array ( 0 => 1, 1 => 100 ) = false +array ( 'bar' => 1, 'foo' => 2 ) === array ( 'foo' => 1, 'bar' => 2 ) = false +array ( 'bar' => 1, 'foo' => 2 ) === array ( 'bar' => 1, 'foo' => 2 ) = true +array ( 'bar' => 1, 'foo' => 2 ) === (object) array ( ) = false +array ( 'bar' => 1, 'foo' => 2 ) === (object) array ( 'foo' => 1, 'bar' => 2 ) = false +array ( 'bar' => 1, 'foo' => 2 ) === (object) array ( 'bar' => 1, 'foo' => 2 ) = false +array ( 'bar' => 1, 'foo' => 2 ) === DateTime = false +array ( 'bar' => 1, 'foo' => 2 ) === resource = false +array ( 'bar' => 1, 'foo' => 2 ) === NULL = false +(object) array ( ) === false = false +(object) array ( ) === true = false +(object) array ( ) === 0 = false +(object) array ( ) === 10 = false +(object) array ( ) === 0.0 = false +(object) array ( ) === 10.0 = false +(object) array ( ) === 3.14 = false +(object) array ( ) === '0' = false +(object) array ( ) === '10' = false +(object) array ( ) === '010' = false +(object) array ( ) === '10 elephants' = false +(object) array ( ) === 'foo' = false +(object) array ( ) === array ( ) = false +(object) array ( ) === array ( 0 => 1 ) = false +(object) array ( ) === array ( 0 => 1, 1 => 100 ) = false +(object) array ( ) === array ( 'foo' => 1, 'bar' => 2 ) = false +(object) array ( ) === array ( 'bar' => 1, 'foo' => 2 ) = false +(object) array ( ) === (object) array ( ) = true +(object) array ( ) === (object) array ( 'foo' => 1, 'bar' => 2 ) = false +(object) array ( ) === (object) array ( 'bar' => 1, 'foo' => 2 ) = false +(object) array ( ) === DateTime = false +(object) array ( ) === resource = false +(object) array ( ) === NULL = false +(object) array ( 'foo' => 1, 'bar' => 2 ) === false = false +(object) array ( 'foo' => 1, 'bar' => 2 ) === true = false +(object) array ( 'foo' => 1, 'bar' => 2 ) === 0 = false +(object) array ( 'foo' => 1, 'bar' => 2 ) === 10 = false +(object) array ( 'foo' => 1, 'bar' => 2 ) === 0.0 = false +(object) array ( 'foo' => 1, 'bar' => 2 ) === 10.0 = false +(object) array ( 'foo' => 1, 'bar' => 2 ) === 3.14 = false +(object) array ( 'foo' => 1, 'bar' => 2 ) === '0' = false +(object) array ( 'foo' => 1, 'bar' => 2 ) === '10' = false +(object) array ( 'foo' => 1, 'bar' => 2 ) === '010' = false +(object) array ( 'foo' => 1, 'bar' => 2 ) === '10 elephants' = false +(object) array ( 'foo' => 1, 'bar' => 2 ) === 'foo' = false +(object) array ( 'foo' => 1, 'bar' => 2 ) === array ( ) = false +(object) array ( 'foo' => 1, 'bar' => 2 ) === array ( 0 => 1 ) = false +(object) array ( 'foo' => 1, 'bar' => 2 ) === array ( 0 => 1, 1 => 100 ) = false +(object) array ( 'foo' => 1, 'bar' => 2 ) === array ( 'foo' => 1, 'bar' => 2 ) = false +(object) array ( 'foo' => 1, 'bar' => 2 ) === array ( 'bar' => 1, 'foo' => 2 ) = false +(object) array ( 'foo' => 1, 'bar' => 2 ) === (object) array ( ) = false +(object) array ( 'foo' => 1, 'bar' => 2 ) === (object) array ( 'foo' => 1, 'bar' => 2 ) = true +(object) array ( 'foo' => 1, 'bar' => 2 ) === (object) array ( 'bar' => 1, 'foo' => 2 ) = false +(object) array ( 'foo' => 1, 'bar' => 2 ) === DateTime = false +(object) array ( 'foo' => 1, 'bar' => 2 ) === resource = false +(object) array ( 'foo' => 1, 'bar' => 2 ) === NULL = false +(object) array ( 'bar' => 1, 'foo' => 2 ) === false = false +(object) array ( 'bar' => 1, 'foo' => 2 ) === true = false +(object) array ( 'bar' => 1, 'foo' => 2 ) === 0 = false +(object) array ( 'bar' => 1, 'foo' => 2 ) === 10 = false +(object) array ( 'bar' => 1, 'foo' => 2 ) === 0.0 = false +(object) array ( 'bar' => 1, 'foo' => 2 ) === 10.0 = false +(object) array ( 'bar' => 1, 'foo' => 2 ) === 3.14 = false +(object) array ( 'bar' => 1, 'foo' => 2 ) === '0' = false +(object) array ( 'bar' => 1, 'foo' => 2 ) === '10' = false +(object) array ( 'bar' => 1, 'foo' => 2 ) === '010' = false +(object) array ( 'bar' => 1, 'foo' => 2 ) === '10 elephants' = false +(object) array ( 'bar' => 1, 'foo' => 2 ) === 'foo' = false +(object) array ( 'bar' => 1, 'foo' => 2 ) === array ( ) = false +(object) array ( 'bar' => 1, 'foo' => 2 ) === array ( 0 => 1 ) = false +(object) array ( 'bar' => 1, 'foo' => 2 ) === array ( 0 => 1, 1 => 100 ) = false +(object) array ( 'bar' => 1, 'foo' => 2 ) === array ( 'foo' => 1, 'bar' => 2 ) = false +(object) array ( 'bar' => 1, 'foo' => 2 ) === array ( 'bar' => 1, 'foo' => 2 ) = false +(object) array ( 'bar' => 1, 'foo' => 2 ) === (object) array ( ) = false +(object) array ( 'bar' => 1, 'foo' => 2 ) === (object) array ( 'foo' => 1, 'bar' => 2 ) = false +(object) array ( 'bar' => 1, 'foo' => 2 ) === (object) array ( 'bar' => 1, 'foo' => 2 ) = true +(object) array ( 'bar' => 1, 'foo' => 2 ) === DateTime = false +(object) array ( 'bar' => 1, 'foo' => 2 ) === resource = false +(object) array ( 'bar' => 1, 'foo' => 2 ) === NULL = false +DateTime === false = false +DateTime === true = false +DateTime === 0 = false +DateTime === 10 = false +DateTime === 0.0 = false +DateTime === 10.0 = false +DateTime === 3.14 = false +DateTime === '0' = false +DateTime === '10' = false +DateTime === '010' = false +DateTime === '10 elephants' = false +DateTime === 'foo' = false +DateTime === array ( ) = false +DateTime === array ( 0 => 1 ) = false +DateTime === array ( 0 => 1, 1 => 100 ) = false +DateTime === array ( 'foo' => 1, 'bar' => 2 ) = false +DateTime === array ( 'bar' => 1, 'foo' => 2 ) = false +DateTime === (object) array ( ) = false +DateTime === (object) array ( 'foo' => 1, 'bar' => 2 ) = false +DateTime === (object) array ( 'bar' => 1, 'foo' => 2 ) = false +DateTime === DateTime = true +DateTime === resource = false +DateTime === NULL = false +resource === false = false +resource === true = false +resource === 0 = false +resource === 10 = false +resource === 0.0 = false +resource === 10.0 = false +resource === 3.14 = false +resource === '0' = false +resource === '10' = false +resource === '010' = false +resource === '10 elephants' = false +resource === 'foo' = false +resource === array ( ) = false +resource === array ( 0 => 1 ) = false +resource === array ( 0 => 1, 1 => 100 ) = false +resource === array ( 'foo' => 1, 'bar' => 2 ) = false +resource === array ( 'bar' => 1, 'foo' => 2 ) = false +resource === (object) array ( ) = false +resource === (object) array ( 'foo' => 1, 'bar' => 2 ) = false +resource === (object) array ( 'bar' => 1, 'foo' => 2 ) = false +resource === DateTime = false +resource === resource = true +resource === NULL = false +NULL === false = false +NULL === true = false +NULL === 0 = false +NULL === 10 = false +NULL === 0.0 = false +NULL === 10.0 = false +NULL === 3.14 = false +NULL === '0' = false +NULL === '10' = false +NULL === '010' = false +NULL === '10 elephants' = false +NULL === 'foo' = false +NULL === array ( ) = false +NULL === array ( 0 => 1 ) = false +NULL === array ( 0 => 1, 1 => 100 ) = false +NULL === array ( 'foo' => 1, 'bar' => 2 ) = false +NULL === array ( 'bar' => 1, 'foo' => 2 ) = false +NULL === (object) array ( ) = false +NULL === (object) array ( 'foo' => 1, 'bar' => 2 ) = false +NULL === (object) array ( 'bar' => 1, 'foo' => 2 ) = false +NULL === DateTime = false +NULL === resource = false +NULL === NULL = true \ No newline at end of file diff --git a/Zend/tests/operators/comparison/identical_strict.phpt b/Zend/tests/operators/comparison/identical_strict.phpt new file mode 100644 index 000000000000..3a9d80c0bed4 --- /dev/null +++ b/Zend/tests/operators/comparison/identical_strict.phpt @@ -0,0 +1,542 @@ +--TEST-- +identical '===' operator with strict_operators +--FILE-- + 1 ) = false +false === array ( 0 => 1, 1 => 100 ) = false +false === array ( 'foo' => 1, 'bar' => 2 ) = false +false === array ( 'bar' => 1, 'foo' => 2 ) = false +false === (object) array ( ) = false +false === (object) array ( 'foo' => 1, 'bar' => 2 ) = false +false === (object) array ( 'bar' => 1, 'foo' => 2 ) = false +false === DateTime = false +false === resource = false +false === NULL = false +true === false = false +true === true = true +true === 0 = false +true === 10 = false +true === 0.0 = false +true === 10.0 = false +true === 3.14 = false +true === '0' = false +true === '10' = false +true === '010' = false +true === '10 elephants' = false +true === 'foo' = false +true === array ( ) = false +true === array ( 0 => 1 ) = false +true === array ( 0 => 1, 1 => 100 ) = false +true === array ( 'foo' => 1, 'bar' => 2 ) = false +true === array ( 'bar' => 1, 'foo' => 2 ) = false +true === (object) array ( ) = false +true === (object) array ( 'foo' => 1, 'bar' => 2 ) = false +true === (object) array ( 'bar' => 1, 'foo' => 2 ) = false +true === DateTime = false +true === resource = false +true === NULL = false +0 === false = false +0 === true = false +0 === 0 = true +0 === 10 = false +0 === 0.0 = false +0 === 10.0 = false +0 === 3.14 = false +0 === '0' = false +0 === '10' = false +0 === '010' = false +0 === '10 elephants' = false +0 === 'foo' = false +0 === array ( ) = false +0 === array ( 0 => 1 ) = false +0 === array ( 0 => 1, 1 => 100 ) = false +0 === array ( 'foo' => 1, 'bar' => 2 ) = false +0 === array ( 'bar' => 1, 'foo' => 2 ) = false +0 === (object) array ( ) = false +0 === (object) array ( 'foo' => 1, 'bar' => 2 ) = false +0 === (object) array ( 'bar' => 1, 'foo' => 2 ) = false +0 === DateTime = false +0 === resource = false +0 === NULL = false +10 === false = false +10 === true = false +10 === 0 = false +10 === 10 = true +10 === 0.0 = false +10 === 10.0 = false +10 === 3.14 = false +10 === '0' = false +10 === '10' = false +10 === '010' = false +10 === '10 elephants' = false +10 === 'foo' = false +10 === array ( ) = false +10 === array ( 0 => 1 ) = false +10 === array ( 0 => 1, 1 => 100 ) = false +10 === array ( 'foo' => 1, 'bar' => 2 ) = false +10 === array ( 'bar' => 1, 'foo' => 2 ) = false +10 === (object) array ( ) = false +10 === (object) array ( 'foo' => 1, 'bar' => 2 ) = false +10 === (object) array ( 'bar' => 1, 'foo' => 2 ) = false +10 === DateTime = false +10 === resource = false +10 === NULL = false +0.0 === false = false +0.0 === true = false +0.0 === 0 = false +0.0 === 10 = false +0.0 === 0.0 = true +0.0 === 10.0 = false +0.0 === 3.14 = false +0.0 === '0' = false +0.0 === '10' = false +0.0 === '010' = false +0.0 === '10 elephants' = false +0.0 === 'foo' = false +0.0 === array ( ) = false +0.0 === array ( 0 => 1 ) = false +0.0 === array ( 0 => 1, 1 => 100 ) = false +0.0 === array ( 'foo' => 1, 'bar' => 2 ) = false +0.0 === array ( 'bar' => 1, 'foo' => 2 ) = false +0.0 === (object) array ( ) = false +0.0 === (object) array ( 'foo' => 1, 'bar' => 2 ) = false +0.0 === (object) array ( 'bar' => 1, 'foo' => 2 ) = false +0.0 === DateTime = false +0.0 === resource = false +0.0 === NULL = false +10.0 === false = false +10.0 === true = false +10.0 === 0 = false +10.0 === 10 = false +10.0 === 0.0 = false +10.0 === 10.0 = true +10.0 === 3.14 = false +10.0 === '0' = false +10.0 === '10' = false +10.0 === '010' = false +10.0 === '10 elephants' = false +10.0 === 'foo' = false +10.0 === array ( ) = false +10.0 === array ( 0 => 1 ) = false +10.0 === array ( 0 => 1, 1 => 100 ) = false +10.0 === array ( 'foo' => 1, 'bar' => 2 ) = false +10.0 === array ( 'bar' => 1, 'foo' => 2 ) = false +10.0 === (object) array ( ) = false +10.0 === (object) array ( 'foo' => 1, 'bar' => 2 ) = false +10.0 === (object) array ( 'bar' => 1, 'foo' => 2 ) = false +10.0 === DateTime = false +10.0 === resource = false +10.0 === NULL = false +3.14 === false = false +3.14 === true = false +3.14 === 0 = false +3.14 === 10 = false +3.14 === 0.0 = false +3.14 === 10.0 = false +3.14 === 3.14 = true +3.14 === '0' = false +3.14 === '10' = false +3.14 === '010' = false +3.14 === '10 elephants' = false +3.14 === 'foo' = false +3.14 === array ( ) = false +3.14 === array ( 0 => 1 ) = false +3.14 === array ( 0 => 1, 1 => 100 ) = false +3.14 === array ( 'foo' => 1, 'bar' => 2 ) = false +3.14 === array ( 'bar' => 1, 'foo' => 2 ) = false +3.14 === (object) array ( ) = false +3.14 === (object) array ( 'foo' => 1, 'bar' => 2 ) = false +3.14 === (object) array ( 'bar' => 1, 'foo' => 2 ) = false +3.14 === DateTime = false +3.14 === resource = false +3.14 === NULL = false +'0' === false = false +'0' === true = false +'0' === 0 = false +'0' === 10 = false +'0' === 0.0 = false +'0' === 10.0 = false +'0' === 3.14 = false +'0' === '0' = true +'0' === '10' = false +'0' === '010' = false +'0' === '10 elephants' = false +'0' === 'foo' = false +'0' === array ( ) = false +'0' === array ( 0 => 1 ) = false +'0' === array ( 0 => 1, 1 => 100 ) = false +'0' === array ( 'foo' => 1, 'bar' => 2 ) = false +'0' === array ( 'bar' => 1, 'foo' => 2 ) = false +'0' === (object) array ( ) = false +'0' === (object) array ( 'foo' => 1, 'bar' => 2 ) = false +'0' === (object) array ( 'bar' => 1, 'foo' => 2 ) = false +'0' === DateTime = false +'0' === resource = false +'0' === NULL = false +'10' === false = false +'10' === true = false +'10' === 0 = false +'10' === 10 = false +'10' === 0.0 = false +'10' === 10.0 = false +'10' === 3.14 = false +'10' === '0' = false +'10' === '10' = true +'10' === '010' = false +'10' === '10 elephants' = false +'10' === 'foo' = false +'10' === array ( ) = false +'10' === array ( 0 => 1 ) = false +'10' === array ( 0 => 1, 1 => 100 ) = false +'10' === array ( 'foo' => 1, 'bar' => 2 ) = false +'10' === array ( 'bar' => 1, 'foo' => 2 ) = false +'10' === (object) array ( ) = false +'10' === (object) array ( 'foo' => 1, 'bar' => 2 ) = false +'10' === (object) array ( 'bar' => 1, 'foo' => 2 ) = false +'10' === DateTime = false +'10' === resource = false +'10' === NULL = false +'010' === false = false +'010' === true = false +'010' === 0 = false +'010' === 10 = false +'010' === 0.0 = false +'010' === 10.0 = false +'010' === 3.14 = false +'010' === '0' = false +'010' === '10' = false +'010' === '010' = true +'010' === '10 elephants' = false +'010' === 'foo' = false +'010' === array ( ) = false +'010' === array ( 0 => 1 ) = false +'010' === array ( 0 => 1, 1 => 100 ) = false +'010' === array ( 'foo' => 1, 'bar' => 2 ) = false +'010' === array ( 'bar' => 1, 'foo' => 2 ) = false +'010' === (object) array ( ) = false +'010' === (object) array ( 'foo' => 1, 'bar' => 2 ) = false +'010' === (object) array ( 'bar' => 1, 'foo' => 2 ) = false +'010' === DateTime = false +'010' === resource = false +'010' === NULL = false +'10 elephants' === false = false +'10 elephants' === true = false +'10 elephants' === 0 = false +'10 elephants' === 10 = false +'10 elephants' === 0.0 = false +'10 elephants' === 10.0 = false +'10 elephants' === 3.14 = false +'10 elephants' === '0' = false +'10 elephants' === '10' = false +'10 elephants' === '010' = false +'10 elephants' === '10 elephants' = true +'10 elephants' === 'foo' = false +'10 elephants' === array ( ) = false +'10 elephants' === array ( 0 => 1 ) = false +'10 elephants' === array ( 0 => 1, 1 => 100 ) = false +'10 elephants' === array ( 'foo' => 1, 'bar' => 2 ) = false +'10 elephants' === array ( 'bar' => 1, 'foo' => 2 ) = false +'10 elephants' === (object) array ( ) = false +'10 elephants' === (object) array ( 'foo' => 1, 'bar' => 2 ) = false +'10 elephants' === (object) array ( 'bar' => 1, 'foo' => 2 ) = false +'10 elephants' === DateTime = false +'10 elephants' === resource = false +'10 elephants' === NULL = false +'foo' === false = false +'foo' === true = false +'foo' === 0 = false +'foo' === 10 = false +'foo' === 0.0 = false +'foo' === 10.0 = false +'foo' === 3.14 = false +'foo' === '0' = false +'foo' === '10' = false +'foo' === '010' = false +'foo' === '10 elephants' = false +'foo' === 'foo' = true +'foo' === array ( ) = false +'foo' === array ( 0 => 1 ) = false +'foo' === array ( 0 => 1, 1 => 100 ) = false +'foo' === array ( 'foo' => 1, 'bar' => 2 ) = false +'foo' === array ( 'bar' => 1, 'foo' => 2 ) = false +'foo' === (object) array ( ) = false +'foo' === (object) array ( 'foo' => 1, 'bar' => 2 ) = false +'foo' === (object) array ( 'bar' => 1, 'foo' => 2 ) = false +'foo' === DateTime = false +'foo' === resource = false +'foo' === NULL = false +array ( ) === false = false +array ( ) === true = false +array ( ) === 0 = false +array ( ) === 10 = false +array ( ) === 0.0 = false +array ( ) === 10.0 = false +array ( ) === 3.14 = false +array ( ) === '0' = false +array ( ) === '10' = false +array ( ) === '010' = false +array ( ) === '10 elephants' = false +array ( ) === 'foo' = false +array ( ) === array ( ) = true +array ( ) === array ( 0 => 1 ) = false +array ( ) === array ( 0 => 1, 1 => 100 ) = false +array ( ) === array ( 'foo' => 1, 'bar' => 2 ) = false +array ( ) === array ( 'bar' => 1, 'foo' => 2 ) = false +array ( ) === (object) array ( ) = false +array ( ) === (object) array ( 'foo' => 1, 'bar' => 2 ) = false +array ( ) === (object) array ( 'bar' => 1, 'foo' => 2 ) = false +array ( ) === DateTime = false +array ( ) === resource = false +array ( ) === NULL = false +array ( 0 => 1 ) === false = false +array ( 0 => 1 ) === true = false +array ( 0 => 1 ) === 0 = false +array ( 0 => 1 ) === 10 = false +array ( 0 => 1 ) === 0.0 = false +array ( 0 => 1 ) === 10.0 = false +array ( 0 => 1 ) === 3.14 = false +array ( 0 => 1 ) === '0' = false +array ( 0 => 1 ) === '10' = false +array ( 0 => 1 ) === '010' = false +array ( 0 => 1 ) === '10 elephants' = false +array ( 0 => 1 ) === 'foo' = false +array ( 0 => 1 ) === array ( ) = false +array ( 0 => 1 ) === array ( 0 => 1 ) = true +array ( 0 => 1 ) === array ( 0 => 1, 1 => 100 ) = false +array ( 0 => 1 ) === array ( 'foo' => 1, 'bar' => 2 ) = false +array ( 0 => 1 ) === array ( 'bar' => 1, 'foo' => 2 ) = false +array ( 0 => 1 ) === (object) array ( ) = false +array ( 0 => 1 ) === (object) array ( 'foo' => 1, 'bar' => 2 ) = false +array ( 0 => 1 ) === (object) array ( 'bar' => 1, 'foo' => 2 ) = false +array ( 0 => 1 ) === DateTime = false +array ( 0 => 1 ) === resource = false +array ( 0 => 1 ) === NULL = false +array ( 0 => 1, 1 => 100 ) === false = false +array ( 0 => 1, 1 => 100 ) === true = false +array ( 0 => 1, 1 => 100 ) === 0 = false +array ( 0 => 1, 1 => 100 ) === 10 = false +array ( 0 => 1, 1 => 100 ) === 0.0 = false +array ( 0 => 1, 1 => 100 ) === 10.0 = false +array ( 0 => 1, 1 => 100 ) === 3.14 = false +array ( 0 => 1, 1 => 100 ) === '0' = false +array ( 0 => 1, 1 => 100 ) === '10' = false +array ( 0 => 1, 1 => 100 ) === '010' = false +array ( 0 => 1, 1 => 100 ) === '10 elephants' = false +array ( 0 => 1, 1 => 100 ) === 'foo' = false +array ( 0 => 1, 1 => 100 ) === array ( ) = false +array ( 0 => 1, 1 => 100 ) === array ( 0 => 1 ) = false +array ( 0 => 1, 1 => 100 ) === array ( 0 => 1, 1 => 100 ) = true +array ( 0 => 1, 1 => 100 ) === array ( 'foo' => 1, 'bar' => 2 ) = false +array ( 0 => 1, 1 => 100 ) === array ( 'bar' => 1, 'foo' => 2 ) = false +array ( 0 => 1, 1 => 100 ) === (object) array ( ) = false +array ( 0 => 1, 1 => 100 ) === (object) array ( 'foo' => 1, 'bar' => 2 ) = false +array ( 0 => 1, 1 => 100 ) === (object) array ( 'bar' => 1, 'foo' => 2 ) = false +array ( 0 => 1, 1 => 100 ) === DateTime = false +array ( 0 => 1, 1 => 100 ) === resource = false +array ( 0 => 1, 1 => 100 ) === NULL = false +array ( 'foo' => 1, 'bar' => 2 ) === false = false +array ( 'foo' => 1, 'bar' => 2 ) === true = false +array ( 'foo' => 1, 'bar' => 2 ) === 0 = false +array ( 'foo' => 1, 'bar' => 2 ) === 10 = false +array ( 'foo' => 1, 'bar' => 2 ) === 0.0 = false +array ( 'foo' => 1, 'bar' => 2 ) === 10.0 = false +array ( 'foo' => 1, 'bar' => 2 ) === 3.14 = false +array ( 'foo' => 1, 'bar' => 2 ) === '0' = false +array ( 'foo' => 1, 'bar' => 2 ) === '10' = false +array ( 'foo' => 1, 'bar' => 2 ) === '010' = false +array ( 'foo' => 1, 'bar' => 2 ) === '10 elephants' = false +array ( 'foo' => 1, 'bar' => 2 ) === 'foo' = false +array ( 'foo' => 1, 'bar' => 2 ) === array ( ) = false +array ( 'foo' => 1, 'bar' => 2 ) === array ( 0 => 1 ) = false +array ( 'foo' => 1, 'bar' => 2 ) === array ( 0 => 1, 1 => 100 ) = false +array ( 'foo' => 1, 'bar' => 2 ) === array ( 'foo' => 1, 'bar' => 2 ) = true +array ( 'foo' => 1, 'bar' => 2 ) === array ( 'bar' => 1, 'foo' => 2 ) = false +array ( 'foo' => 1, 'bar' => 2 ) === (object) array ( ) = false +array ( 'foo' => 1, 'bar' => 2 ) === (object) array ( 'foo' => 1, 'bar' => 2 ) = false +array ( 'foo' => 1, 'bar' => 2 ) === (object) array ( 'bar' => 1, 'foo' => 2 ) = false +array ( 'foo' => 1, 'bar' => 2 ) === DateTime = false +array ( 'foo' => 1, 'bar' => 2 ) === resource = false +array ( 'foo' => 1, 'bar' => 2 ) === NULL = false +array ( 'bar' => 1, 'foo' => 2 ) === false = false +array ( 'bar' => 1, 'foo' => 2 ) === true = false +array ( 'bar' => 1, 'foo' => 2 ) === 0 = false +array ( 'bar' => 1, 'foo' => 2 ) === 10 = false +array ( 'bar' => 1, 'foo' => 2 ) === 0.0 = false +array ( 'bar' => 1, 'foo' => 2 ) === 10.0 = false +array ( 'bar' => 1, 'foo' => 2 ) === 3.14 = false +array ( 'bar' => 1, 'foo' => 2 ) === '0' = false +array ( 'bar' => 1, 'foo' => 2 ) === '10' = false +array ( 'bar' => 1, 'foo' => 2 ) === '010' = false +array ( 'bar' => 1, 'foo' => 2 ) === '10 elephants' = false +array ( 'bar' => 1, 'foo' => 2 ) === 'foo' = false +array ( 'bar' => 1, 'foo' => 2 ) === array ( ) = false +array ( 'bar' => 1, 'foo' => 2 ) === array ( 0 => 1 ) = false +array ( 'bar' => 1, 'foo' => 2 ) === array ( 0 => 1, 1 => 100 ) = false +array ( 'bar' => 1, 'foo' => 2 ) === array ( 'foo' => 1, 'bar' => 2 ) = false +array ( 'bar' => 1, 'foo' => 2 ) === array ( 'bar' => 1, 'foo' => 2 ) = true +array ( 'bar' => 1, 'foo' => 2 ) === (object) array ( ) = false +array ( 'bar' => 1, 'foo' => 2 ) === (object) array ( 'foo' => 1, 'bar' => 2 ) = false +array ( 'bar' => 1, 'foo' => 2 ) === (object) array ( 'bar' => 1, 'foo' => 2 ) = false +array ( 'bar' => 1, 'foo' => 2 ) === DateTime = false +array ( 'bar' => 1, 'foo' => 2 ) === resource = false +array ( 'bar' => 1, 'foo' => 2 ) === NULL = false +(object) array ( ) === false = false +(object) array ( ) === true = false +(object) array ( ) === 0 = false +(object) array ( ) === 10 = false +(object) array ( ) === 0.0 = false +(object) array ( ) === 10.0 = false +(object) array ( ) === 3.14 = false +(object) array ( ) === '0' = false +(object) array ( ) === '10' = false +(object) array ( ) === '010' = false +(object) array ( ) === '10 elephants' = false +(object) array ( ) === 'foo' = false +(object) array ( ) === array ( ) = false +(object) array ( ) === array ( 0 => 1 ) = false +(object) array ( ) === array ( 0 => 1, 1 => 100 ) = false +(object) array ( ) === array ( 'foo' => 1, 'bar' => 2 ) = false +(object) array ( ) === array ( 'bar' => 1, 'foo' => 2 ) = false +(object) array ( ) === (object) array ( ) = true +(object) array ( ) === (object) array ( 'foo' => 1, 'bar' => 2 ) = false +(object) array ( ) === (object) array ( 'bar' => 1, 'foo' => 2 ) = false +(object) array ( ) === DateTime = false +(object) array ( ) === resource = false +(object) array ( ) === NULL = false +(object) array ( 'foo' => 1, 'bar' => 2 ) === false = false +(object) array ( 'foo' => 1, 'bar' => 2 ) === true = false +(object) array ( 'foo' => 1, 'bar' => 2 ) === 0 = false +(object) array ( 'foo' => 1, 'bar' => 2 ) === 10 = false +(object) array ( 'foo' => 1, 'bar' => 2 ) === 0.0 = false +(object) array ( 'foo' => 1, 'bar' => 2 ) === 10.0 = false +(object) array ( 'foo' => 1, 'bar' => 2 ) === 3.14 = false +(object) array ( 'foo' => 1, 'bar' => 2 ) === '0' = false +(object) array ( 'foo' => 1, 'bar' => 2 ) === '10' = false +(object) array ( 'foo' => 1, 'bar' => 2 ) === '010' = false +(object) array ( 'foo' => 1, 'bar' => 2 ) === '10 elephants' = false +(object) array ( 'foo' => 1, 'bar' => 2 ) === 'foo' = false +(object) array ( 'foo' => 1, 'bar' => 2 ) === array ( ) = false +(object) array ( 'foo' => 1, 'bar' => 2 ) === array ( 0 => 1 ) = false +(object) array ( 'foo' => 1, 'bar' => 2 ) === array ( 0 => 1, 1 => 100 ) = false +(object) array ( 'foo' => 1, 'bar' => 2 ) === array ( 'foo' => 1, 'bar' => 2 ) = false +(object) array ( 'foo' => 1, 'bar' => 2 ) === array ( 'bar' => 1, 'foo' => 2 ) = false +(object) array ( 'foo' => 1, 'bar' => 2 ) === (object) array ( ) = false +(object) array ( 'foo' => 1, 'bar' => 2 ) === (object) array ( 'foo' => 1, 'bar' => 2 ) = true +(object) array ( 'foo' => 1, 'bar' => 2 ) === (object) array ( 'bar' => 1, 'foo' => 2 ) = false +(object) array ( 'foo' => 1, 'bar' => 2 ) === DateTime = false +(object) array ( 'foo' => 1, 'bar' => 2 ) === resource = false +(object) array ( 'foo' => 1, 'bar' => 2 ) === NULL = false +(object) array ( 'bar' => 1, 'foo' => 2 ) === false = false +(object) array ( 'bar' => 1, 'foo' => 2 ) === true = false +(object) array ( 'bar' => 1, 'foo' => 2 ) === 0 = false +(object) array ( 'bar' => 1, 'foo' => 2 ) === 10 = false +(object) array ( 'bar' => 1, 'foo' => 2 ) === 0.0 = false +(object) array ( 'bar' => 1, 'foo' => 2 ) === 10.0 = false +(object) array ( 'bar' => 1, 'foo' => 2 ) === 3.14 = false +(object) array ( 'bar' => 1, 'foo' => 2 ) === '0' = false +(object) array ( 'bar' => 1, 'foo' => 2 ) === '10' = false +(object) array ( 'bar' => 1, 'foo' => 2 ) === '010' = false +(object) array ( 'bar' => 1, 'foo' => 2 ) === '10 elephants' = false +(object) array ( 'bar' => 1, 'foo' => 2 ) === 'foo' = false +(object) array ( 'bar' => 1, 'foo' => 2 ) === array ( ) = false +(object) array ( 'bar' => 1, 'foo' => 2 ) === array ( 0 => 1 ) = false +(object) array ( 'bar' => 1, 'foo' => 2 ) === array ( 0 => 1, 1 => 100 ) = false +(object) array ( 'bar' => 1, 'foo' => 2 ) === array ( 'foo' => 1, 'bar' => 2 ) = false +(object) array ( 'bar' => 1, 'foo' => 2 ) === array ( 'bar' => 1, 'foo' => 2 ) = false +(object) array ( 'bar' => 1, 'foo' => 2 ) === (object) array ( ) = false +(object) array ( 'bar' => 1, 'foo' => 2 ) === (object) array ( 'foo' => 1, 'bar' => 2 ) = false +(object) array ( 'bar' => 1, 'foo' => 2 ) === (object) array ( 'bar' => 1, 'foo' => 2 ) = true +(object) array ( 'bar' => 1, 'foo' => 2 ) === DateTime = false +(object) array ( 'bar' => 1, 'foo' => 2 ) === resource = false +(object) array ( 'bar' => 1, 'foo' => 2 ) === NULL = false +DateTime === false = false +DateTime === true = false +DateTime === 0 = false +DateTime === 10 = false +DateTime === 0.0 = false +DateTime === 10.0 = false +DateTime === 3.14 = false +DateTime === '0' = false +DateTime === '10' = false +DateTime === '010' = false +DateTime === '10 elephants' = false +DateTime === 'foo' = false +DateTime === array ( ) = false +DateTime === array ( 0 => 1 ) = false +DateTime === array ( 0 => 1, 1 => 100 ) = false +DateTime === array ( 'foo' => 1, 'bar' => 2 ) = false +DateTime === array ( 'bar' => 1, 'foo' => 2 ) = false +DateTime === (object) array ( ) = false +DateTime === (object) array ( 'foo' => 1, 'bar' => 2 ) = false +DateTime === (object) array ( 'bar' => 1, 'foo' => 2 ) = false +DateTime === DateTime = true +DateTime === resource = false +DateTime === NULL = false +resource === false = false +resource === true = false +resource === 0 = false +resource === 10 = false +resource === 0.0 = false +resource === 10.0 = false +resource === 3.14 = false +resource === '0' = false +resource === '10' = false +resource === '010' = false +resource === '10 elephants' = false +resource === 'foo' = false +resource === array ( ) = false +resource === array ( 0 => 1 ) = false +resource === array ( 0 => 1, 1 => 100 ) = false +resource === array ( 'foo' => 1, 'bar' => 2 ) = false +resource === array ( 'bar' => 1, 'foo' => 2 ) = false +resource === (object) array ( ) = false +resource === (object) array ( 'foo' => 1, 'bar' => 2 ) = false +resource === (object) array ( 'bar' => 1, 'foo' => 2 ) = false +resource === DateTime = false +resource === resource = true +resource === NULL = false +NULL === false = false +NULL === true = false +NULL === 0 = false +NULL === 10 = false +NULL === 0.0 = false +NULL === 10.0 = false +NULL === 3.14 = false +NULL === '0' = false +NULL === '10' = false +NULL === '010' = false +NULL === '10 elephants' = false +NULL === 'foo' = false +NULL === array ( ) = false +NULL === array ( 0 => 1 ) = false +NULL === array ( 0 => 1, 1 => 100 ) = false +NULL === array ( 'foo' => 1, 'bar' => 2 ) = false +NULL === array ( 'bar' => 1, 'foo' => 2 ) = false +NULL === (object) array ( ) = false +NULL === (object) array ( 'foo' => 1, 'bar' => 2 ) = false +NULL === (object) array ( 'bar' => 1, 'foo' => 2 ) = false +NULL === DateTime = false +NULL === resource = false +NULL === NULL = true \ No newline at end of file diff --git a/Zend/tests/operators/comparison/less_than.phpt b/Zend/tests/operators/comparison/less_than.phpt new file mode 100644 index 000000000000..bbb5ebfd0fbf --- /dev/null +++ b/Zend/tests/operators/comparison/less_than.phpt @@ -0,0 +1,540 @@ +--TEST-- +less than '<' operator +--FILE-- + 1 ) = true +false < array ( 0 => 1, 1 => 100 ) = true +false < array ( 'foo' => 1, 'bar' => 2 ) = true +false < array ( 'bar' => 1, 'foo' => 2 ) = true +false < (object) array ( ) = true +false < (object) array ( 'foo' => 1, 'bar' => 2 ) = true +false < (object) array ( 'bar' => 1, 'foo' => 2 ) = true +false < DateTime = true +false < resource = true +false < NULL = false +true < false = false +true < true = false +true < 0 = false +true < 10 = false +true < 0.0 = false +true < 10.0 = false +true < 3.14 = false +true < '0' = false +true < '10' = false +true < '010' = false +true < '10 elephants' = false +true < 'foo' = false +true < array ( ) = false +true < array ( 0 => 1 ) = false +true < array ( 0 => 1, 1 => 100 ) = false +true < array ( 'foo' => 1, 'bar' => 2 ) = false +true < array ( 'bar' => 1, 'foo' => 2 ) = false +true < (object) array ( ) = false +true < (object) array ( 'foo' => 1, 'bar' => 2 ) = false +true < (object) array ( 'bar' => 1, 'foo' => 2 ) = false +true < DateTime = false +true < resource = false +true < NULL = false +0 < false = false +0 < true = true +0 < 0 = false +0 < 10 = true +0 < 0.0 = false +0 < 10.0 = true +0 < 3.14 = true +0 < '0' = false +0 < '10' = true +0 < '010' = true +0 < '10 elephants' = true +0 < 'foo' = false +0 < array ( ) = true +0 < array ( 0 => 1 ) = true +0 < array ( 0 => 1, 1 => 100 ) = true +0 < array ( 'foo' => 1, 'bar' => 2 ) = true +0 < array ( 'bar' => 1, 'foo' => 2 ) = true +0 < (object) array ( ) = true - Notice Object of class stdClass could not be converted to int +0 < (object) array ( 'foo' => 1, 'bar' => 2 ) = true - Notice Object of class stdClass could not be converted to int +0 < (object) array ( 'bar' => 1, 'foo' => 2 ) = true - Notice Object of class stdClass could not be converted to int +0 < DateTime = true - Notice Object of class DateTime could not be converted to int +0 < resource = true +0 < NULL = false +10 < false = false +10 < true = false +10 < 0 = false +10 < 10 = false +10 < 0.0 = false +10 < 10.0 = false +10 < 3.14 = false +10 < '0' = false +10 < '10' = false +10 < '010' = false +10 < '10 elephants' = false +10 < 'foo' = false +10 < array ( ) = true +10 < array ( 0 => 1 ) = true +10 < array ( 0 => 1, 1 => 100 ) = true +10 < array ( 'foo' => 1, 'bar' => 2 ) = true +10 < array ( 'bar' => 1, 'foo' => 2 ) = true +10 < (object) array ( ) = false - Notice Object of class stdClass could not be converted to int +10 < (object) array ( 'foo' => 1, 'bar' => 2 ) = false - Notice Object of class stdClass could not be converted to int +10 < (object) array ( 'bar' => 1, 'foo' => 2 ) = false - Notice Object of class stdClass could not be converted to int +10 < DateTime = false - Notice Object of class DateTime could not be converted to int +10 < resource = false +10 < NULL = false +0.0 < false = false +0.0 < true = true +0.0 < 0 = false +0.0 < 10 = true +0.0 < 0.0 = false +0.0 < 10.0 = true +0.0 < 3.14 = true +0.0 < '0' = false +0.0 < '10' = true +0.0 < '010' = true +0.0 < '10 elephants' = true +0.0 < 'foo' = false +0.0 < array ( ) = true +0.0 < array ( 0 => 1 ) = true +0.0 < array ( 0 => 1, 1 => 100 ) = true +0.0 < array ( 'foo' => 1, 'bar' => 2 ) = true +0.0 < array ( 'bar' => 1, 'foo' => 2 ) = true +0.0 < (object) array ( ) = true - Notice Object of class stdClass could not be converted to float +0.0 < (object) array ( 'foo' => 1, 'bar' => 2 ) = true - Notice Object of class stdClass could not be converted to float +0.0 < (object) array ( 'bar' => 1, 'foo' => 2 ) = true - Notice Object of class stdClass could not be converted to float +0.0 < DateTime = true - Notice Object of class DateTime could not be converted to float +0.0 < resource = true +0.0 < NULL = false +10.0 < false = false +10.0 < true = false +10.0 < 0 = false +10.0 < 10 = false +10.0 < 0.0 = false +10.0 < 10.0 = false +10.0 < 3.14 = false +10.0 < '0' = false +10.0 < '10' = false +10.0 < '010' = false +10.0 < '10 elephants' = false +10.0 < 'foo' = false +10.0 < array ( ) = true +10.0 < array ( 0 => 1 ) = true +10.0 < array ( 0 => 1, 1 => 100 ) = true +10.0 < array ( 'foo' => 1, 'bar' => 2 ) = true +10.0 < array ( 'bar' => 1, 'foo' => 2 ) = true +10.0 < (object) array ( ) = false - Notice Object of class stdClass could not be converted to float +10.0 < (object) array ( 'foo' => 1, 'bar' => 2 ) = false - Notice Object of class stdClass could not be converted to float +10.0 < (object) array ( 'bar' => 1, 'foo' => 2 ) = false - Notice Object of class stdClass could not be converted to float +10.0 < DateTime = false - Notice Object of class DateTime could not be converted to float +10.0 < resource = false +10.0 < NULL = false +3.14 < false = false +3.14 < true = false +3.14 < 0 = false +3.14 < 10 = true +3.14 < 0.0 = false +3.14 < 10.0 = true +3.14 < 3.14 = false +3.14 < '0' = false +3.14 < '10' = true +3.14 < '010' = true +3.14 < '10 elephants' = true +3.14 < 'foo' = false +3.14 < array ( ) = true +3.14 < array ( 0 => 1 ) = true +3.14 < array ( 0 => 1, 1 => 100 ) = true +3.14 < array ( 'foo' => 1, 'bar' => 2 ) = true +3.14 < array ( 'bar' => 1, 'foo' => 2 ) = true +3.14 < (object) array ( ) = false - Notice Object of class stdClass could not be converted to float +3.14 < (object) array ( 'foo' => 1, 'bar' => 2 ) = false - Notice Object of class stdClass could not be converted to float +3.14 < (object) array ( 'bar' => 1, 'foo' => 2 ) = false - Notice Object of class stdClass could not be converted to float +3.14 < DateTime = false - Notice Object of class DateTime could not be converted to float +3.14 < resource = true +3.14 < NULL = false +'0' < false = false +'0' < true = true +'0' < 0 = false +'0' < 10 = true +'0' < 0.0 = false +'0' < 10.0 = true +'0' < 3.14 = true +'0' < '0' = false +'0' < '10' = true +'0' < '010' = true +'0' < '10 elephants' = true +'0' < 'foo' = true +'0' < array ( ) = true +'0' < array ( 0 => 1 ) = true +'0' < array ( 0 => 1, 1 => 100 ) = true +'0' < array ( 'foo' => 1, 'bar' => 2 ) = true +'0' < array ( 'bar' => 1, 'foo' => 2 ) = true +'0' < (object) array ( ) = true +'0' < (object) array ( 'foo' => 1, 'bar' => 2 ) = true +'0' < (object) array ( 'bar' => 1, 'foo' => 2 ) = true +'0' < DateTime = true +'0' < resource = true +'0' < NULL = false +'10' < false = false +'10' < true = false +'10' < 0 = false +'10' < 10 = false +'10' < 0.0 = false +'10' < 10.0 = false +'10' < 3.14 = false +'10' < '0' = false +'10' < '10' = false +'10' < '010' = false +'10' < '10 elephants' = true +'10' < 'foo' = true +'10' < array ( ) = true +'10' < array ( 0 => 1 ) = true +'10' < array ( 0 => 1, 1 => 100 ) = true +'10' < array ( 'foo' => 1, 'bar' => 2 ) = true +'10' < array ( 'bar' => 1, 'foo' => 2 ) = true +'10' < (object) array ( ) = true +'10' < (object) array ( 'foo' => 1, 'bar' => 2 ) = true +'10' < (object) array ( 'bar' => 1, 'foo' => 2 ) = true +'10' < DateTime = true +'10' < resource = false +'10' < NULL = false +'010' < false = false +'010' < true = false +'010' < 0 = false +'010' < 10 = false +'010' < 0.0 = false +'010' < 10.0 = false +'010' < 3.14 = false +'010' < '0' = false +'010' < '10' = false +'010' < '010' = false +'010' < '10 elephants' = true +'010' < 'foo' = true +'010' < array ( ) = true +'010' < array ( 0 => 1 ) = true +'010' < array ( 0 => 1, 1 => 100 ) = true +'010' < array ( 'foo' => 1, 'bar' => 2 ) = true +'010' < array ( 'bar' => 1, 'foo' => 2 ) = true +'010' < (object) array ( ) = true +'010' < (object) array ( 'foo' => 1, 'bar' => 2 ) = true +'010' < (object) array ( 'bar' => 1, 'foo' => 2 ) = true +'010' < DateTime = true +'010' < resource = false +'010' < NULL = false +'10 elephants' < false = false +'10 elephants' < true = false +'10 elephants' < 0 = false +'10 elephants' < 10 = false +'10 elephants' < 0.0 = false +'10 elephants' < 10.0 = false +'10 elephants' < 3.14 = false +'10 elephants' < '0' = false +'10 elephants' < '10' = false +'10 elephants' < '010' = false +'10 elephants' < '10 elephants' = false +'10 elephants' < 'foo' = true +'10 elephants' < array ( ) = true +'10 elephants' < array ( 0 => 1 ) = true +'10 elephants' < array ( 0 => 1, 1 => 100 ) = true +'10 elephants' < array ( 'foo' => 1, 'bar' => 2 ) = true +'10 elephants' < array ( 'bar' => 1, 'foo' => 2 ) = true +'10 elephants' < (object) array ( ) = true +'10 elephants' < (object) array ( 'foo' => 1, 'bar' => 2 ) = true +'10 elephants' < (object) array ( 'bar' => 1, 'foo' => 2 ) = true +'10 elephants' < DateTime = true +'10 elephants' < resource = false +'10 elephants' < NULL = false +'foo' < false = false +'foo' < true = false +'foo' < 0 = false +'foo' < 10 = true +'foo' < 0.0 = false +'foo' < 10.0 = true +'foo' < 3.14 = true +'foo' < '0' = false +'foo' < '10' = false +'foo' < '010' = false +'foo' < '10 elephants' = false +'foo' < 'foo' = false +'foo' < array ( ) = true +'foo' < array ( 0 => 1 ) = true +'foo' < array ( 0 => 1, 1 => 100 ) = true +'foo' < array ( 'foo' => 1, 'bar' => 2 ) = true +'foo' < array ( 'bar' => 1, 'foo' => 2 ) = true +'foo' < (object) array ( ) = true +'foo' < (object) array ( 'foo' => 1, 'bar' => 2 ) = true +'foo' < (object) array ( 'bar' => 1, 'foo' => 2 ) = true +'foo' < DateTime = true +'foo' < resource = true +'foo' < NULL = false +array ( ) < false = false +array ( ) < true = true +array ( ) < 0 = false +array ( ) < 10 = false +array ( ) < 0.0 = false +array ( ) < 10.0 = false +array ( ) < 3.14 = false +array ( ) < '0' = false +array ( ) < '10' = false +array ( ) < '010' = false +array ( ) < '10 elephants' = false +array ( ) < 'foo' = false +array ( ) < array ( ) = false +array ( ) < array ( 0 => 1 ) = true +array ( ) < array ( 0 => 1, 1 => 100 ) = true +array ( ) < array ( 'foo' => 1, 'bar' => 2 ) = true +array ( ) < array ( 'bar' => 1, 'foo' => 2 ) = true +array ( ) < (object) array ( ) = true +array ( ) < (object) array ( 'foo' => 1, 'bar' => 2 ) = true +array ( ) < (object) array ( 'bar' => 1, 'foo' => 2 ) = true +array ( ) < DateTime = true +array ( ) < resource = false +array ( ) < NULL = false +array ( 0 => 1 ) < false = false +array ( 0 => 1 ) < true = false +array ( 0 => 1 ) < 0 = false +array ( 0 => 1 ) < 10 = false +array ( 0 => 1 ) < 0.0 = false +array ( 0 => 1 ) < 10.0 = false +array ( 0 => 1 ) < 3.14 = false +array ( 0 => 1 ) < '0' = false +array ( 0 => 1 ) < '10' = false +array ( 0 => 1 ) < '010' = false +array ( 0 => 1 ) < '10 elephants' = false +array ( 0 => 1 ) < 'foo' = false +array ( 0 => 1 ) < array ( ) = false +array ( 0 => 1 ) < array ( 0 => 1 ) = false +array ( 0 => 1 ) < array ( 0 => 1, 1 => 100 ) = true +array ( 0 => 1 ) < array ( 'foo' => 1, 'bar' => 2 ) = true +array ( 0 => 1 ) < array ( 'bar' => 1, 'foo' => 2 ) = true +array ( 0 => 1 ) < (object) array ( ) = true +array ( 0 => 1 ) < (object) array ( 'foo' => 1, 'bar' => 2 ) = true +array ( 0 => 1 ) < (object) array ( 'bar' => 1, 'foo' => 2 ) = true +array ( 0 => 1 ) < DateTime = true +array ( 0 => 1 ) < resource = false +array ( 0 => 1 ) < NULL = false +array ( 0 => 1, 1 => 100 ) < false = false +array ( 0 => 1, 1 => 100 ) < true = false +array ( 0 => 1, 1 => 100 ) < 0 = false +array ( 0 => 1, 1 => 100 ) < 10 = false +array ( 0 => 1, 1 => 100 ) < 0.0 = false +array ( 0 => 1, 1 => 100 ) < 10.0 = false +array ( 0 => 1, 1 => 100 ) < 3.14 = false +array ( 0 => 1, 1 => 100 ) < '0' = false +array ( 0 => 1, 1 => 100 ) < '10' = false +array ( 0 => 1, 1 => 100 ) < '010' = false +array ( 0 => 1, 1 => 100 ) < '10 elephants' = false +array ( 0 => 1, 1 => 100 ) < 'foo' = false +array ( 0 => 1, 1 => 100 ) < array ( ) = false +array ( 0 => 1, 1 => 100 ) < array ( 0 => 1 ) = false +array ( 0 => 1, 1 => 100 ) < array ( 0 => 1, 1 => 100 ) = false +array ( 0 => 1, 1 => 100 ) < array ( 'foo' => 1, 'bar' => 2 ) = false +array ( 0 => 1, 1 => 100 ) < array ( 'bar' => 1, 'foo' => 2 ) = false +array ( 0 => 1, 1 => 100 ) < (object) array ( ) = true +array ( 0 => 1, 1 => 100 ) < (object) array ( 'foo' => 1, 'bar' => 2 ) = true +array ( 0 => 1, 1 => 100 ) < (object) array ( 'bar' => 1, 'foo' => 2 ) = true +array ( 0 => 1, 1 => 100 ) < DateTime = true +array ( 0 => 1, 1 => 100 ) < resource = false +array ( 0 => 1, 1 => 100 ) < NULL = false +array ( 'foo' => 1, 'bar' => 2 ) < false = false +array ( 'foo' => 1, 'bar' => 2 ) < true = false +array ( 'foo' => 1, 'bar' => 2 ) < 0 = false +array ( 'foo' => 1, 'bar' => 2 ) < 10 = false +array ( 'foo' => 1, 'bar' => 2 ) < 0.0 = false +array ( 'foo' => 1, 'bar' => 2 ) < 10.0 = false +array ( 'foo' => 1, 'bar' => 2 ) < 3.14 = false +array ( 'foo' => 1, 'bar' => 2 ) < '0' = false +array ( 'foo' => 1, 'bar' => 2 ) < '10' = false +array ( 'foo' => 1, 'bar' => 2 ) < '010' = false +array ( 'foo' => 1, 'bar' => 2 ) < '10 elephants' = false +array ( 'foo' => 1, 'bar' => 2 ) < 'foo' = false +array ( 'foo' => 1, 'bar' => 2 ) < array ( ) = false +array ( 'foo' => 1, 'bar' => 2 ) < array ( 0 => 1 ) = false +array ( 'foo' => 1, 'bar' => 2 ) < array ( 0 => 1, 1 => 100 ) = false +array ( 'foo' => 1, 'bar' => 2 ) < array ( 'foo' => 1, 'bar' => 2 ) = false +array ( 'foo' => 1, 'bar' => 2 ) < array ( 'bar' => 1, 'foo' => 2 ) = true +array ( 'foo' => 1, 'bar' => 2 ) < (object) array ( ) = true +array ( 'foo' => 1, 'bar' => 2 ) < (object) array ( 'foo' => 1, 'bar' => 2 ) = true +array ( 'foo' => 1, 'bar' => 2 ) < (object) array ( 'bar' => 1, 'foo' => 2 ) = true +array ( 'foo' => 1, 'bar' => 2 ) < DateTime = true +array ( 'foo' => 1, 'bar' => 2 ) < resource = false +array ( 'foo' => 1, 'bar' => 2 ) < NULL = false +array ( 'bar' => 1, 'foo' => 2 ) < false = false +array ( 'bar' => 1, 'foo' => 2 ) < true = false +array ( 'bar' => 1, 'foo' => 2 ) < 0 = false +array ( 'bar' => 1, 'foo' => 2 ) < 10 = false +array ( 'bar' => 1, 'foo' => 2 ) < 0.0 = false +array ( 'bar' => 1, 'foo' => 2 ) < 10.0 = false +array ( 'bar' => 1, 'foo' => 2 ) < 3.14 = false +array ( 'bar' => 1, 'foo' => 2 ) < '0' = false +array ( 'bar' => 1, 'foo' => 2 ) < '10' = false +array ( 'bar' => 1, 'foo' => 2 ) < '010' = false +array ( 'bar' => 1, 'foo' => 2 ) < '10 elephants' = false +array ( 'bar' => 1, 'foo' => 2 ) < 'foo' = false +array ( 'bar' => 1, 'foo' => 2 ) < array ( ) = false +array ( 'bar' => 1, 'foo' => 2 ) < array ( 0 => 1 ) = false +array ( 'bar' => 1, 'foo' => 2 ) < array ( 0 => 1, 1 => 100 ) = false +array ( 'bar' => 1, 'foo' => 2 ) < array ( 'foo' => 1, 'bar' => 2 ) = true +array ( 'bar' => 1, 'foo' => 2 ) < array ( 'bar' => 1, 'foo' => 2 ) = false +array ( 'bar' => 1, 'foo' => 2 ) < (object) array ( ) = true +array ( 'bar' => 1, 'foo' => 2 ) < (object) array ( 'foo' => 1, 'bar' => 2 ) = true +array ( 'bar' => 1, 'foo' => 2 ) < (object) array ( 'bar' => 1, 'foo' => 2 ) = true +array ( 'bar' => 1, 'foo' => 2 ) < DateTime = true +array ( 'bar' => 1, 'foo' => 2 ) < resource = false +array ( 'bar' => 1, 'foo' => 2 ) < NULL = false +(object) array ( ) < false = false +(object) array ( ) < true = false +(object) array ( ) < 0 = false - Notice Object of class stdClass could not be converted to int +(object) array ( ) < 10 = true - Notice Object of class stdClass could not be converted to int +(object) array ( ) < 0.0 = false - Notice Object of class stdClass could not be converted to float +(object) array ( ) < 10.0 = true - Notice Object of class stdClass could not be converted to float +(object) array ( ) < 3.14 = true - Notice Object of class stdClass could not be converted to float +(object) array ( ) < '0' = false +(object) array ( ) < '10' = false +(object) array ( ) < '010' = false +(object) array ( ) < '10 elephants' = false +(object) array ( ) < 'foo' = false +(object) array ( ) < array ( ) = false +(object) array ( ) < array ( 0 => 1 ) = false +(object) array ( ) < array ( 0 => 1, 1 => 100 ) = false +(object) array ( ) < array ( 'foo' => 1, 'bar' => 2 ) = false +(object) array ( ) < array ( 'bar' => 1, 'foo' => 2 ) = false +(object) array ( ) < (object) array ( ) = false +(object) array ( ) < (object) array ( 'foo' => 1, 'bar' => 2 ) = true +(object) array ( ) < (object) array ( 'bar' => 1, 'foo' => 2 ) = true +(object) array ( ) < DateTime = false +(object) array ( ) < resource = false +(object) array ( ) < NULL = false +(object) array ( 'foo' => 1, 'bar' => 2 ) < false = false +(object) array ( 'foo' => 1, 'bar' => 2 ) < true = false +(object) array ( 'foo' => 1, 'bar' => 2 ) < 0 = false - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) < 10 = true - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) < 0.0 = false - Notice Object of class stdClass could not be converted to float +(object) array ( 'foo' => 1, 'bar' => 2 ) < 10.0 = true - Notice Object of class stdClass could not be converted to float +(object) array ( 'foo' => 1, 'bar' => 2 ) < 3.14 = true - Notice Object of class stdClass could not be converted to float +(object) array ( 'foo' => 1, 'bar' => 2 ) < '0' = false +(object) array ( 'foo' => 1, 'bar' => 2 ) < '10' = false +(object) array ( 'foo' => 1, 'bar' => 2 ) < '010' = false +(object) array ( 'foo' => 1, 'bar' => 2 ) < '10 elephants' = false +(object) array ( 'foo' => 1, 'bar' => 2 ) < 'foo' = false +(object) array ( 'foo' => 1, 'bar' => 2 ) < array ( ) = false +(object) array ( 'foo' => 1, 'bar' => 2 ) < array ( 0 => 1 ) = false +(object) array ( 'foo' => 1, 'bar' => 2 ) < array ( 0 => 1, 1 => 100 ) = false +(object) array ( 'foo' => 1, 'bar' => 2 ) < array ( 'foo' => 1, 'bar' => 2 ) = false +(object) array ( 'foo' => 1, 'bar' => 2 ) < array ( 'bar' => 1, 'foo' => 2 ) = false +(object) array ( 'foo' => 1, 'bar' => 2 ) < (object) array ( ) = false +(object) array ( 'foo' => 1, 'bar' => 2 ) < (object) array ( 'foo' => 1, 'bar' => 2 ) = false +(object) array ( 'foo' => 1, 'bar' => 2 ) < (object) array ( 'bar' => 1, 'foo' => 2 ) = true +(object) array ( 'foo' => 1, 'bar' => 2 ) < DateTime = false +(object) array ( 'foo' => 1, 'bar' => 2 ) < resource = false +(object) array ( 'foo' => 1, 'bar' => 2 ) < NULL = false +(object) array ( 'bar' => 1, 'foo' => 2 ) < false = false +(object) array ( 'bar' => 1, 'foo' => 2 ) < true = false +(object) array ( 'bar' => 1, 'foo' => 2 ) < 0 = false - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) < 10 = true - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) < 0.0 = false - Notice Object of class stdClass could not be converted to float +(object) array ( 'bar' => 1, 'foo' => 2 ) < 10.0 = true - Notice Object of class stdClass could not be converted to float +(object) array ( 'bar' => 1, 'foo' => 2 ) < 3.14 = true - Notice Object of class stdClass could not be converted to float +(object) array ( 'bar' => 1, 'foo' => 2 ) < '0' = false +(object) array ( 'bar' => 1, 'foo' => 2 ) < '10' = false +(object) array ( 'bar' => 1, 'foo' => 2 ) < '010' = false +(object) array ( 'bar' => 1, 'foo' => 2 ) < '10 elephants' = false +(object) array ( 'bar' => 1, 'foo' => 2 ) < 'foo' = false +(object) array ( 'bar' => 1, 'foo' => 2 ) < array ( ) = false +(object) array ( 'bar' => 1, 'foo' => 2 ) < array ( 0 => 1 ) = false +(object) array ( 'bar' => 1, 'foo' => 2 ) < array ( 0 => 1, 1 => 100 ) = false +(object) array ( 'bar' => 1, 'foo' => 2 ) < array ( 'foo' => 1, 'bar' => 2 ) = false +(object) array ( 'bar' => 1, 'foo' => 2 ) < array ( 'bar' => 1, 'foo' => 2 ) = false +(object) array ( 'bar' => 1, 'foo' => 2 ) < (object) array ( ) = false +(object) array ( 'bar' => 1, 'foo' => 2 ) < (object) array ( 'foo' => 1, 'bar' => 2 ) = true +(object) array ( 'bar' => 1, 'foo' => 2 ) < (object) array ( 'bar' => 1, 'foo' => 2 ) = false +(object) array ( 'bar' => 1, 'foo' => 2 ) < DateTime = false +(object) array ( 'bar' => 1, 'foo' => 2 ) < resource = false +(object) array ( 'bar' => 1, 'foo' => 2 ) < NULL = false +DateTime < false = false +DateTime < true = false +DateTime < 0 = false - Notice Object of class DateTime could not be converted to int +DateTime < 10 = true - Notice Object of class DateTime could not be converted to int +DateTime < 0.0 = false - Notice Object of class DateTime could not be converted to float +DateTime < 10.0 = true - Notice Object of class DateTime could not be converted to float +DateTime < 3.14 = true - Notice Object of class DateTime could not be converted to float +DateTime < '0' = false +DateTime < '10' = false +DateTime < '010' = false +DateTime < '10 elephants' = false +DateTime < 'foo' = false +DateTime < array ( ) = false +DateTime < array ( 0 => 1 ) = false +DateTime < array ( 0 => 1, 1 => 100 ) = false +DateTime < array ( 'foo' => 1, 'bar' => 2 ) = false +DateTime < array ( 'bar' => 1, 'foo' => 2 ) = false +DateTime < (object) array ( ) = false +DateTime < (object) array ( 'foo' => 1, 'bar' => 2 ) = false +DateTime < (object) array ( 'bar' => 1, 'foo' => 2 ) = false +DateTime < DateTime = false +DateTime < resource = false +DateTime < NULL = false +resource < false = false +resource < true = false +resource < 0 = false +resource < 10 = true +resource < 0.0 = false +resource < 10.0 = true +resource < 3.14 = false +resource < '0' = false +resource < '10' = true +resource < '010' = true +resource < '10 elephants' = true +resource < 'foo' = false +resource < array ( ) = true +resource < array ( 0 => 1 ) = true +resource < array ( 0 => 1, 1 => 100 ) = true +resource < array ( 'foo' => 1, 'bar' => 2 ) = true +resource < array ( 'bar' => 1, 'foo' => 2 ) = true +resource < (object) array ( ) = true +resource < (object) array ( 'foo' => 1, 'bar' => 2 ) = true +resource < (object) array ( 'bar' => 1, 'foo' => 2 ) = true +resource < DateTime = true +resource < resource = false +resource < NULL = false +NULL < false = false +NULL < true = true +NULL < 0 = false +NULL < 10 = true +NULL < 0.0 = false +NULL < 10.0 = true +NULL < 3.14 = true +NULL < '0' = true +NULL < '10' = true +NULL < '010' = true +NULL < '10 elephants' = true +NULL < 'foo' = true +NULL < array ( ) = false +NULL < array ( 0 => 1 ) = true +NULL < array ( 0 => 1, 1 => 100 ) = true +NULL < array ( 'foo' => 1, 'bar' => 2 ) = true +NULL < array ( 'bar' => 1, 'foo' => 2 ) = true +NULL < (object) array ( ) = true +NULL < (object) array ( 'foo' => 1, 'bar' => 2 ) = true +NULL < (object) array ( 'bar' => 1, 'foo' => 2 ) = true +NULL < DateTime = true +NULL < resource = true +NULL < NULL = false \ No newline at end of file diff --git a/Zend/tests/operators/comparison/less_than_strict.phpt b/Zend/tests/operators/comparison/less_than_strict.phpt new file mode 100644 index 000000000000..8435f4058f70 --- /dev/null +++ b/Zend/tests/operators/comparison/less_than_strict.phpt @@ -0,0 +1,542 @@ +--TEST-- +less than '<' operator with strict_operators +--FILE-- + 1 ) - TypeError Unsupported operand type array for comparison +false < array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for comparison +false < array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for comparison +false < array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for comparison +false < (object) array ( ) - TypeError Unsupported operand type object for comparison +false < (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for comparison +false < (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for comparison +false < DateTime - TypeError Unsupported operand type object for comparison +false < resource - TypeError Unsupported operand type resource for comparison +false < NULL - TypeError Unsupported operand type null for comparison +true < false = false +true < true = false +true < 0 - TypeError Operand type mismatch bool and int for comparison +true < 10 - TypeError Operand type mismatch bool and int for comparison +true < 0.0 - TypeError Operand type mismatch bool and float for comparison +true < 10.0 - TypeError Operand type mismatch bool and float for comparison +true < 3.14 - TypeError Operand type mismatch bool and float for comparison +true < '0' - TypeError Operand type mismatch bool and string for comparison +true < '10' - TypeError Operand type mismatch bool and string for comparison +true < '010' - TypeError Operand type mismatch bool and string for comparison +true < '10 elephants' - TypeError Operand type mismatch bool and string for comparison +true < 'foo' - TypeError Operand type mismatch bool and string for comparison +true < array ( ) - TypeError Unsupported operand type array for comparison +true < array ( 0 => 1 ) - TypeError Unsupported operand type array for comparison +true < array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for comparison +true < array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for comparison +true < array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for comparison +true < (object) array ( ) - TypeError Unsupported operand type object for comparison +true < (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for comparison +true < (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for comparison +true < DateTime - TypeError Unsupported operand type object for comparison +true < resource - TypeError Unsupported operand type resource for comparison +true < NULL - TypeError Unsupported operand type null for comparison +0 < false - TypeError Operand type mismatch int and bool for comparison +0 < true - TypeError Operand type mismatch int and bool for comparison +0 < 0 = false +0 < 10 = true +0 < 0.0 = false +0 < 10.0 = true +0 < 3.14 = true +0 < '0' - TypeError Operand type mismatch int and string for comparison +0 < '10' - TypeError Operand type mismatch int and string for comparison +0 < '010' - TypeError Operand type mismatch int and string for comparison +0 < '10 elephants' - TypeError Operand type mismatch int and string for comparison +0 < 'foo' - TypeError Operand type mismatch int and string for comparison +0 < array ( ) - TypeError Unsupported operand type array for comparison +0 < array ( 0 => 1 ) - TypeError Unsupported operand type array for comparison +0 < array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for comparison +0 < array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for comparison +0 < array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for comparison +0 < (object) array ( ) - TypeError Unsupported operand type object for comparison +0 < (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for comparison +0 < (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for comparison +0 < DateTime - TypeError Unsupported operand type object for comparison +0 < resource - TypeError Unsupported operand type resource for comparison +0 < NULL - TypeError Unsupported operand type null for comparison +10 < false - TypeError Operand type mismatch int and bool for comparison +10 < true - TypeError Operand type mismatch int and bool for comparison +10 < 0 = false +10 < 10 = false +10 < 0.0 = false +10 < 10.0 = false +10 < 3.14 = false +10 < '0' - TypeError Operand type mismatch int and string for comparison +10 < '10' - TypeError Operand type mismatch int and string for comparison +10 < '010' - TypeError Operand type mismatch int and string for comparison +10 < '10 elephants' - TypeError Operand type mismatch int and string for comparison +10 < 'foo' - TypeError Operand type mismatch int and string for comparison +10 < array ( ) - TypeError Unsupported operand type array for comparison +10 < array ( 0 => 1 ) - TypeError Unsupported operand type array for comparison +10 < array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for comparison +10 < array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for comparison +10 < array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for comparison +10 < (object) array ( ) - TypeError Unsupported operand type object for comparison +10 < (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for comparison +10 < (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for comparison +10 < DateTime - TypeError Unsupported operand type object for comparison +10 < resource - TypeError Unsupported operand type resource for comparison +10 < NULL - TypeError Unsupported operand type null for comparison +0.0 < false - TypeError Operand type mismatch float and bool for comparison +0.0 < true - TypeError Operand type mismatch float and bool for comparison +0.0 < 0 = false +0.0 < 10 = true +0.0 < 0.0 = false +0.0 < 10.0 = true +0.0 < 3.14 = true +0.0 < '0' - TypeError Operand type mismatch float and string for comparison +0.0 < '10' - TypeError Operand type mismatch float and string for comparison +0.0 < '010' - TypeError Operand type mismatch float and string for comparison +0.0 < '10 elephants' - TypeError Operand type mismatch float and string for comparison +0.0 < 'foo' - TypeError Operand type mismatch float and string for comparison +0.0 < array ( ) - TypeError Unsupported operand type array for comparison +0.0 < array ( 0 => 1 ) - TypeError Unsupported operand type array for comparison +0.0 < array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for comparison +0.0 < array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for comparison +0.0 < array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for comparison +0.0 < (object) array ( ) - TypeError Unsupported operand type object for comparison +0.0 < (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for comparison +0.0 < (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for comparison +0.0 < DateTime - TypeError Unsupported operand type object for comparison +0.0 < resource - TypeError Unsupported operand type resource for comparison +0.0 < NULL - TypeError Unsupported operand type null for comparison +10.0 < false - TypeError Operand type mismatch float and bool for comparison +10.0 < true - TypeError Operand type mismatch float and bool for comparison +10.0 < 0 = false +10.0 < 10 = false +10.0 < 0.0 = false +10.0 < 10.0 = false +10.0 < 3.14 = false +10.0 < '0' - TypeError Operand type mismatch float and string for comparison +10.0 < '10' - TypeError Operand type mismatch float and string for comparison +10.0 < '010' - TypeError Operand type mismatch float and string for comparison +10.0 < '10 elephants' - TypeError Operand type mismatch float and string for comparison +10.0 < 'foo' - TypeError Operand type mismatch float and string for comparison +10.0 < array ( ) - TypeError Unsupported operand type array for comparison +10.0 < array ( 0 => 1 ) - TypeError Unsupported operand type array for comparison +10.0 < array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for comparison +10.0 < array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for comparison +10.0 < array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for comparison +10.0 < (object) array ( ) - TypeError Unsupported operand type object for comparison +10.0 < (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for comparison +10.0 < (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for comparison +10.0 < DateTime - TypeError Unsupported operand type object for comparison +10.0 < resource - TypeError Unsupported operand type resource for comparison +10.0 < NULL - TypeError Unsupported operand type null for comparison +3.14 < false - TypeError Operand type mismatch float and bool for comparison +3.14 < true - TypeError Operand type mismatch float and bool for comparison +3.14 < 0 = false +3.14 < 10 = true +3.14 < 0.0 = false +3.14 < 10.0 = true +3.14 < 3.14 = false +3.14 < '0' - TypeError Operand type mismatch float and string for comparison +3.14 < '10' - TypeError Operand type mismatch float and string for comparison +3.14 < '010' - TypeError Operand type mismatch float and string for comparison +3.14 < '10 elephants' - TypeError Operand type mismatch float and string for comparison +3.14 < 'foo' - TypeError Operand type mismatch float and string for comparison +3.14 < array ( ) - TypeError Unsupported operand type array for comparison +3.14 < array ( 0 => 1 ) - TypeError Unsupported operand type array for comparison +3.14 < array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for comparison +3.14 < array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for comparison +3.14 < array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for comparison +3.14 < (object) array ( ) - TypeError Unsupported operand type object for comparison +3.14 < (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for comparison +3.14 < (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for comparison +3.14 < DateTime - TypeError Unsupported operand type object for comparison +3.14 < resource - TypeError Unsupported operand type resource for comparison +3.14 < NULL - TypeError Unsupported operand type null for comparison +'0' < false - TypeError Operand type mismatch string and bool for comparison +'0' < true - TypeError Operand type mismatch string and bool for comparison +'0' < 0 - TypeError Operand type mismatch string and int for comparison +'0' < 10 - TypeError Operand type mismatch string and int for comparison +'0' < 0.0 - TypeError Operand type mismatch string and float for comparison +'0' < 10.0 - TypeError Operand type mismatch string and float for comparison +'0' < 3.14 - TypeError Operand type mismatch string and float for comparison +'0' < '0' = false +'0' < '10' = true +'0' < '010' = true +'0' < '10 elephants' = true +'0' < 'foo' = true +'0' < array ( ) - TypeError Unsupported operand type array for comparison +'0' < array ( 0 => 1 ) - TypeError Unsupported operand type array for comparison +'0' < array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for comparison +'0' < array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for comparison +'0' < array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for comparison +'0' < (object) array ( ) - TypeError Unsupported operand type object for comparison +'0' < (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for comparison +'0' < (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for comparison +'0' < DateTime - TypeError Unsupported operand type object for comparison +'0' < resource - TypeError Unsupported operand type resource for comparison +'0' < NULL - TypeError Unsupported operand type null for comparison +'10' < false - TypeError Operand type mismatch string and bool for comparison +'10' < true - TypeError Operand type mismatch string and bool for comparison +'10' < 0 - TypeError Operand type mismatch string and int for comparison +'10' < 10 - TypeError Operand type mismatch string and int for comparison +'10' < 0.0 - TypeError Operand type mismatch string and float for comparison +'10' < 10.0 - TypeError Operand type mismatch string and float for comparison +'10' < 3.14 - TypeError Operand type mismatch string and float for comparison +'10' < '0' = false +'10' < '10' = false +'10' < '010' = false +'10' < '10 elephants' = true +'10' < 'foo' = true +'10' < array ( ) - TypeError Unsupported operand type array for comparison +'10' < array ( 0 => 1 ) - TypeError Unsupported operand type array for comparison +'10' < array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for comparison +'10' < array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for comparison +'10' < array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for comparison +'10' < (object) array ( ) - TypeError Unsupported operand type object for comparison +'10' < (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for comparison +'10' < (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for comparison +'10' < DateTime - TypeError Unsupported operand type object for comparison +'10' < resource - TypeError Unsupported operand type resource for comparison +'10' < NULL - TypeError Unsupported operand type null for comparison +'010' < false - TypeError Operand type mismatch string and bool for comparison +'010' < true - TypeError Operand type mismatch string and bool for comparison +'010' < 0 - TypeError Operand type mismatch string and int for comparison +'010' < 10 - TypeError Operand type mismatch string and int for comparison +'010' < 0.0 - TypeError Operand type mismatch string and float for comparison +'010' < 10.0 - TypeError Operand type mismatch string and float for comparison +'010' < 3.14 - TypeError Operand type mismatch string and float for comparison +'010' < '0' = false +'010' < '10' = true +'010' < '010' = false +'010' < '10 elephants' = true +'010' < 'foo' = true +'010' < array ( ) - TypeError Unsupported operand type array for comparison +'010' < array ( 0 => 1 ) - TypeError Unsupported operand type array for comparison +'010' < array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for comparison +'010' < array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for comparison +'010' < array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for comparison +'010' < (object) array ( ) - TypeError Unsupported operand type object for comparison +'010' < (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for comparison +'010' < (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for comparison +'010' < DateTime - TypeError Unsupported operand type object for comparison +'010' < resource - TypeError Unsupported operand type resource for comparison +'010' < NULL - TypeError Unsupported operand type null for comparison +'10 elephants' < false - TypeError Operand type mismatch string and bool for comparison +'10 elephants' < true - TypeError Operand type mismatch string and bool for comparison +'10 elephants' < 0 - TypeError Operand type mismatch string and int for comparison +'10 elephants' < 10 - TypeError Operand type mismatch string and int for comparison +'10 elephants' < 0.0 - TypeError Operand type mismatch string and float for comparison +'10 elephants' < 10.0 - TypeError Operand type mismatch string and float for comparison +'10 elephants' < 3.14 - TypeError Operand type mismatch string and float for comparison +'10 elephants' < '0' = false +'10 elephants' < '10' = false +'10 elephants' < '010' = false +'10 elephants' < '10 elephants' = false +'10 elephants' < 'foo' = true +'10 elephants' < array ( ) - TypeError Unsupported operand type array for comparison +'10 elephants' < array ( 0 => 1 ) - TypeError Unsupported operand type array for comparison +'10 elephants' < array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for comparison +'10 elephants' < array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for comparison +'10 elephants' < array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for comparison +'10 elephants' < (object) array ( ) - TypeError Unsupported operand type object for comparison +'10 elephants' < (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for comparison +'10 elephants' < (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for comparison +'10 elephants' < DateTime - TypeError Unsupported operand type object for comparison +'10 elephants' < resource - TypeError Unsupported operand type resource for comparison +'10 elephants' < NULL - TypeError Unsupported operand type null for comparison +'foo' < false - TypeError Operand type mismatch string and bool for comparison +'foo' < true - TypeError Operand type mismatch string and bool for comparison +'foo' < 0 - TypeError Operand type mismatch string and int for comparison +'foo' < 10 - TypeError Operand type mismatch string and int for comparison +'foo' < 0.0 - TypeError Operand type mismatch string and float for comparison +'foo' < 10.0 - TypeError Operand type mismatch string and float for comparison +'foo' < 3.14 - TypeError Operand type mismatch string and float for comparison +'foo' < '0' = false +'foo' < '10' = false +'foo' < '010' = false +'foo' < '10 elephants' = false +'foo' < 'foo' = false +'foo' < array ( ) - TypeError Unsupported operand type array for comparison +'foo' < array ( 0 => 1 ) - TypeError Unsupported operand type array for comparison +'foo' < array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for comparison +'foo' < array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for comparison +'foo' < array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for comparison +'foo' < (object) array ( ) - TypeError Unsupported operand type object for comparison +'foo' < (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for comparison +'foo' < (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for comparison +'foo' < DateTime - TypeError Unsupported operand type object for comparison +'foo' < resource - TypeError Unsupported operand type resource for comparison +'foo' < NULL - TypeError Unsupported operand type null for comparison +array ( ) < false - TypeError Unsupported operand type array for comparison +array ( ) < true - TypeError Unsupported operand type array for comparison +array ( ) < 0 - TypeError Unsupported operand type array for comparison +array ( ) < 10 - TypeError Unsupported operand type array for comparison +array ( ) < 0.0 - TypeError Unsupported operand type array for comparison +array ( ) < 10.0 - TypeError Unsupported operand type array for comparison +array ( ) < 3.14 - TypeError Unsupported operand type array for comparison +array ( ) < '0' - TypeError Unsupported operand type array for comparison +array ( ) < '10' - TypeError Unsupported operand type array for comparison +array ( ) < '010' - TypeError Unsupported operand type array for comparison +array ( ) < '10 elephants' - TypeError Unsupported operand type array for comparison +array ( ) < 'foo' - TypeError Unsupported operand type array for comparison +array ( ) < array ( ) - TypeError Unsupported operand type array for comparison +array ( ) < array ( 0 => 1 ) - TypeError Unsupported operand type array for comparison +array ( ) < array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for comparison +array ( ) < array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for comparison +array ( ) < array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for comparison +array ( ) < (object) array ( ) - TypeError Unsupported operand type array for comparison +array ( ) < (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for comparison +array ( ) < (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for comparison +array ( ) < DateTime - TypeError Unsupported operand type array for comparison +array ( ) < resource - TypeError Unsupported operand type array for comparison +array ( ) < NULL - TypeError Unsupported operand type array for comparison +array ( 0 => 1 ) < false - TypeError Unsupported operand type array for comparison +array ( 0 => 1 ) < true - TypeError Unsupported operand type array for comparison +array ( 0 => 1 ) < 0 - TypeError Unsupported operand type array for comparison +array ( 0 => 1 ) < 10 - TypeError Unsupported operand type array for comparison +array ( 0 => 1 ) < 0.0 - TypeError Unsupported operand type array for comparison +array ( 0 => 1 ) < 10.0 - TypeError Unsupported operand type array for comparison +array ( 0 => 1 ) < 3.14 - TypeError Unsupported operand type array for comparison +array ( 0 => 1 ) < '0' - TypeError Unsupported operand type array for comparison +array ( 0 => 1 ) < '10' - TypeError Unsupported operand type array for comparison +array ( 0 => 1 ) < '010' - TypeError Unsupported operand type array for comparison +array ( 0 => 1 ) < '10 elephants' - TypeError Unsupported operand type array for comparison +array ( 0 => 1 ) < 'foo' - TypeError Unsupported operand type array for comparison +array ( 0 => 1 ) < array ( ) - TypeError Unsupported operand type array for comparison +array ( 0 => 1 ) < array ( 0 => 1 ) - TypeError Unsupported operand type array for comparison +array ( 0 => 1 ) < array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for comparison +array ( 0 => 1 ) < array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for comparison +array ( 0 => 1 ) < array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for comparison +array ( 0 => 1 ) < (object) array ( ) - TypeError Unsupported operand type array for comparison +array ( 0 => 1 ) < (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for comparison +array ( 0 => 1 ) < (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for comparison +array ( 0 => 1 ) < DateTime - TypeError Unsupported operand type array for comparison +array ( 0 => 1 ) < resource - TypeError Unsupported operand type array for comparison +array ( 0 => 1 ) < NULL - TypeError Unsupported operand type array for comparison +array ( 0 => 1, 1 => 100 ) < false - TypeError Unsupported operand type array for comparison +array ( 0 => 1, 1 => 100 ) < true - TypeError Unsupported operand type array for comparison +array ( 0 => 1, 1 => 100 ) < 0 - TypeError Unsupported operand type array for comparison +array ( 0 => 1, 1 => 100 ) < 10 - TypeError Unsupported operand type array for comparison +array ( 0 => 1, 1 => 100 ) < 0.0 - TypeError Unsupported operand type array for comparison +array ( 0 => 1, 1 => 100 ) < 10.0 - TypeError Unsupported operand type array for comparison +array ( 0 => 1, 1 => 100 ) < 3.14 - TypeError Unsupported operand type array for comparison +array ( 0 => 1, 1 => 100 ) < '0' - TypeError Unsupported operand type array for comparison +array ( 0 => 1, 1 => 100 ) < '10' - TypeError Unsupported operand type array for comparison +array ( 0 => 1, 1 => 100 ) < '010' - TypeError Unsupported operand type array for comparison +array ( 0 => 1, 1 => 100 ) < '10 elephants' - TypeError Unsupported operand type array for comparison +array ( 0 => 1, 1 => 100 ) < 'foo' - TypeError Unsupported operand type array for comparison +array ( 0 => 1, 1 => 100 ) < array ( ) - TypeError Unsupported operand type array for comparison +array ( 0 => 1, 1 => 100 ) < array ( 0 => 1 ) - TypeError Unsupported operand type array for comparison +array ( 0 => 1, 1 => 100 ) < array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for comparison +array ( 0 => 1, 1 => 100 ) < array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for comparison +array ( 0 => 1, 1 => 100 ) < array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for comparison +array ( 0 => 1, 1 => 100 ) < (object) array ( ) - TypeError Unsupported operand type array for comparison +array ( 0 => 1, 1 => 100 ) < (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for comparison +array ( 0 => 1, 1 => 100 ) < (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for comparison +array ( 0 => 1, 1 => 100 ) < DateTime - TypeError Unsupported operand type array for comparison +array ( 0 => 1, 1 => 100 ) < resource - TypeError Unsupported operand type array for comparison +array ( 0 => 1, 1 => 100 ) < NULL - TypeError Unsupported operand type array for comparison +array ( 'foo' => 1, 'bar' => 2 ) < false - TypeError Unsupported operand type array for comparison +array ( 'foo' => 1, 'bar' => 2 ) < true - TypeError Unsupported operand type array for comparison +array ( 'foo' => 1, 'bar' => 2 ) < 0 - TypeError Unsupported operand type array for comparison +array ( 'foo' => 1, 'bar' => 2 ) < 10 - TypeError Unsupported operand type array for comparison +array ( 'foo' => 1, 'bar' => 2 ) < 0.0 - TypeError Unsupported operand type array for comparison +array ( 'foo' => 1, 'bar' => 2 ) < 10.0 - TypeError Unsupported operand type array for comparison +array ( 'foo' => 1, 'bar' => 2 ) < 3.14 - TypeError Unsupported operand type array for comparison +array ( 'foo' => 1, 'bar' => 2 ) < '0' - TypeError Unsupported operand type array for comparison +array ( 'foo' => 1, 'bar' => 2 ) < '10' - TypeError Unsupported operand type array for comparison +array ( 'foo' => 1, 'bar' => 2 ) < '010' - TypeError Unsupported operand type array for comparison +array ( 'foo' => 1, 'bar' => 2 ) < '10 elephants' - TypeError Unsupported operand type array for comparison +array ( 'foo' => 1, 'bar' => 2 ) < 'foo' - TypeError Unsupported operand type array for comparison +array ( 'foo' => 1, 'bar' => 2 ) < array ( ) - TypeError Unsupported operand type array for comparison +array ( 'foo' => 1, 'bar' => 2 ) < array ( 0 => 1 ) - TypeError Unsupported operand type array for comparison +array ( 'foo' => 1, 'bar' => 2 ) < array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for comparison +array ( 'foo' => 1, 'bar' => 2 ) < array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for comparison +array ( 'foo' => 1, 'bar' => 2 ) < array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for comparison +array ( 'foo' => 1, 'bar' => 2 ) < (object) array ( ) - TypeError Unsupported operand type array for comparison +array ( 'foo' => 1, 'bar' => 2 ) < (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for comparison +array ( 'foo' => 1, 'bar' => 2 ) < (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for comparison +array ( 'foo' => 1, 'bar' => 2 ) < DateTime - TypeError Unsupported operand type array for comparison +array ( 'foo' => 1, 'bar' => 2 ) < resource - TypeError Unsupported operand type array for comparison +array ( 'foo' => 1, 'bar' => 2 ) < NULL - TypeError Unsupported operand type array for comparison +array ( 'bar' => 1, 'foo' => 2 ) < false - TypeError Unsupported operand type array for comparison +array ( 'bar' => 1, 'foo' => 2 ) < true - TypeError Unsupported operand type array for comparison +array ( 'bar' => 1, 'foo' => 2 ) < 0 - TypeError Unsupported operand type array for comparison +array ( 'bar' => 1, 'foo' => 2 ) < 10 - TypeError Unsupported operand type array for comparison +array ( 'bar' => 1, 'foo' => 2 ) < 0.0 - TypeError Unsupported operand type array for comparison +array ( 'bar' => 1, 'foo' => 2 ) < 10.0 - TypeError Unsupported operand type array for comparison +array ( 'bar' => 1, 'foo' => 2 ) < 3.14 - TypeError Unsupported operand type array for comparison +array ( 'bar' => 1, 'foo' => 2 ) < '0' - TypeError Unsupported operand type array for comparison +array ( 'bar' => 1, 'foo' => 2 ) < '10' - TypeError Unsupported operand type array for comparison +array ( 'bar' => 1, 'foo' => 2 ) < '010' - TypeError Unsupported operand type array for comparison +array ( 'bar' => 1, 'foo' => 2 ) < '10 elephants' - TypeError Unsupported operand type array for comparison +array ( 'bar' => 1, 'foo' => 2 ) < 'foo' - TypeError Unsupported operand type array for comparison +array ( 'bar' => 1, 'foo' => 2 ) < array ( ) - TypeError Unsupported operand type array for comparison +array ( 'bar' => 1, 'foo' => 2 ) < array ( 0 => 1 ) - TypeError Unsupported operand type array for comparison +array ( 'bar' => 1, 'foo' => 2 ) < array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for comparison +array ( 'bar' => 1, 'foo' => 2 ) < array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for comparison +array ( 'bar' => 1, 'foo' => 2 ) < array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for comparison +array ( 'bar' => 1, 'foo' => 2 ) < (object) array ( ) - TypeError Unsupported operand type array for comparison +array ( 'bar' => 1, 'foo' => 2 ) < (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for comparison +array ( 'bar' => 1, 'foo' => 2 ) < (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for comparison +array ( 'bar' => 1, 'foo' => 2 ) < DateTime - TypeError Unsupported operand type array for comparison +array ( 'bar' => 1, 'foo' => 2 ) < resource - TypeError Unsupported operand type array for comparison +array ( 'bar' => 1, 'foo' => 2 ) < NULL - TypeError Unsupported operand type array for comparison +(object) array ( ) < false - TypeError Unsupported operand type object for comparison +(object) array ( ) < true - TypeError Unsupported operand type object for comparison +(object) array ( ) < 0 - TypeError Unsupported operand type object for comparison +(object) array ( ) < 10 - TypeError Unsupported operand type object for comparison +(object) array ( ) < 0.0 - TypeError Unsupported operand type object for comparison +(object) array ( ) < 10.0 - TypeError Unsupported operand type object for comparison +(object) array ( ) < 3.14 - TypeError Unsupported operand type object for comparison +(object) array ( ) < '0' - TypeError Unsupported operand type object for comparison +(object) array ( ) < '10' - TypeError Unsupported operand type object for comparison +(object) array ( ) < '010' - TypeError Unsupported operand type object for comparison +(object) array ( ) < '10 elephants' - TypeError Unsupported operand type object for comparison +(object) array ( ) < 'foo' - TypeError Unsupported operand type object for comparison +(object) array ( ) < array ( ) - TypeError Unsupported operand type object for comparison +(object) array ( ) < array ( 0 => 1 ) - TypeError Unsupported operand type object for comparison +(object) array ( ) < array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type object for comparison +(object) array ( ) < array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for comparison +(object) array ( ) < array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for comparison +(object) array ( ) < (object) array ( ) - TypeError Unsupported operand type object for comparison +(object) array ( ) < (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for comparison +(object) array ( ) < (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for comparison +(object) array ( ) < DateTime - TypeError Unsupported operand type object for comparison +(object) array ( ) < resource - TypeError Unsupported operand type object for comparison +(object) array ( ) < NULL - TypeError Unsupported operand type object for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) < false - TypeError Unsupported operand type object for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) < true - TypeError Unsupported operand type object for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) < 0 - TypeError Unsupported operand type object for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) < 10 - TypeError Unsupported operand type object for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) < 0.0 - TypeError Unsupported operand type object for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) < 10.0 - TypeError Unsupported operand type object for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) < 3.14 - TypeError Unsupported operand type object for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) < '0' - TypeError Unsupported operand type object for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) < '10' - TypeError Unsupported operand type object for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) < '010' - TypeError Unsupported operand type object for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) < '10 elephants' - TypeError Unsupported operand type object for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) < 'foo' - TypeError Unsupported operand type object for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) < array ( ) - TypeError Unsupported operand type object for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) < array ( 0 => 1 ) - TypeError Unsupported operand type object for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) < array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type object for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) < array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) < array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) < (object) array ( ) - TypeError Unsupported operand type object for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) < (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) < (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) < DateTime - TypeError Unsupported operand type object for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) < resource - TypeError Unsupported operand type object for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) < NULL - TypeError Unsupported operand type object for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) < false - TypeError Unsupported operand type object for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) < true - TypeError Unsupported operand type object for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) < 0 - TypeError Unsupported operand type object for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) < 10 - TypeError Unsupported operand type object for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) < 0.0 - TypeError Unsupported operand type object for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) < 10.0 - TypeError Unsupported operand type object for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) < 3.14 - TypeError Unsupported operand type object for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) < '0' - TypeError Unsupported operand type object for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) < '10' - TypeError Unsupported operand type object for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) < '010' - TypeError Unsupported operand type object for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) < '10 elephants' - TypeError Unsupported operand type object for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) < 'foo' - TypeError Unsupported operand type object for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) < array ( ) - TypeError Unsupported operand type object for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) < array ( 0 => 1 ) - TypeError Unsupported operand type object for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) < array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type object for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) < array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) < array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) < (object) array ( ) - TypeError Unsupported operand type object for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) < (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) < (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) < DateTime - TypeError Unsupported operand type object for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) < resource - TypeError Unsupported operand type object for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) < NULL - TypeError Unsupported operand type object for comparison +DateTime < false - TypeError Unsupported operand type object for comparison +DateTime < true - TypeError Unsupported operand type object for comparison +DateTime < 0 - TypeError Unsupported operand type object for comparison +DateTime < 10 - TypeError Unsupported operand type object for comparison +DateTime < 0.0 - TypeError Unsupported operand type object for comparison +DateTime < 10.0 - TypeError Unsupported operand type object for comparison +DateTime < 3.14 - TypeError Unsupported operand type object for comparison +DateTime < '0' - TypeError Unsupported operand type object for comparison +DateTime < '10' - TypeError Unsupported operand type object for comparison +DateTime < '010' - TypeError Unsupported operand type object for comparison +DateTime < '10 elephants' - TypeError Unsupported operand type object for comparison +DateTime < 'foo' - TypeError Unsupported operand type object for comparison +DateTime < array ( ) - TypeError Unsupported operand type object for comparison +DateTime < array ( 0 => 1 ) - TypeError Unsupported operand type object for comparison +DateTime < array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type object for comparison +DateTime < array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for comparison +DateTime < array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for comparison +DateTime < (object) array ( ) - TypeError Unsupported operand type object for comparison +DateTime < (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for comparison +DateTime < (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for comparison +DateTime < DateTime - TypeError Unsupported operand type object for comparison +DateTime < resource - TypeError Unsupported operand type object for comparison +DateTime < NULL - TypeError Unsupported operand type object for comparison +resource < false - TypeError Unsupported operand type resource for comparison +resource < true - TypeError Unsupported operand type resource for comparison +resource < 0 - TypeError Unsupported operand type resource for comparison +resource < 10 - TypeError Unsupported operand type resource for comparison +resource < 0.0 - TypeError Unsupported operand type resource for comparison +resource < 10.0 - TypeError Unsupported operand type resource for comparison +resource < 3.14 - TypeError Unsupported operand type resource for comparison +resource < '0' - TypeError Unsupported operand type resource for comparison +resource < '10' - TypeError Unsupported operand type resource for comparison +resource < '010' - TypeError Unsupported operand type resource for comparison +resource < '10 elephants' - TypeError Unsupported operand type resource for comparison +resource < 'foo' - TypeError Unsupported operand type resource for comparison +resource < array ( ) - TypeError Unsupported operand type resource for comparison +resource < array ( 0 => 1 ) - TypeError Unsupported operand type resource for comparison +resource < array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type resource for comparison +resource < array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type resource for comparison +resource < array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type resource for comparison +resource < (object) array ( ) - TypeError Unsupported operand type resource for comparison +resource < (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type resource for comparison +resource < (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type resource for comparison +resource < DateTime - TypeError Unsupported operand type resource for comparison +resource < resource - TypeError Unsupported operand type resource for comparison +resource < NULL - TypeError Unsupported operand type resource for comparison +NULL < false - TypeError Unsupported operand type null for comparison +NULL < true - TypeError Unsupported operand type null for comparison +NULL < 0 - TypeError Unsupported operand type null for comparison +NULL < 10 - TypeError Unsupported operand type null for comparison +NULL < 0.0 - TypeError Unsupported operand type null for comparison +NULL < 10.0 - TypeError Unsupported operand type null for comparison +NULL < 3.14 - TypeError Unsupported operand type null for comparison +NULL < '0' - TypeError Unsupported operand type null for comparison +NULL < '10' - TypeError Unsupported operand type null for comparison +NULL < '010' - TypeError Unsupported operand type null for comparison +NULL < '10 elephants' - TypeError Unsupported operand type null for comparison +NULL < 'foo' - TypeError Unsupported operand type null for comparison +NULL < array ( ) - TypeError Unsupported operand type null for comparison +NULL < array ( 0 => 1 ) - TypeError Unsupported operand type null for comparison +NULL < array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type null for comparison +NULL < array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type null for comparison +NULL < array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type null for comparison +NULL < (object) array ( ) - TypeError Unsupported operand type null for comparison +NULL < (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type null for comparison +NULL < (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type null for comparison +NULL < DateTime - TypeError Unsupported operand type null for comparison +NULL < resource - TypeError Unsupported operand type null for comparison +NULL < NULL - TypeError Unsupported operand type null for comparison \ No newline at end of file diff --git a/Zend/tests/operators/comparison/lte.phpt b/Zend/tests/operators/comparison/lte.phpt new file mode 100644 index 000000000000..187cf04c4353 --- /dev/null +++ b/Zend/tests/operators/comparison/lte.phpt @@ -0,0 +1,540 @@ +--TEST-- +less than or equal to '<=' operator +--FILE-- + 1 ) = true +false <= array ( 0 => 1, 1 => 100 ) = true +false <= array ( 'foo' => 1, 'bar' => 2 ) = true +false <= array ( 'bar' => 1, 'foo' => 2 ) = true +false <= (object) array ( ) = true +false <= (object) array ( 'foo' => 1, 'bar' => 2 ) = true +false <= (object) array ( 'bar' => 1, 'foo' => 2 ) = true +false <= DateTime = true +false <= resource = true +false <= NULL = true +true <= false = false +true <= true = true +true <= 0 = false +true <= 10 = true +true <= 0.0 = false +true <= 10.0 = true +true <= 3.14 = true +true <= '0' = false +true <= '10' = true +true <= '010' = true +true <= '10 elephants' = true +true <= 'foo' = true +true <= array ( ) = false +true <= array ( 0 => 1 ) = true +true <= array ( 0 => 1, 1 => 100 ) = true +true <= array ( 'foo' => 1, 'bar' => 2 ) = true +true <= array ( 'bar' => 1, 'foo' => 2 ) = true +true <= (object) array ( ) = true +true <= (object) array ( 'foo' => 1, 'bar' => 2 ) = true +true <= (object) array ( 'bar' => 1, 'foo' => 2 ) = true +true <= DateTime = true +true <= resource = true +true <= NULL = false +0 <= false = true +0 <= true = true +0 <= 0 = true +0 <= 10 = true +0 <= 0.0 = true +0 <= 10.0 = true +0 <= 3.14 = true +0 <= '0' = true +0 <= '10' = true +0 <= '010' = true +0 <= '10 elephants' = true +0 <= 'foo' = true +0 <= array ( ) = true +0 <= array ( 0 => 1 ) = true +0 <= array ( 0 => 1, 1 => 100 ) = true +0 <= array ( 'foo' => 1, 'bar' => 2 ) = true +0 <= array ( 'bar' => 1, 'foo' => 2 ) = true +0 <= (object) array ( ) = true - Notice Object of class stdClass could not be converted to int +0 <= (object) array ( 'foo' => 1, 'bar' => 2 ) = true - Notice Object of class stdClass could not be converted to int +0 <= (object) array ( 'bar' => 1, 'foo' => 2 ) = true - Notice Object of class stdClass could not be converted to int +0 <= DateTime = true - Notice Object of class DateTime could not be converted to int +0 <= resource = true +0 <= NULL = true +10 <= false = false +10 <= true = true +10 <= 0 = false +10 <= 10 = true +10 <= 0.0 = false +10 <= 10.0 = true +10 <= 3.14 = false +10 <= '0' = false +10 <= '10' = true +10 <= '010' = true +10 <= '10 elephants' = true +10 <= 'foo' = false +10 <= array ( ) = true +10 <= array ( 0 => 1 ) = true +10 <= array ( 0 => 1, 1 => 100 ) = true +10 <= array ( 'foo' => 1, 'bar' => 2 ) = true +10 <= array ( 'bar' => 1, 'foo' => 2 ) = true +10 <= (object) array ( ) = false - Notice Object of class stdClass could not be converted to int +10 <= (object) array ( 'foo' => 1, 'bar' => 2 ) = false - Notice Object of class stdClass could not be converted to int +10 <= (object) array ( 'bar' => 1, 'foo' => 2 ) = false - Notice Object of class stdClass could not be converted to int +10 <= DateTime = false - Notice Object of class DateTime could not be converted to int +10 <= resource = false +10 <= NULL = false +0.0 <= false = true +0.0 <= true = true +0.0 <= 0 = true +0.0 <= 10 = true +0.0 <= 0.0 = true +0.0 <= 10.0 = true +0.0 <= 3.14 = true +0.0 <= '0' = true +0.0 <= '10' = true +0.0 <= '010' = true +0.0 <= '10 elephants' = true +0.0 <= 'foo' = true +0.0 <= array ( ) = true +0.0 <= array ( 0 => 1 ) = true +0.0 <= array ( 0 => 1, 1 => 100 ) = true +0.0 <= array ( 'foo' => 1, 'bar' => 2 ) = true +0.0 <= array ( 'bar' => 1, 'foo' => 2 ) = true +0.0 <= (object) array ( ) = true - Notice Object of class stdClass could not be converted to float +0.0 <= (object) array ( 'foo' => 1, 'bar' => 2 ) = true - Notice Object of class stdClass could not be converted to float +0.0 <= (object) array ( 'bar' => 1, 'foo' => 2 ) = true - Notice Object of class stdClass could not be converted to float +0.0 <= DateTime = true - Notice Object of class DateTime could not be converted to float +0.0 <= resource = true +0.0 <= NULL = true +10.0 <= false = false +10.0 <= true = true +10.0 <= 0 = false +10.0 <= 10 = true +10.0 <= 0.0 = false +10.0 <= 10.0 = true +10.0 <= 3.14 = false +10.0 <= '0' = false +10.0 <= '10' = true +10.0 <= '010' = true +10.0 <= '10 elephants' = true +10.0 <= 'foo' = false +10.0 <= array ( ) = true +10.0 <= array ( 0 => 1 ) = true +10.0 <= array ( 0 => 1, 1 => 100 ) = true +10.0 <= array ( 'foo' => 1, 'bar' => 2 ) = true +10.0 <= array ( 'bar' => 1, 'foo' => 2 ) = true +10.0 <= (object) array ( ) = false - Notice Object of class stdClass could not be converted to float +10.0 <= (object) array ( 'foo' => 1, 'bar' => 2 ) = false - Notice Object of class stdClass could not be converted to float +10.0 <= (object) array ( 'bar' => 1, 'foo' => 2 ) = false - Notice Object of class stdClass could not be converted to float +10.0 <= DateTime = false - Notice Object of class DateTime could not be converted to float +10.0 <= resource = false +10.0 <= NULL = false +3.14 <= false = false +3.14 <= true = true +3.14 <= 0 = false +3.14 <= 10 = true +3.14 <= 0.0 = false +3.14 <= 10.0 = true +3.14 <= 3.14 = true +3.14 <= '0' = false +3.14 <= '10' = true +3.14 <= '010' = true +3.14 <= '10 elephants' = true +3.14 <= 'foo' = false +3.14 <= array ( ) = true +3.14 <= array ( 0 => 1 ) = true +3.14 <= array ( 0 => 1, 1 => 100 ) = true +3.14 <= array ( 'foo' => 1, 'bar' => 2 ) = true +3.14 <= array ( 'bar' => 1, 'foo' => 2 ) = true +3.14 <= (object) array ( ) = false - Notice Object of class stdClass could not be converted to float +3.14 <= (object) array ( 'foo' => 1, 'bar' => 2 ) = false - Notice Object of class stdClass could not be converted to float +3.14 <= (object) array ( 'bar' => 1, 'foo' => 2 ) = false - Notice Object of class stdClass could not be converted to float +3.14 <= DateTime = false - Notice Object of class DateTime could not be converted to float +3.14 <= resource = true +3.14 <= NULL = false +'0' <= false = true +'0' <= true = true +'0' <= 0 = true +'0' <= 10 = true +'0' <= 0.0 = true +'0' <= 10.0 = true +'0' <= 3.14 = true +'0' <= '0' = true +'0' <= '10' = true +'0' <= '010' = true +'0' <= '10 elephants' = true +'0' <= 'foo' = true +'0' <= array ( ) = true +'0' <= array ( 0 => 1 ) = true +'0' <= array ( 0 => 1, 1 => 100 ) = true +'0' <= array ( 'foo' => 1, 'bar' => 2 ) = true +'0' <= array ( 'bar' => 1, 'foo' => 2 ) = true +'0' <= (object) array ( ) = true +'0' <= (object) array ( 'foo' => 1, 'bar' => 2 ) = true +'0' <= (object) array ( 'bar' => 1, 'foo' => 2 ) = true +'0' <= DateTime = true +'0' <= resource = true +'0' <= NULL = false +'10' <= false = false +'10' <= true = true +'10' <= 0 = false +'10' <= 10 = true +'10' <= 0.0 = false +'10' <= 10.0 = true +'10' <= 3.14 = false +'10' <= '0' = false +'10' <= '10' = true +'10' <= '010' = true +'10' <= '10 elephants' = true +'10' <= 'foo' = true +'10' <= array ( ) = true +'10' <= array ( 0 => 1 ) = true +'10' <= array ( 0 => 1, 1 => 100 ) = true +'10' <= array ( 'foo' => 1, 'bar' => 2 ) = true +'10' <= array ( 'bar' => 1, 'foo' => 2 ) = true +'10' <= (object) array ( ) = true +'10' <= (object) array ( 'foo' => 1, 'bar' => 2 ) = true +'10' <= (object) array ( 'bar' => 1, 'foo' => 2 ) = true +'10' <= DateTime = true +'10' <= resource = false +'10' <= NULL = false +'010' <= false = false +'010' <= true = true +'010' <= 0 = false +'010' <= 10 = true +'010' <= 0.0 = false +'010' <= 10.0 = true +'010' <= 3.14 = false +'010' <= '0' = false +'010' <= '10' = true +'010' <= '010' = true +'010' <= '10 elephants' = true +'010' <= 'foo' = true +'010' <= array ( ) = true +'010' <= array ( 0 => 1 ) = true +'010' <= array ( 0 => 1, 1 => 100 ) = true +'010' <= array ( 'foo' => 1, 'bar' => 2 ) = true +'010' <= array ( 'bar' => 1, 'foo' => 2 ) = true +'010' <= (object) array ( ) = true +'010' <= (object) array ( 'foo' => 1, 'bar' => 2 ) = true +'010' <= (object) array ( 'bar' => 1, 'foo' => 2 ) = true +'010' <= DateTime = true +'010' <= resource = false +'010' <= NULL = false +'10 elephants' <= false = false +'10 elephants' <= true = true +'10 elephants' <= 0 = false +'10 elephants' <= 10 = true +'10 elephants' <= 0.0 = false +'10 elephants' <= 10.0 = true +'10 elephants' <= 3.14 = false +'10 elephants' <= '0' = false +'10 elephants' <= '10' = false +'10 elephants' <= '010' = false +'10 elephants' <= '10 elephants' = true +'10 elephants' <= 'foo' = true +'10 elephants' <= array ( ) = true +'10 elephants' <= array ( 0 => 1 ) = true +'10 elephants' <= array ( 0 => 1, 1 => 100 ) = true +'10 elephants' <= array ( 'foo' => 1, 'bar' => 2 ) = true +'10 elephants' <= array ( 'bar' => 1, 'foo' => 2 ) = true +'10 elephants' <= (object) array ( ) = true +'10 elephants' <= (object) array ( 'foo' => 1, 'bar' => 2 ) = true +'10 elephants' <= (object) array ( 'bar' => 1, 'foo' => 2 ) = true +'10 elephants' <= DateTime = true +'10 elephants' <= resource = false +'10 elephants' <= NULL = false +'foo' <= false = false +'foo' <= true = true +'foo' <= 0 = true +'foo' <= 10 = true +'foo' <= 0.0 = true +'foo' <= 10.0 = true +'foo' <= 3.14 = true +'foo' <= '0' = false +'foo' <= '10' = false +'foo' <= '010' = false +'foo' <= '10 elephants' = false +'foo' <= 'foo' = true +'foo' <= array ( ) = true +'foo' <= array ( 0 => 1 ) = true +'foo' <= array ( 0 => 1, 1 => 100 ) = true +'foo' <= array ( 'foo' => 1, 'bar' => 2 ) = true +'foo' <= array ( 'bar' => 1, 'foo' => 2 ) = true +'foo' <= (object) array ( ) = true +'foo' <= (object) array ( 'foo' => 1, 'bar' => 2 ) = true +'foo' <= (object) array ( 'bar' => 1, 'foo' => 2 ) = true +'foo' <= DateTime = true +'foo' <= resource = true +'foo' <= NULL = false +array ( ) <= false = true +array ( ) <= true = true +array ( ) <= 0 = false +array ( ) <= 10 = false +array ( ) <= 0.0 = false +array ( ) <= 10.0 = false +array ( ) <= 3.14 = false +array ( ) <= '0' = false +array ( ) <= '10' = false +array ( ) <= '010' = false +array ( ) <= '10 elephants' = false +array ( ) <= 'foo' = false +array ( ) <= array ( ) = true +array ( ) <= array ( 0 => 1 ) = true +array ( ) <= array ( 0 => 1, 1 => 100 ) = true +array ( ) <= array ( 'foo' => 1, 'bar' => 2 ) = true +array ( ) <= array ( 'bar' => 1, 'foo' => 2 ) = true +array ( ) <= (object) array ( ) = true +array ( ) <= (object) array ( 'foo' => 1, 'bar' => 2 ) = true +array ( ) <= (object) array ( 'bar' => 1, 'foo' => 2 ) = true +array ( ) <= DateTime = true +array ( ) <= resource = false +array ( ) <= NULL = true +array ( 0 => 1 ) <= false = false +array ( 0 => 1 ) <= true = true +array ( 0 => 1 ) <= 0 = false +array ( 0 => 1 ) <= 10 = false +array ( 0 => 1 ) <= 0.0 = false +array ( 0 => 1 ) <= 10.0 = false +array ( 0 => 1 ) <= 3.14 = false +array ( 0 => 1 ) <= '0' = false +array ( 0 => 1 ) <= '10' = false +array ( 0 => 1 ) <= '010' = false +array ( 0 => 1 ) <= '10 elephants' = false +array ( 0 => 1 ) <= 'foo' = false +array ( 0 => 1 ) <= array ( ) = false +array ( 0 => 1 ) <= array ( 0 => 1 ) = true +array ( 0 => 1 ) <= array ( 0 => 1, 1 => 100 ) = true +array ( 0 => 1 ) <= array ( 'foo' => 1, 'bar' => 2 ) = true +array ( 0 => 1 ) <= array ( 'bar' => 1, 'foo' => 2 ) = true +array ( 0 => 1 ) <= (object) array ( ) = true +array ( 0 => 1 ) <= (object) array ( 'foo' => 1, 'bar' => 2 ) = true +array ( 0 => 1 ) <= (object) array ( 'bar' => 1, 'foo' => 2 ) = true +array ( 0 => 1 ) <= DateTime = true +array ( 0 => 1 ) <= resource = false +array ( 0 => 1 ) <= NULL = false +array ( 0 => 1, 1 => 100 ) <= false = false +array ( 0 => 1, 1 => 100 ) <= true = true +array ( 0 => 1, 1 => 100 ) <= 0 = false +array ( 0 => 1, 1 => 100 ) <= 10 = false +array ( 0 => 1, 1 => 100 ) <= 0.0 = false +array ( 0 => 1, 1 => 100 ) <= 10.0 = false +array ( 0 => 1, 1 => 100 ) <= 3.14 = false +array ( 0 => 1, 1 => 100 ) <= '0' = false +array ( 0 => 1, 1 => 100 ) <= '10' = false +array ( 0 => 1, 1 => 100 ) <= '010' = false +array ( 0 => 1, 1 => 100 ) <= '10 elephants' = false +array ( 0 => 1, 1 => 100 ) <= 'foo' = false +array ( 0 => 1, 1 => 100 ) <= array ( ) = false +array ( 0 => 1, 1 => 100 ) <= array ( 0 => 1 ) = false +array ( 0 => 1, 1 => 100 ) <= array ( 0 => 1, 1 => 100 ) = true +array ( 0 => 1, 1 => 100 ) <= array ( 'foo' => 1, 'bar' => 2 ) = false +array ( 0 => 1, 1 => 100 ) <= array ( 'bar' => 1, 'foo' => 2 ) = false +array ( 0 => 1, 1 => 100 ) <= (object) array ( ) = true +array ( 0 => 1, 1 => 100 ) <= (object) array ( 'foo' => 1, 'bar' => 2 ) = true +array ( 0 => 1, 1 => 100 ) <= (object) array ( 'bar' => 1, 'foo' => 2 ) = true +array ( 0 => 1, 1 => 100 ) <= DateTime = true +array ( 0 => 1, 1 => 100 ) <= resource = false +array ( 0 => 1, 1 => 100 ) <= NULL = false +array ( 'foo' => 1, 'bar' => 2 ) <= false = false +array ( 'foo' => 1, 'bar' => 2 ) <= true = true +array ( 'foo' => 1, 'bar' => 2 ) <= 0 = false +array ( 'foo' => 1, 'bar' => 2 ) <= 10 = false +array ( 'foo' => 1, 'bar' => 2 ) <= 0.0 = false +array ( 'foo' => 1, 'bar' => 2 ) <= 10.0 = false +array ( 'foo' => 1, 'bar' => 2 ) <= 3.14 = false +array ( 'foo' => 1, 'bar' => 2 ) <= '0' = false +array ( 'foo' => 1, 'bar' => 2 ) <= '10' = false +array ( 'foo' => 1, 'bar' => 2 ) <= '010' = false +array ( 'foo' => 1, 'bar' => 2 ) <= '10 elephants' = false +array ( 'foo' => 1, 'bar' => 2 ) <= 'foo' = false +array ( 'foo' => 1, 'bar' => 2 ) <= array ( ) = false +array ( 'foo' => 1, 'bar' => 2 ) <= array ( 0 => 1 ) = false +array ( 'foo' => 1, 'bar' => 2 ) <= array ( 0 => 1, 1 => 100 ) = false +array ( 'foo' => 1, 'bar' => 2 ) <= array ( 'foo' => 1, 'bar' => 2 ) = true +array ( 'foo' => 1, 'bar' => 2 ) <= array ( 'bar' => 1, 'foo' => 2 ) = true +array ( 'foo' => 1, 'bar' => 2 ) <= (object) array ( ) = true +array ( 'foo' => 1, 'bar' => 2 ) <= (object) array ( 'foo' => 1, 'bar' => 2 ) = true +array ( 'foo' => 1, 'bar' => 2 ) <= (object) array ( 'bar' => 1, 'foo' => 2 ) = true +array ( 'foo' => 1, 'bar' => 2 ) <= DateTime = true +array ( 'foo' => 1, 'bar' => 2 ) <= resource = false +array ( 'foo' => 1, 'bar' => 2 ) <= NULL = false +array ( 'bar' => 1, 'foo' => 2 ) <= false = false +array ( 'bar' => 1, 'foo' => 2 ) <= true = true +array ( 'bar' => 1, 'foo' => 2 ) <= 0 = false +array ( 'bar' => 1, 'foo' => 2 ) <= 10 = false +array ( 'bar' => 1, 'foo' => 2 ) <= 0.0 = false +array ( 'bar' => 1, 'foo' => 2 ) <= 10.0 = false +array ( 'bar' => 1, 'foo' => 2 ) <= 3.14 = false +array ( 'bar' => 1, 'foo' => 2 ) <= '0' = false +array ( 'bar' => 1, 'foo' => 2 ) <= '10' = false +array ( 'bar' => 1, 'foo' => 2 ) <= '010' = false +array ( 'bar' => 1, 'foo' => 2 ) <= '10 elephants' = false +array ( 'bar' => 1, 'foo' => 2 ) <= 'foo' = false +array ( 'bar' => 1, 'foo' => 2 ) <= array ( ) = false +array ( 'bar' => 1, 'foo' => 2 ) <= array ( 0 => 1 ) = false +array ( 'bar' => 1, 'foo' => 2 ) <= array ( 0 => 1, 1 => 100 ) = false +array ( 'bar' => 1, 'foo' => 2 ) <= array ( 'foo' => 1, 'bar' => 2 ) = true +array ( 'bar' => 1, 'foo' => 2 ) <= array ( 'bar' => 1, 'foo' => 2 ) = true +array ( 'bar' => 1, 'foo' => 2 ) <= (object) array ( ) = true +array ( 'bar' => 1, 'foo' => 2 ) <= (object) array ( 'foo' => 1, 'bar' => 2 ) = true +array ( 'bar' => 1, 'foo' => 2 ) <= (object) array ( 'bar' => 1, 'foo' => 2 ) = true +array ( 'bar' => 1, 'foo' => 2 ) <= DateTime = true +array ( 'bar' => 1, 'foo' => 2 ) <= resource = false +array ( 'bar' => 1, 'foo' => 2 ) <= NULL = false +(object) array ( ) <= false = false +(object) array ( ) <= true = true +(object) array ( ) <= 0 = false - Notice Object of class stdClass could not be converted to int +(object) array ( ) <= 10 = true - Notice Object of class stdClass could not be converted to int +(object) array ( ) <= 0.0 = false - Notice Object of class stdClass could not be converted to float +(object) array ( ) <= 10.0 = true - Notice Object of class stdClass could not be converted to float +(object) array ( ) <= 3.14 = true - Notice Object of class stdClass could not be converted to float +(object) array ( ) <= '0' = false +(object) array ( ) <= '10' = false +(object) array ( ) <= '010' = false +(object) array ( ) <= '10 elephants' = false +(object) array ( ) <= 'foo' = false +(object) array ( ) <= array ( ) = false +(object) array ( ) <= array ( 0 => 1 ) = false +(object) array ( ) <= array ( 0 => 1, 1 => 100 ) = false +(object) array ( ) <= array ( 'foo' => 1, 'bar' => 2 ) = false +(object) array ( ) <= array ( 'bar' => 1, 'foo' => 2 ) = false +(object) array ( ) <= (object) array ( ) = true +(object) array ( ) <= (object) array ( 'foo' => 1, 'bar' => 2 ) = true +(object) array ( ) <= (object) array ( 'bar' => 1, 'foo' => 2 ) = true +(object) array ( ) <= DateTime = false +(object) array ( ) <= resource = false +(object) array ( ) <= NULL = false +(object) array ( 'foo' => 1, 'bar' => 2 ) <= false = false +(object) array ( 'foo' => 1, 'bar' => 2 ) <= true = true +(object) array ( 'foo' => 1, 'bar' => 2 ) <= 0 = false - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) <= 10 = true - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) <= 0.0 = false - Notice Object of class stdClass could not be converted to float +(object) array ( 'foo' => 1, 'bar' => 2 ) <= 10.0 = true - Notice Object of class stdClass could not be converted to float +(object) array ( 'foo' => 1, 'bar' => 2 ) <= 3.14 = true - Notice Object of class stdClass could not be converted to float +(object) array ( 'foo' => 1, 'bar' => 2 ) <= '0' = false +(object) array ( 'foo' => 1, 'bar' => 2 ) <= '10' = false +(object) array ( 'foo' => 1, 'bar' => 2 ) <= '010' = false +(object) array ( 'foo' => 1, 'bar' => 2 ) <= '10 elephants' = false +(object) array ( 'foo' => 1, 'bar' => 2 ) <= 'foo' = false +(object) array ( 'foo' => 1, 'bar' => 2 ) <= array ( ) = false +(object) array ( 'foo' => 1, 'bar' => 2 ) <= array ( 0 => 1 ) = false +(object) array ( 'foo' => 1, 'bar' => 2 ) <= array ( 0 => 1, 1 => 100 ) = false +(object) array ( 'foo' => 1, 'bar' => 2 ) <= array ( 'foo' => 1, 'bar' => 2 ) = false +(object) array ( 'foo' => 1, 'bar' => 2 ) <= array ( 'bar' => 1, 'foo' => 2 ) = false +(object) array ( 'foo' => 1, 'bar' => 2 ) <= (object) array ( ) = false +(object) array ( 'foo' => 1, 'bar' => 2 ) <= (object) array ( 'foo' => 1, 'bar' => 2 ) = true +(object) array ( 'foo' => 1, 'bar' => 2 ) <= (object) array ( 'bar' => 1, 'foo' => 2 ) = true +(object) array ( 'foo' => 1, 'bar' => 2 ) <= DateTime = false +(object) array ( 'foo' => 1, 'bar' => 2 ) <= resource = false +(object) array ( 'foo' => 1, 'bar' => 2 ) <= NULL = false +(object) array ( 'bar' => 1, 'foo' => 2 ) <= false = false +(object) array ( 'bar' => 1, 'foo' => 2 ) <= true = true +(object) array ( 'bar' => 1, 'foo' => 2 ) <= 0 = false - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) <= 10 = true - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) <= 0.0 = false - Notice Object of class stdClass could not be converted to float +(object) array ( 'bar' => 1, 'foo' => 2 ) <= 10.0 = true - Notice Object of class stdClass could not be converted to float +(object) array ( 'bar' => 1, 'foo' => 2 ) <= 3.14 = true - Notice Object of class stdClass could not be converted to float +(object) array ( 'bar' => 1, 'foo' => 2 ) <= '0' = false +(object) array ( 'bar' => 1, 'foo' => 2 ) <= '10' = false +(object) array ( 'bar' => 1, 'foo' => 2 ) <= '010' = false +(object) array ( 'bar' => 1, 'foo' => 2 ) <= '10 elephants' = false +(object) array ( 'bar' => 1, 'foo' => 2 ) <= 'foo' = false +(object) array ( 'bar' => 1, 'foo' => 2 ) <= array ( ) = false +(object) array ( 'bar' => 1, 'foo' => 2 ) <= array ( 0 => 1 ) = false +(object) array ( 'bar' => 1, 'foo' => 2 ) <= array ( 0 => 1, 1 => 100 ) = false +(object) array ( 'bar' => 1, 'foo' => 2 ) <= array ( 'foo' => 1, 'bar' => 2 ) = false +(object) array ( 'bar' => 1, 'foo' => 2 ) <= array ( 'bar' => 1, 'foo' => 2 ) = false +(object) array ( 'bar' => 1, 'foo' => 2 ) <= (object) array ( ) = false +(object) array ( 'bar' => 1, 'foo' => 2 ) <= (object) array ( 'foo' => 1, 'bar' => 2 ) = true +(object) array ( 'bar' => 1, 'foo' => 2 ) <= (object) array ( 'bar' => 1, 'foo' => 2 ) = true +(object) array ( 'bar' => 1, 'foo' => 2 ) <= DateTime = false +(object) array ( 'bar' => 1, 'foo' => 2 ) <= resource = false +(object) array ( 'bar' => 1, 'foo' => 2 ) <= NULL = false +DateTime <= false = false +DateTime <= true = true +DateTime <= 0 = false - Notice Object of class DateTime could not be converted to int +DateTime <= 10 = true - Notice Object of class DateTime could not be converted to int +DateTime <= 0.0 = false - Notice Object of class DateTime could not be converted to float +DateTime <= 10.0 = true - Notice Object of class DateTime could not be converted to float +DateTime <= 3.14 = true - Notice Object of class DateTime could not be converted to float +DateTime <= '0' = false +DateTime <= '10' = false +DateTime <= '010' = false +DateTime <= '10 elephants' = false +DateTime <= 'foo' = false +DateTime <= array ( ) = false +DateTime <= array ( 0 => 1 ) = false +DateTime <= array ( 0 => 1, 1 => 100 ) = false +DateTime <= array ( 'foo' => 1, 'bar' => 2 ) = false +DateTime <= array ( 'bar' => 1, 'foo' => 2 ) = false +DateTime <= (object) array ( ) = false +DateTime <= (object) array ( 'foo' => 1, 'bar' => 2 ) = false +DateTime <= (object) array ( 'bar' => 1, 'foo' => 2 ) = false +DateTime <= DateTime = true +DateTime <= resource = false +DateTime <= NULL = false +resource <= false = false +resource <= true = true +resource <= 0 = false +resource <= 10 = true +resource <= 0.0 = false +resource <= 10.0 = true +resource <= 3.14 = false +resource <= '0' = false +resource <= '10' = true +resource <= '010' = true +resource <= '10 elephants' = true +resource <= 'foo' = false +resource <= array ( ) = true +resource <= array ( 0 => 1 ) = true +resource <= array ( 0 => 1, 1 => 100 ) = true +resource <= array ( 'foo' => 1, 'bar' => 2 ) = true +resource <= array ( 'bar' => 1, 'foo' => 2 ) = true +resource <= (object) array ( ) = true +resource <= (object) array ( 'foo' => 1, 'bar' => 2 ) = true +resource <= (object) array ( 'bar' => 1, 'foo' => 2 ) = true +resource <= DateTime = true +resource <= resource = true +resource <= NULL = false +NULL <= false = true +NULL <= true = true +NULL <= 0 = true +NULL <= 10 = true +NULL <= 0.0 = true +NULL <= 10.0 = true +NULL <= 3.14 = true +NULL <= '0' = true +NULL <= '10' = true +NULL <= '010' = true +NULL <= '10 elephants' = true +NULL <= 'foo' = true +NULL <= array ( ) = true +NULL <= array ( 0 => 1 ) = true +NULL <= array ( 0 => 1, 1 => 100 ) = true +NULL <= array ( 'foo' => 1, 'bar' => 2 ) = true +NULL <= array ( 'bar' => 1, 'foo' => 2 ) = true +NULL <= (object) array ( ) = true +NULL <= (object) array ( 'foo' => 1, 'bar' => 2 ) = true +NULL <= (object) array ( 'bar' => 1, 'foo' => 2 ) = true +NULL <= DateTime = true +NULL <= resource = true +NULL <= NULL = true \ No newline at end of file diff --git a/Zend/tests/operators/comparison/lte_strict.phpt b/Zend/tests/operators/comparison/lte_strict.phpt new file mode 100644 index 000000000000..c191dbbb9c91 --- /dev/null +++ b/Zend/tests/operators/comparison/lte_strict.phpt @@ -0,0 +1,542 @@ +--TEST-- +less than or equal to '<=' operator with strict_operators +--FILE-- + 1 ) - TypeError Unsupported operand type array for comparison +false <= array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for comparison +false <= array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for comparison +false <= array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for comparison +false <= (object) array ( ) - TypeError Unsupported operand type object for comparison +false <= (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for comparison +false <= (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for comparison +false <= DateTime - TypeError Unsupported operand type object for comparison +false <= resource - TypeError Unsupported operand type resource for comparison +false <= NULL - TypeError Unsupported operand type null for comparison +true <= false = false +true <= true = true +true <= 0 - TypeError Operand type mismatch bool and int for comparison +true <= 10 - TypeError Operand type mismatch bool and int for comparison +true <= 0.0 - TypeError Operand type mismatch bool and float for comparison +true <= 10.0 - TypeError Operand type mismatch bool and float for comparison +true <= 3.14 - TypeError Operand type mismatch bool and float for comparison +true <= '0' - TypeError Operand type mismatch bool and string for comparison +true <= '10' - TypeError Operand type mismatch bool and string for comparison +true <= '010' - TypeError Operand type mismatch bool and string for comparison +true <= '10 elephants' - TypeError Operand type mismatch bool and string for comparison +true <= 'foo' - TypeError Operand type mismatch bool and string for comparison +true <= array ( ) - TypeError Unsupported operand type array for comparison +true <= array ( 0 => 1 ) - TypeError Unsupported operand type array for comparison +true <= array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for comparison +true <= array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for comparison +true <= array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for comparison +true <= (object) array ( ) - TypeError Unsupported operand type object for comparison +true <= (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for comparison +true <= (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for comparison +true <= DateTime - TypeError Unsupported operand type object for comparison +true <= resource - TypeError Unsupported operand type resource for comparison +true <= NULL - TypeError Unsupported operand type null for comparison +0 <= false - TypeError Operand type mismatch int and bool for comparison +0 <= true - TypeError Operand type mismatch int and bool for comparison +0 <= 0 = true +0 <= 10 = true +0 <= 0.0 = true +0 <= 10.0 = true +0 <= 3.14 = true +0 <= '0' - TypeError Operand type mismatch int and string for comparison +0 <= '10' - TypeError Operand type mismatch int and string for comparison +0 <= '010' - TypeError Operand type mismatch int and string for comparison +0 <= '10 elephants' - TypeError Operand type mismatch int and string for comparison +0 <= 'foo' - TypeError Operand type mismatch int and string for comparison +0 <= array ( ) - TypeError Unsupported operand type array for comparison +0 <= array ( 0 => 1 ) - TypeError Unsupported operand type array for comparison +0 <= array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for comparison +0 <= array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for comparison +0 <= array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for comparison +0 <= (object) array ( ) - TypeError Unsupported operand type object for comparison +0 <= (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for comparison +0 <= (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for comparison +0 <= DateTime - TypeError Unsupported operand type object for comparison +0 <= resource - TypeError Unsupported operand type resource for comparison +0 <= NULL - TypeError Unsupported operand type null for comparison +10 <= false - TypeError Operand type mismatch int and bool for comparison +10 <= true - TypeError Operand type mismatch int and bool for comparison +10 <= 0 = false +10 <= 10 = true +10 <= 0.0 = false +10 <= 10.0 = true +10 <= 3.14 = false +10 <= '0' - TypeError Operand type mismatch int and string for comparison +10 <= '10' - TypeError Operand type mismatch int and string for comparison +10 <= '010' - TypeError Operand type mismatch int and string for comparison +10 <= '10 elephants' - TypeError Operand type mismatch int and string for comparison +10 <= 'foo' - TypeError Operand type mismatch int and string for comparison +10 <= array ( ) - TypeError Unsupported operand type array for comparison +10 <= array ( 0 => 1 ) - TypeError Unsupported operand type array for comparison +10 <= array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for comparison +10 <= array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for comparison +10 <= array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for comparison +10 <= (object) array ( ) - TypeError Unsupported operand type object for comparison +10 <= (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for comparison +10 <= (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for comparison +10 <= DateTime - TypeError Unsupported operand type object for comparison +10 <= resource - TypeError Unsupported operand type resource for comparison +10 <= NULL - TypeError Unsupported operand type null for comparison +0.0 <= false - TypeError Operand type mismatch float and bool for comparison +0.0 <= true - TypeError Operand type mismatch float and bool for comparison +0.0 <= 0 = true +0.0 <= 10 = true +0.0 <= 0.0 = true +0.0 <= 10.0 = true +0.0 <= 3.14 = true +0.0 <= '0' - TypeError Operand type mismatch float and string for comparison +0.0 <= '10' - TypeError Operand type mismatch float and string for comparison +0.0 <= '010' - TypeError Operand type mismatch float and string for comparison +0.0 <= '10 elephants' - TypeError Operand type mismatch float and string for comparison +0.0 <= 'foo' - TypeError Operand type mismatch float and string for comparison +0.0 <= array ( ) - TypeError Unsupported operand type array for comparison +0.0 <= array ( 0 => 1 ) - TypeError Unsupported operand type array for comparison +0.0 <= array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for comparison +0.0 <= array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for comparison +0.0 <= array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for comparison +0.0 <= (object) array ( ) - TypeError Unsupported operand type object for comparison +0.0 <= (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for comparison +0.0 <= (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for comparison +0.0 <= DateTime - TypeError Unsupported operand type object for comparison +0.0 <= resource - TypeError Unsupported operand type resource for comparison +0.0 <= NULL - TypeError Unsupported operand type null for comparison +10.0 <= false - TypeError Operand type mismatch float and bool for comparison +10.0 <= true - TypeError Operand type mismatch float and bool for comparison +10.0 <= 0 = false +10.0 <= 10 = true +10.0 <= 0.0 = false +10.0 <= 10.0 = true +10.0 <= 3.14 = false +10.0 <= '0' - TypeError Operand type mismatch float and string for comparison +10.0 <= '10' - TypeError Operand type mismatch float and string for comparison +10.0 <= '010' - TypeError Operand type mismatch float and string for comparison +10.0 <= '10 elephants' - TypeError Operand type mismatch float and string for comparison +10.0 <= 'foo' - TypeError Operand type mismatch float and string for comparison +10.0 <= array ( ) - TypeError Unsupported operand type array for comparison +10.0 <= array ( 0 => 1 ) - TypeError Unsupported operand type array for comparison +10.0 <= array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for comparison +10.0 <= array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for comparison +10.0 <= array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for comparison +10.0 <= (object) array ( ) - TypeError Unsupported operand type object for comparison +10.0 <= (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for comparison +10.0 <= (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for comparison +10.0 <= DateTime - TypeError Unsupported operand type object for comparison +10.0 <= resource - TypeError Unsupported operand type resource for comparison +10.0 <= NULL - TypeError Unsupported operand type null for comparison +3.14 <= false - TypeError Operand type mismatch float and bool for comparison +3.14 <= true - TypeError Operand type mismatch float and bool for comparison +3.14 <= 0 = false +3.14 <= 10 = true +3.14 <= 0.0 = false +3.14 <= 10.0 = true +3.14 <= 3.14 = true +3.14 <= '0' - TypeError Operand type mismatch float and string for comparison +3.14 <= '10' - TypeError Operand type mismatch float and string for comparison +3.14 <= '010' - TypeError Operand type mismatch float and string for comparison +3.14 <= '10 elephants' - TypeError Operand type mismatch float and string for comparison +3.14 <= 'foo' - TypeError Operand type mismatch float and string for comparison +3.14 <= array ( ) - TypeError Unsupported operand type array for comparison +3.14 <= array ( 0 => 1 ) - TypeError Unsupported operand type array for comparison +3.14 <= array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for comparison +3.14 <= array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for comparison +3.14 <= array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for comparison +3.14 <= (object) array ( ) - TypeError Unsupported operand type object for comparison +3.14 <= (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for comparison +3.14 <= (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for comparison +3.14 <= DateTime - TypeError Unsupported operand type object for comparison +3.14 <= resource - TypeError Unsupported operand type resource for comparison +3.14 <= NULL - TypeError Unsupported operand type null for comparison +'0' <= false - TypeError Operand type mismatch string and bool for comparison +'0' <= true - TypeError Operand type mismatch string and bool for comparison +'0' <= 0 - TypeError Operand type mismatch string and int for comparison +'0' <= 10 - TypeError Operand type mismatch string and int for comparison +'0' <= 0.0 - TypeError Operand type mismatch string and float for comparison +'0' <= 10.0 - TypeError Operand type mismatch string and float for comparison +'0' <= 3.14 - TypeError Operand type mismatch string and float for comparison +'0' <= '0' = true +'0' <= '10' = true +'0' <= '010' = true +'0' <= '10 elephants' = true +'0' <= 'foo' = true +'0' <= array ( ) - TypeError Unsupported operand type array for comparison +'0' <= array ( 0 => 1 ) - TypeError Unsupported operand type array for comparison +'0' <= array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for comparison +'0' <= array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for comparison +'0' <= array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for comparison +'0' <= (object) array ( ) - TypeError Unsupported operand type object for comparison +'0' <= (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for comparison +'0' <= (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for comparison +'0' <= DateTime - TypeError Unsupported operand type object for comparison +'0' <= resource - TypeError Unsupported operand type resource for comparison +'0' <= NULL - TypeError Unsupported operand type null for comparison +'10' <= false - TypeError Operand type mismatch string and bool for comparison +'10' <= true - TypeError Operand type mismatch string and bool for comparison +'10' <= 0 - TypeError Operand type mismatch string and int for comparison +'10' <= 10 - TypeError Operand type mismatch string and int for comparison +'10' <= 0.0 - TypeError Operand type mismatch string and float for comparison +'10' <= 10.0 - TypeError Operand type mismatch string and float for comparison +'10' <= 3.14 - TypeError Operand type mismatch string and float for comparison +'10' <= '0' = false +'10' <= '10' = true +'10' <= '010' = false +'10' <= '10 elephants' = true +'10' <= 'foo' = true +'10' <= array ( ) - TypeError Unsupported operand type array for comparison +'10' <= array ( 0 => 1 ) - TypeError Unsupported operand type array for comparison +'10' <= array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for comparison +'10' <= array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for comparison +'10' <= array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for comparison +'10' <= (object) array ( ) - TypeError Unsupported operand type object for comparison +'10' <= (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for comparison +'10' <= (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for comparison +'10' <= DateTime - TypeError Unsupported operand type object for comparison +'10' <= resource - TypeError Unsupported operand type resource for comparison +'10' <= NULL - TypeError Unsupported operand type null for comparison +'010' <= false - TypeError Operand type mismatch string and bool for comparison +'010' <= true - TypeError Operand type mismatch string and bool for comparison +'010' <= 0 - TypeError Operand type mismatch string and int for comparison +'010' <= 10 - TypeError Operand type mismatch string and int for comparison +'010' <= 0.0 - TypeError Operand type mismatch string and float for comparison +'010' <= 10.0 - TypeError Operand type mismatch string and float for comparison +'010' <= 3.14 - TypeError Operand type mismatch string and float for comparison +'010' <= '0' = false +'010' <= '10' = true +'010' <= '010' = true +'010' <= '10 elephants' = true +'010' <= 'foo' = true +'010' <= array ( ) - TypeError Unsupported operand type array for comparison +'010' <= array ( 0 => 1 ) - TypeError Unsupported operand type array for comparison +'010' <= array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for comparison +'010' <= array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for comparison +'010' <= array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for comparison +'010' <= (object) array ( ) - TypeError Unsupported operand type object for comparison +'010' <= (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for comparison +'010' <= (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for comparison +'010' <= DateTime - TypeError Unsupported operand type object for comparison +'010' <= resource - TypeError Unsupported operand type resource for comparison +'010' <= NULL - TypeError Unsupported operand type null for comparison +'10 elephants' <= false - TypeError Operand type mismatch string and bool for comparison +'10 elephants' <= true - TypeError Operand type mismatch string and bool for comparison +'10 elephants' <= 0 - TypeError Operand type mismatch string and int for comparison +'10 elephants' <= 10 - TypeError Operand type mismatch string and int for comparison +'10 elephants' <= 0.0 - TypeError Operand type mismatch string and float for comparison +'10 elephants' <= 10.0 - TypeError Operand type mismatch string and float for comparison +'10 elephants' <= 3.14 - TypeError Operand type mismatch string and float for comparison +'10 elephants' <= '0' = false +'10 elephants' <= '10' = false +'10 elephants' <= '010' = false +'10 elephants' <= '10 elephants' = true +'10 elephants' <= 'foo' = true +'10 elephants' <= array ( ) - TypeError Unsupported operand type array for comparison +'10 elephants' <= array ( 0 => 1 ) - TypeError Unsupported operand type array for comparison +'10 elephants' <= array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for comparison +'10 elephants' <= array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for comparison +'10 elephants' <= array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for comparison +'10 elephants' <= (object) array ( ) - TypeError Unsupported operand type object for comparison +'10 elephants' <= (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for comparison +'10 elephants' <= (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for comparison +'10 elephants' <= DateTime - TypeError Unsupported operand type object for comparison +'10 elephants' <= resource - TypeError Unsupported operand type resource for comparison +'10 elephants' <= NULL - TypeError Unsupported operand type null for comparison +'foo' <= false - TypeError Operand type mismatch string and bool for comparison +'foo' <= true - TypeError Operand type mismatch string and bool for comparison +'foo' <= 0 - TypeError Operand type mismatch string and int for comparison +'foo' <= 10 - TypeError Operand type mismatch string and int for comparison +'foo' <= 0.0 - TypeError Operand type mismatch string and float for comparison +'foo' <= 10.0 - TypeError Operand type mismatch string and float for comparison +'foo' <= 3.14 - TypeError Operand type mismatch string and float for comparison +'foo' <= '0' = false +'foo' <= '10' = false +'foo' <= '010' = false +'foo' <= '10 elephants' = false +'foo' <= 'foo' = true +'foo' <= array ( ) - TypeError Unsupported operand type array for comparison +'foo' <= array ( 0 => 1 ) - TypeError Unsupported operand type array for comparison +'foo' <= array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for comparison +'foo' <= array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for comparison +'foo' <= array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for comparison +'foo' <= (object) array ( ) - TypeError Unsupported operand type object for comparison +'foo' <= (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for comparison +'foo' <= (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for comparison +'foo' <= DateTime - TypeError Unsupported operand type object for comparison +'foo' <= resource - TypeError Unsupported operand type resource for comparison +'foo' <= NULL - TypeError Unsupported operand type null for comparison +array ( ) <= false - TypeError Unsupported operand type array for comparison +array ( ) <= true - TypeError Unsupported operand type array for comparison +array ( ) <= 0 - TypeError Unsupported operand type array for comparison +array ( ) <= 10 - TypeError Unsupported operand type array for comparison +array ( ) <= 0.0 - TypeError Unsupported operand type array for comparison +array ( ) <= 10.0 - TypeError Unsupported operand type array for comparison +array ( ) <= 3.14 - TypeError Unsupported operand type array for comparison +array ( ) <= '0' - TypeError Unsupported operand type array for comparison +array ( ) <= '10' - TypeError Unsupported operand type array for comparison +array ( ) <= '010' - TypeError Unsupported operand type array for comparison +array ( ) <= '10 elephants' - TypeError Unsupported operand type array for comparison +array ( ) <= 'foo' - TypeError Unsupported operand type array for comparison +array ( ) <= array ( ) - TypeError Unsupported operand type array for comparison +array ( ) <= array ( 0 => 1 ) - TypeError Unsupported operand type array for comparison +array ( ) <= array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for comparison +array ( ) <= array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for comparison +array ( ) <= array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for comparison +array ( ) <= (object) array ( ) - TypeError Unsupported operand type array for comparison +array ( ) <= (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for comparison +array ( ) <= (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for comparison +array ( ) <= DateTime - TypeError Unsupported operand type array for comparison +array ( ) <= resource - TypeError Unsupported operand type array for comparison +array ( ) <= NULL - TypeError Unsupported operand type array for comparison +array ( 0 => 1 ) <= false - TypeError Unsupported operand type array for comparison +array ( 0 => 1 ) <= true - TypeError Unsupported operand type array for comparison +array ( 0 => 1 ) <= 0 - TypeError Unsupported operand type array for comparison +array ( 0 => 1 ) <= 10 - TypeError Unsupported operand type array for comparison +array ( 0 => 1 ) <= 0.0 - TypeError Unsupported operand type array for comparison +array ( 0 => 1 ) <= 10.0 - TypeError Unsupported operand type array for comparison +array ( 0 => 1 ) <= 3.14 - TypeError Unsupported operand type array for comparison +array ( 0 => 1 ) <= '0' - TypeError Unsupported operand type array for comparison +array ( 0 => 1 ) <= '10' - TypeError Unsupported operand type array for comparison +array ( 0 => 1 ) <= '010' - TypeError Unsupported operand type array for comparison +array ( 0 => 1 ) <= '10 elephants' - TypeError Unsupported operand type array for comparison +array ( 0 => 1 ) <= 'foo' - TypeError Unsupported operand type array for comparison +array ( 0 => 1 ) <= array ( ) - TypeError Unsupported operand type array for comparison +array ( 0 => 1 ) <= array ( 0 => 1 ) - TypeError Unsupported operand type array for comparison +array ( 0 => 1 ) <= array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for comparison +array ( 0 => 1 ) <= array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for comparison +array ( 0 => 1 ) <= array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for comparison +array ( 0 => 1 ) <= (object) array ( ) - TypeError Unsupported operand type array for comparison +array ( 0 => 1 ) <= (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for comparison +array ( 0 => 1 ) <= (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for comparison +array ( 0 => 1 ) <= DateTime - TypeError Unsupported operand type array for comparison +array ( 0 => 1 ) <= resource - TypeError Unsupported operand type array for comparison +array ( 0 => 1 ) <= NULL - TypeError Unsupported operand type array for comparison +array ( 0 => 1, 1 => 100 ) <= false - TypeError Unsupported operand type array for comparison +array ( 0 => 1, 1 => 100 ) <= true - TypeError Unsupported operand type array for comparison +array ( 0 => 1, 1 => 100 ) <= 0 - TypeError Unsupported operand type array for comparison +array ( 0 => 1, 1 => 100 ) <= 10 - TypeError Unsupported operand type array for comparison +array ( 0 => 1, 1 => 100 ) <= 0.0 - TypeError Unsupported operand type array for comparison +array ( 0 => 1, 1 => 100 ) <= 10.0 - TypeError Unsupported operand type array for comparison +array ( 0 => 1, 1 => 100 ) <= 3.14 - TypeError Unsupported operand type array for comparison +array ( 0 => 1, 1 => 100 ) <= '0' - TypeError Unsupported operand type array for comparison +array ( 0 => 1, 1 => 100 ) <= '10' - TypeError Unsupported operand type array for comparison +array ( 0 => 1, 1 => 100 ) <= '010' - TypeError Unsupported operand type array for comparison +array ( 0 => 1, 1 => 100 ) <= '10 elephants' - TypeError Unsupported operand type array for comparison +array ( 0 => 1, 1 => 100 ) <= 'foo' - TypeError Unsupported operand type array for comparison +array ( 0 => 1, 1 => 100 ) <= array ( ) - TypeError Unsupported operand type array for comparison +array ( 0 => 1, 1 => 100 ) <= array ( 0 => 1 ) - TypeError Unsupported operand type array for comparison +array ( 0 => 1, 1 => 100 ) <= array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for comparison +array ( 0 => 1, 1 => 100 ) <= array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for comparison +array ( 0 => 1, 1 => 100 ) <= array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for comparison +array ( 0 => 1, 1 => 100 ) <= (object) array ( ) - TypeError Unsupported operand type array for comparison +array ( 0 => 1, 1 => 100 ) <= (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for comparison +array ( 0 => 1, 1 => 100 ) <= (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for comparison +array ( 0 => 1, 1 => 100 ) <= DateTime - TypeError Unsupported operand type array for comparison +array ( 0 => 1, 1 => 100 ) <= resource - TypeError Unsupported operand type array for comparison +array ( 0 => 1, 1 => 100 ) <= NULL - TypeError Unsupported operand type array for comparison +array ( 'foo' => 1, 'bar' => 2 ) <= false - TypeError Unsupported operand type array for comparison +array ( 'foo' => 1, 'bar' => 2 ) <= true - TypeError Unsupported operand type array for comparison +array ( 'foo' => 1, 'bar' => 2 ) <= 0 - TypeError Unsupported operand type array for comparison +array ( 'foo' => 1, 'bar' => 2 ) <= 10 - TypeError Unsupported operand type array for comparison +array ( 'foo' => 1, 'bar' => 2 ) <= 0.0 - TypeError Unsupported operand type array for comparison +array ( 'foo' => 1, 'bar' => 2 ) <= 10.0 - TypeError Unsupported operand type array for comparison +array ( 'foo' => 1, 'bar' => 2 ) <= 3.14 - TypeError Unsupported operand type array for comparison +array ( 'foo' => 1, 'bar' => 2 ) <= '0' - TypeError Unsupported operand type array for comparison +array ( 'foo' => 1, 'bar' => 2 ) <= '10' - TypeError Unsupported operand type array for comparison +array ( 'foo' => 1, 'bar' => 2 ) <= '010' - TypeError Unsupported operand type array for comparison +array ( 'foo' => 1, 'bar' => 2 ) <= '10 elephants' - TypeError Unsupported operand type array for comparison +array ( 'foo' => 1, 'bar' => 2 ) <= 'foo' - TypeError Unsupported operand type array for comparison +array ( 'foo' => 1, 'bar' => 2 ) <= array ( ) - TypeError Unsupported operand type array for comparison +array ( 'foo' => 1, 'bar' => 2 ) <= array ( 0 => 1 ) - TypeError Unsupported operand type array for comparison +array ( 'foo' => 1, 'bar' => 2 ) <= array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for comparison +array ( 'foo' => 1, 'bar' => 2 ) <= array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for comparison +array ( 'foo' => 1, 'bar' => 2 ) <= array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for comparison +array ( 'foo' => 1, 'bar' => 2 ) <= (object) array ( ) - TypeError Unsupported operand type array for comparison +array ( 'foo' => 1, 'bar' => 2 ) <= (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for comparison +array ( 'foo' => 1, 'bar' => 2 ) <= (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for comparison +array ( 'foo' => 1, 'bar' => 2 ) <= DateTime - TypeError Unsupported operand type array for comparison +array ( 'foo' => 1, 'bar' => 2 ) <= resource - TypeError Unsupported operand type array for comparison +array ( 'foo' => 1, 'bar' => 2 ) <= NULL - TypeError Unsupported operand type array for comparison +array ( 'bar' => 1, 'foo' => 2 ) <= false - TypeError Unsupported operand type array for comparison +array ( 'bar' => 1, 'foo' => 2 ) <= true - TypeError Unsupported operand type array for comparison +array ( 'bar' => 1, 'foo' => 2 ) <= 0 - TypeError Unsupported operand type array for comparison +array ( 'bar' => 1, 'foo' => 2 ) <= 10 - TypeError Unsupported operand type array for comparison +array ( 'bar' => 1, 'foo' => 2 ) <= 0.0 - TypeError Unsupported operand type array for comparison +array ( 'bar' => 1, 'foo' => 2 ) <= 10.0 - TypeError Unsupported operand type array for comparison +array ( 'bar' => 1, 'foo' => 2 ) <= 3.14 - TypeError Unsupported operand type array for comparison +array ( 'bar' => 1, 'foo' => 2 ) <= '0' - TypeError Unsupported operand type array for comparison +array ( 'bar' => 1, 'foo' => 2 ) <= '10' - TypeError Unsupported operand type array for comparison +array ( 'bar' => 1, 'foo' => 2 ) <= '010' - TypeError Unsupported operand type array for comparison +array ( 'bar' => 1, 'foo' => 2 ) <= '10 elephants' - TypeError Unsupported operand type array for comparison +array ( 'bar' => 1, 'foo' => 2 ) <= 'foo' - TypeError Unsupported operand type array for comparison +array ( 'bar' => 1, 'foo' => 2 ) <= array ( ) - TypeError Unsupported operand type array for comparison +array ( 'bar' => 1, 'foo' => 2 ) <= array ( 0 => 1 ) - TypeError Unsupported operand type array for comparison +array ( 'bar' => 1, 'foo' => 2 ) <= array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for comparison +array ( 'bar' => 1, 'foo' => 2 ) <= array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for comparison +array ( 'bar' => 1, 'foo' => 2 ) <= array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for comparison +array ( 'bar' => 1, 'foo' => 2 ) <= (object) array ( ) - TypeError Unsupported operand type array for comparison +array ( 'bar' => 1, 'foo' => 2 ) <= (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for comparison +array ( 'bar' => 1, 'foo' => 2 ) <= (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for comparison +array ( 'bar' => 1, 'foo' => 2 ) <= DateTime - TypeError Unsupported operand type array for comparison +array ( 'bar' => 1, 'foo' => 2 ) <= resource - TypeError Unsupported operand type array for comparison +array ( 'bar' => 1, 'foo' => 2 ) <= NULL - TypeError Unsupported operand type array for comparison +(object) array ( ) <= false - TypeError Unsupported operand type object for comparison +(object) array ( ) <= true - TypeError Unsupported operand type object for comparison +(object) array ( ) <= 0 - TypeError Unsupported operand type object for comparison +(object) array ( ) <= 10 - TypeError Unsupported operand type object for comparison +(object) array ( ) <= 0.0 - TypeError Unsupported operand type object for comparison +(object) array ( ) <= 10.0 - TypeError Unsupported operand type object for comparison +(object) array ( ) <= 3.14 - TypeError Unsupported operand type object for comparison +(object) array ( ) <= '0' - TypeError Unsupported operand type object for comparison +(object) array ( ) <= '10' - TypeError Unsupported operand type object for comparison +(object) array ( ) <= '010' - TypeError Unsupported operand type object for comparison +(object) array ( ) <= '10 elephants' - TypeError Unsupported operand type object for comparison +(object) array ( ) <= 'foo' - TypeError Unsupported operand type object for comparison +(object) array ( ) <= array ( ) - TypeError Unsupported operand type object for comparison +(object) array ( ) <= array ( 0 => 1 ) - TypeError Unsupported operand type object for comparison +(object) array ( ) <= array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type object for comparison +(object) array ( ) <= array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for comparison +(object) array ( ) <= array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for comparison +(object) array ( ) <= (object) array ( ) - TypeError Unsupported operand type object for comparison +(object) array ( ) <= (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for comparison +(object) array ( ) <= (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for comparison +(object) array ( ) <= DateTime - TypeError Unsupported operand type object for comparison +(object) array ( ) <= resource - TypeError Unsupported operand type object for comparison +(object) array ( ) <= NULL - TypeError Unsupported operand type object for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) <= false - TypeError Unsupported operand type object for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) <= true - TypeError Unsupported operand type object for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) <= 0 - TypeError Unsupported operand type object for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) <= 10 - TypeError Unsupported operand type object for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) <= 0.0 - TypeError Unsupported operand type object for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) <= 10.0 - TypeError Unsupported operand type object for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) <= 3.14 - TypeError Unsupported operand type object for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) <= '0' - TypeError Unsupported operand type object for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) <= '10' - TypeError Unsupported operand type object for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) <= '010' - TypeError Unsupported operand type object for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) <= '10 elephants' - TypeError Unsupported operand type object for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) <= 'foo' - TypeError Unsupported operand type object for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) <= array ( ) - TypeError Unsupported operand type object for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) <= array ( 0 => 1 ) - TypeError Unsupported operand type object for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) <= array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type object for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) <= array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) <= array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) <= (object) array ( ) - TypeError Unsupported operand type object for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) <= (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) <= (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) <= DateTime - TypeError Unsupported operand type object for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) <= resource - TypeError Unsupported operand type object for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) <= NULL - TypeError Unsupported operand type object for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) <= false - TypeError Unsupported operand type object for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) <= true - TypeError Unsupported operand type object for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) <= 0 - TypeError Unsupported operand type object for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) <= 10 - TypeError Unsupported operand type object for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) <= 0.0 - TypeError Unsupported operand type object for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) <= 10.0 - TypeError Unsupported operand type object for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) <= 3.14 - TypeError Unsupported operand type object for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) <= '0' - TypeError Unsupported operand type object for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) <= '10' - TypeError Unsupported operand type object for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) <= '010' - TypeError Unsupported operand type object for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) <= '10 elephants' - TypeError Unsupported operand type object for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) <= 'foo' - TypeError Unsupported operand type object for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) <= array ( ) - TypeError Unsupported operand type object for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) <= array ( 0 => 1 ) - TypeError Unsupported operand type object for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) <= array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type object for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) <= array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) <= array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) <= (object) array ( ) - TypeError Unsupported operand type object for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) <= (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) <= (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) <= DateTime - TypeError Unsupported operand type object for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) <= resource - TypeError Unsupported operand type object for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) <= NULL - TypeError Unsupported operand type object for comparison +DateTime <= false - TypeError Unsupported operand type object for comparison +DateTime <= true - TypeError Unsupported operand type object for comparison +DateTime <= 0 - TypeError Unsupported operand type object for comparison +DateTime <= 10 - TypeError Unsupported operand type object for comparison +DateTime <= 0.0 - TypeError Unsupported operand type object for comparison +DateTime <= 10.0 - TypeError Unsupported operand type object for comparison +DateTime <= 3.14 - TypeError Unsupported operand type object for comparison +DateTime <= '0' - TypeError Unsupported operand type object for comparison +DateTime <= '10' - TypeError Unsupported operand type object for comparison +DateTime <= '010' - TypeError Unsupported operand type object for comparison +DateTime <= '10 elephants' - TypeError Unsupported operand type object for comparison +DateTime <= 'foo' - TypeError Unsupported operand type object for comparison +DateTime <= array ( ) - TypeError Unsupported operand type object for comparison +DateTime <= array ( 0 => 1 ) - TypeError Unsupported operand type object for comparison +DateTime <= array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type object for comparison +DateTime <= array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for comparison +DateTime <= array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for comparison +DateTime <= (object) array ( ) - TypeError Unsupported operand type object for comparison +DateTime <= (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for comparison +DateTime <= (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for comparison +DateTime <= DateTime - TypeError Unsupported operand type object for comparison +DateTime <= resource - TypeError Unsupported operand type object for comparison +DateTime <= NULL - TypeError Unsupported operand type object for comparison +resource <= false - TypeError Unsupported operand type resource for comparison +resource <= true - TypeError Unsupported operand type resource for comparison +resource <= 0 - TypeError Unsupported operand type resource for comparison +resource <= 10 - TypeError Unsupported operand type resource for comparison +resource <= 0.0 - TypeError Unsupported operand type resource for comparison +resource <= 10.0 - TypeError Unsupported operand type resource for comparison +resource <= 3.14 - TypeError Unsupported operand type resource for comparison +resource <= '0' - TypeError Unsupported operand type resource for comparison +resource <= '10' - TypeError Unsupported operand type resource for comparison +resource <= '010' - TypeError Unsupported operand type resource for comparison +resource <= '10 elephants' - TypeError Unsupported operand type resource for comparison +resource <= 'foo' - TypeError Unsupported operand type resource for comparison +resource <= array ( ) - TypeError Unsupported operand type resource for comparison +resource <= array ( 0 => 1 ) - TypeError Unsupported operand type resource for comparison +resource <= array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type resource for comparison +resource <= array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type resource for comparison +resource <= array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type resource for comparison +resource <= (object) array ( ) - TypeError Unsupported operand type resource for comparison +resource <= (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type resource for comparison +resource <= (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type resource for comparison +resource <= DateTime - TypeError Unsupported operand type resource for comparison +resource <= resource - TypeError Unsupported operand type resource for comparison +resource <= NULL - TypeError Unsupported operand type resource for comparison +NULL <= false - TypeError Unsupported operand type null for comparison +NULL <= true - TypeError Unsupported operand type null for comparison +NULL <= 0 - TypeError Unsupported operand type null for comparison +NULL <= 10 - TypeError Unsupported operand type null for comparison +NULL <= 0.0 - TypeError Unsupported operand type null for comparison +NULL <= 10.0 - TypeError Unsupported operand type null for comparison +NULL <= 3.14 - TypeError Unsupported operand type null for comparison +NULL <= '0' - TypeError Unsupported operand type null for comparison +NULL <= '10' - TypeError Unsupported operand type null for comparison +NULL <= '010' - TypeError Unsupported operand type null for comparison +NULL <= '10 elephants' - TypeError Unsupported operand type null for comparison +NULL <= 'foo' - TypeError Unsupported operand type null for comparison +NULL <= array ( ) - TypeError Unsupported operand type null for comparison +NULL <= array ( 0 => 1 ) - TypeError Unsupported operand type null for comparison +NULL <= array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type null for comparison +NULL <= array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type null for comparison +NULL <= array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type null for comparison +NULL <= (object) array ( ) - TypeError Unsupported operand type null for comparison +NULL <= (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type null for comparison +NULL <= (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type null for comparison +NULL <= DateTime - TypeError Unsupported operand type null for comparison +NULL <= resource - TypeError Unsupported operand type null for comparison +NULL <= NULL - TypeError Unsupported operand type null for comparison \ No newline at end of file diff --git a/Zend/tests/operators/comparison/not_equal.phpt b/Zend/tests/operators/comparison/not_equal.phpt new file mode 100644 index 000000000000..248f2c033024 --- /dev/null +++ b/Zend/tests/operators/comparison/not_equal.phpt @@ -0,0 +1,540 @@ +--TEST-- +not equal '!=' operator +--FILE-- + 1 ) = true +false != array ( 0 => 1, 1 => 100 ) = true +false != array ( 'foo' => 1, 'bar' => 2 ) = true +false != array ( 'bar' => 1, 'foo' => 2 ) = true +false != (object) array ( ) = true +false != (object) array ( 'foo' => 1, 'bar' => 2 ) = true +false != (object) array ( 'bar' => 1, 'foo' => 2 ) = true +false != DateTime = true +false != resource = true +false != NULL = false +true != false = true +true != true = false +true != 0 = true +true != 10 = false +true != 0.0 = true +true != 10.0 = false +true != 3.14 = false +true != '0' = true +true != '10' = false +true != '010' = false +true != '10 elephants' = false +true != 'foo' = false +true != array ( ) = true +true != array ( 0 => 1 ) = false +true != array ( 0 => 1, 1 => 100 ) = false +true != array ( 'foo' => 1, 'bar' => 2 ) = false +true != array ( 'bar' => 1, 'foo' => 2 ) = false +true != (object) array ( ) = false +true != (object) array ( 'foo' => 1, 'bar' => 2 ) = false +true != (object) array ( 'bar' => 1, 'foo' => 2 ) = false +true != DateTime = false +true != resource = false +true != NULL = true +0 != false = false +0 != true = true +0 != 0 = false +0 != 10 = true +0 != 0.0 = false +0 != 10.0 = true +0 != 3.14 = true +0 != '0' = false +0 != '10' = true +0 != '010' = true +0 != '10 elephants' = true +0 != 'foo' = false +0 != array ( ) = true +0 != array ( 0 => 1 ) = true +0 != array ( 0 => 1, 1 => 100 ) = true +0 != array ( 'foo' => 1, 'bar' => 2 ) = true +0 != array ( 'bar' => 1, 'foo' => 2 ) = true +0 != (object) array ( ) = true - Notice Object of class stdClass could not be converted to int +0 != (object) array ( 'foo' => 1, 'bar' => 2 ) = true - Notice Object of class stdClass could not be converted to int +0 != (object) array ( 'bar' => 1, 'foo' => 2 ) = true - Notice Object of class stdClass could not be converted to int +0 != DateTime = true - Notice Object of class DateTime could not be converted to int +0 != resource = true +0 != NULL = false +10 != false = true +10 != true = false +10 != 0 = true +10 != 10 = false +10 != 0.0 = true +10 != 10.0 = false +10 != 3.14 = true +10 != '0' = true +10 != '10' = false +10 != '010' = false +10 != '10 elephants' = false +10 != 'foo' = true +10 != array ( ) = true +10 != array ( 0 => 1 ) = true +10 != array ( 0 => 1, 1 => 100 ) = true +10 != array ( 'foo' => 1, 'bar' => 2 ) = true +10 != array ( 'bar' => 1, 'foo' => 2 ) = true +10 != (object) array ( ) = true - Notice Object of class stdClass could not be converted to int +10 != (object) array ( 'foo' => 1, 'bar' => 2 ) = true - Notice Object of class stdClass could not be converted to int +10 != (object) array ( 'bar' => 1, 'foo' => 2 ) = true - Notice Object of class stdClass could not be converted to int +10 != DateTime = true - Notice Object of class DateTime could not be converted to int +10 != resource = true +10 != NULL = true +0.0 != false = false +0.0 != true = true +0.0 != 0 = false +0.0 != 10 = true +0.0 != 0.0 = false +0.0 != 10.0 = true +0.0 != 3.14 = true +0.0 != '0' = false +0.0 != '10' = true +0.0 != '010' = true +0.0 != '10 elephants' = true +0.0 != 'foo' = false +0.0 != array ( ) = true +0.0 != array ( 0 => 1 ) = true +0.0 != array ( 0 => 1, 1 => 100 ) = true +0.0 != array ( 'foo' => 1, 'bar' => 2 ) = true +0.0 != array ( 'bar' => 1, 'foo' => 2 ) = true +0.0 != (object) array ( ) = true - Notice Object of class stdClass could not be converted to float +0.0 != (object) array ( 'foo' => 1, 'bar' => 2 ) = true - Notice Object of class stdClass could not be converted to float +0.0 != (object) array ( 'bar' => 1, 'foo' => 2 ) = true - Notice Object of class stdClass could not be converted to float +0.0 != DateTime = true - Notice Object of class DateTime could not be converted to float +0.0 != resource = true +0.0 != NULL = false +10.0 != false = true +10.0 != true = false +10.0 != 0 = true +10.0 != 10 = false +10.0 != 0.0 = true +10.0 != 10.0 = false +10.0 != 3.14 = true +10.0 != '0' = true +10.0 != '10' = false +10.0 != '010' = false +10.0 != '10 elephants' = false +10.0 != 'foo' = true +10.0 != array ( ) = true +10.0 != array ( 0 => 1 ) = true +10.0 != array ( 0 => 1, 1 => 100 ) = true +10.0 != array ( 'foo' => 1, 'bar' => 2 ) = true +10.0 != array ( 'bar' => 1, 'foo' => 2 ) = true +10.0 != (object) array ( ) = true - Notice Object of class stdClass could not be converted to float +10.0 != (object) array ( 'foo' => 1, 'bar' => 2 ) = true - Notice Object of class stdClass could not be converted to float +10.0 != (object) array ( 'bar' => 1, 'foo' => 2 ) = true - Notice Object of class stdClass could not be converted to float +10.0 != DateTime = true - Notice Object of class DateTime could not be converted to float +10.0 != resource = true +10.0 != NULL = true +3.14 != false = true +3.14 != true = false +3.14 != 0 = true +3.14 != 10 = true +3.14 != 0.0 = true +3.14 != 10.0 = true +3.14 != 3.14 = false +3.14 != '0' = true +3.14 != '10' = true +3.14 != '010' = true +3.14 != '10 elephants' = true +3.14 != 'foo' = true +3.14 != array ( ) = true +3.14 != array ( 0 => 1 ) = true +3.14 != array ( 0 => 1, 1 => 100 ) = true +3.14 != array ( 'foo' => 1, 'bar' => 2 ) = true +3.14 != array ( 'bar' => 1, 'foo' => 2 ) = true +3.14 != (object) array ( ) = true - Notice Object of class stdClass could not be converted to float +3.14 != (object) array ( 'foo' => 1, 'bar' => 2 ) = true - Notice Object of class stdClass could not be converted to float +3.14 != (object) array ( 'bar' => 1, 'foo' => 2 ) = true - Notice Object of class stdClass could not be converted to float +3.14 != DateTime = true - Notice Object of class DateTime could not be converted to float +3.14 != resource = true +3.14 != NULL = true +'0' != false = false +'0' != true = true +'0' != 0 = false +'0' != 10 = true +'0' != 0.0 = false +'0' != 10.0 = true +'0' != 3.14 = true +'0' != '0' = false +'0' != '10' = true +'0' != '010' = true +'0' != '10 elephants' = true +'0' != 'foo' = true +'0' != array ( ) = true +'0' != array ( 0 => 1 ) = true +'0' != array ( 0 => 1, 1 => 100 ) = true +'0' != array ( 'foo' => 1, 'bar' => 2 ) = true +'0' != array ( 'bar' => 1, 'foo' => 2 ) = true +'0' != (object) array ( ) = true +'0' != (object) array ( 'foo' => 1, 'bar' => 2 ) = true +'0' != (object) array ( 'bar' => 1, 'foo' => 2 ) = true +'0' != DateTime = true +'0' != resource = true +'0' != NULL = true +'10' != false = true +'10' != true = false +'10' != 0 = true +'10' != 10 = false +'10' != 0.0 = true +'10' != 10.0 = false +'10' != 3.14 = true +'10' != '0' = true +'10' != '10' = false +'10' != '010' = false +'10' != '10 elephants' = true +'10' != 'foo' = true +'10' != array ( ) = true +'10' != array ( 0 => 1 ) = true +'10' != array ( 0 => 1, 1 => 100 ) = true +'10' != array ( 'foo' => 1, 'bar' => 2 ) = true +'10' != array ( 'bar' => 1, 'foo' => 2 ) = true +'10' != (object) array ( ) = true +'10' != (object) array ( 'foo' => 1, 'bar' => 2 ) = true +'10' != (object) array ( 'bar' => 1, 'foo' => 2 ) = true +'10' != DateTime = true +'10' != resource = true +'10' != NULL = true +'010' != false = true +'010' != true = false +'010' != 0 = true +'010' != 10 = false +'010' != 0.0 = true +'010' != 10.0 = false +'010' != 3.14 = true +'010' != '0' = true +'010' != '10' = false +'010' != '010' = false +'010' != '10 elephants' = true +'010' != 'foo' = true +'010' != array ( ) = true +'010' != array ( 0 => 1 ) = true +'010' != array ( 0 => 1, 1 => 100 ) = true +'010' != array ( 'foo' => 1, 'bar' => 2 ) = true +'010' != array ( 'bar' => 1, 'foo' => 2 ) = true +'010' != (object) array ( ) = true +'010' != (object) array ( 'foo' => 1, 'bar' => 2 ) = true +'010' != (object) array ( 'bar' => 1, 'foo' => 2 ) = true +'010' != DateTime = true +'010' != resource = true +'010' != NULL = true +'10 elephants' != false = true +'10 elephants' != true = false +'10 elephants' != 0 = true +'10 elephants' != 10 = false +'10 elephants' != 0.0 = true +'10 elephants' != 10.0 = false +'10 elephants' != 3.14 = true +'10 elephants' != '0' = true +'10 elephants' != '10' = true +'10 elephants' != '010' = true +'10 elephants' != '10 elephants' = false +'10 elephants' != 'foo' = true +'10 elephants' != array ( ) = true +'10 elephants' != array ( 0 => 1 ) = true +'10 elephants' != array ( 0 => 1, 1 => 100 ) = true +'10 elephants' != array ( 'foo' => 1, 'bar' => 2 ) = true +'10 elephants' != array ( 'bar' => 1, 'foo' => 2 ) = true +'10 elephants' != (object) array ( ) = true +'10 elephants' != (object) array ( 'foo' => 1, 'bar' => 2 ) = true +'10 elephants' != (object) array ( 'bar' => 1, 'foo' => 2 ) = true +'10 elephants' != DateTime = true +'10 elephants' != resource = true +'10 elephants' != NULL = true +'foo' != false = true +'foo' != true = false +'foo' != 0 = false +'foo' != 10 = true +'foo' != 0.0 = false +'foo' != 10.0 = true +'foo' != 3.14 = true +'foo' != '0' = true +'foo' != '10' = true +'foo' != '010' = true +'foo' != '10 elephants' = true +'foo' != 'foo' = false +'foo' != array ( ) = true +'foo' != array ( 0 => 1 ) = true +'foo' != array ( 0 => 1, 1 => 100 ) = true +'foo' != array ( 'foo' => 1, 'bar' => 2 ) = true +'foo' != array ( 'bar' => 1, 'foo' => 2 ) = true +'foo' != (object) array ( ) = true +'foo' != (object) array ( 'foo' => 1, 'bar' => 2 ) = true +'foo' != (object) array ( 'bar' => 1, 'foo' => 2 ) = true +'foo' != DateTime = true +'foo' != resource = true +'foo' != NULL = true +array ( ) != false = false +array ( ) != true = true +array ( ) != 0 = true +array ( ) != 10 = true +array ( ) != 0.0 = true +array ( ) != 10.0 = true +array ( ) != 3.14 = true +array ( ) != '0' = true +array ( ) != '10' = true +array ( ) != '010' = true +array ( ) != '10 elephants' = true +array ( ) != 'foo' = true +array ( ) != array ( ) = false +array ( ) != array ( 0 => 1 ) = true +array ( ) != array ( 0 => 1, 1 => 100 ) = true +array ( ) != array ( 'foo' => 1, 'bar' => 2 ) = true +array ( ) != array ( 'bar' => 1, 'foo' => 2 ) = true +array ( ) != (object) array ( ) = true +array ( ) != (object) array ( 'foo' => 1, 'bar' => 2 ) = true +array ( ) != (object) array ( 'bar' => 1, 'foo' => 2 ) = true +array ( ) != DateTime = true +array ( ) != resource = true +array ( ) != NULL = false +array ( 0 => 1 ) != false = true +array ( 0 => 1 ) != true = false +array ( 0 => 1 ) != 0 = true +array ( 0 => 1 ) != 10 = true +array ( 0 => 1 ) != 0.0 = true +array ( 0 => 1 ) != 10.0 = true +array ( 0 => 1 ) != 3.14 = true +array ( 0 => 1 ) != '0' = true +array ( 0 => 1 ) != '10' = true +array ( 0 => 1 ) != '010' = true +array ( 0 => 1 ) != '10 elephants' = true +array ( 0 => 1 ) != 'foo' = true +array ( 0 => 1 ) != array ( ) = true +array ( 0 => 1 ) != array ( 0 => 1 ) = false +array ( 0 => 1 ) != array ( 0 => 1, 1 => 100 ) = true +array ( 0 => 1 ) != array ( 'foo' => 1, 'bar' => 2 ) = true +array ( 0 => 1 ) != array ( 'bar' => 1, 'foo' => 2 ) = true +array ( 0 => 1 ) != (object) array ( ) = true +array ( 0 => 1 ) != (object) array ( 'foo' => 1, 'bar' => 2 ) = true +array ( 0 => 1 ) != (object) array ( 'bar' => 1, 'foo' => 2 ) = true +array ( 0 => 1 ) != DateTime = true +array ( 0 => 1 ) != resource = true +array ( 0 => 1 ) != NULL = true +array ( 0 => 1, 1 => 100 ) != false = true +array ( 0 => 1, 1 => 100 ) != true = false +array ( 0 => 1, 1 => 100 ) != 0 = true +array ( 0 => 1, 1 => 100 ) != 10 = true +array ( 0 => 1, 1 => 100 ) != 0.0 = true +array ( 0 => 1, 1 => 100 ) != 10.0 = true +array ( 0 => 1, 1 => 100 ) != 3.14 = true +array ( 0 => 1, 1 => 100 ) != '0' = true +array ( 0 => 1, 1 => 100 ) != '10' = true +array ( 0 => 1, 1 => 100 ) != '010' = true +array ( 0 => 1, 1 => 100 ) != '10 elephants' = true +array ( 0 => 1, 1 => 100 ) != 'foo' = true +array ( 0 => 1, 1 => 100 ) != array ( ) = true +array ( 0 => 1, 1 => 100 ) != array ( 0 => 1 ) = true +array ( 0 => 1, 1 => 100 ) != array ( 0 => 1, 1 => 100 ) = false +array ( 0 => 1, 1 => 100 ) != array ( 'foo' => 1, 'bar' => 2 ) = true +array ( 0 => 1, 1 => 100 ) != array ( 'bar' => 1, 'foo' => 2 ) = true +array ( 0 => 1, 1 => 100 ) != (object) array ( ) = true +array ( 0 => 1, 1 => 100 ) != (object) array ( 'foo' => 1, 'bar' => 2 ) = true +array ( 0 => 1, 1 => 100 ) != (object) array ( 'bar' => 1, 'foo' => 2 ) = true +array ( 0 => 1, 1 => 100 ) != DateTime = true +array ( 0 => 1, 1 => 100 ) != resource = true +array ( 0 => 1, 1 => 100 ) != NULL = true +array ( 'foo' => 1, 'bar' => 2 ) != false = true +array ( 'foo' => 1, 'bar' => 2 ) != true = false +array ( 'foo' => 1, 'bar' => 2 ) != 0 = true +array ( 'foo' => 1, 'bar' => 2 ) != 10 = true +array ( 'foo' => 1, 'bar' => 2 ) != 0.0 = true +array ( 'foo' => 1, 'bar' => 2 ) != 10.0 = true +array ( 'foo' => 1, 'bar' => 2 ) != 3.14 = true +array ( 'foo' => 1, 'bar' => 2 ) != '0' = true +array ( 'foo' => 1, 'bar' => 2 ) != '10' = true +array ( 'foo' => 1, 'bar' => 2 ) != '010' = true +array ( 'foo' => 1, 'bar' => 2 ) != '10 elephants' = true +array ( 'foo' => 1, 'bar' => 2 ) != 'foo' = true +array ( 'foo' => 1, 'bar' => 2 ) != array ( ) = true +array ( 'foo' => 1, 'bar' => 2 ) != array ( 0 => 1 ) = true +array ( 'foo' => 1, 'bar' => 2 ) != array ( 0 => 1, 1 => 100 ) = true +array ( 'foo' => 1, 'bar' => 2 ) != array ( 'foo' => 1, 'bar' => 2 ) = false +array ( 'foo' => 1, 'bar' => 2 ) != array ( 'bar' => 1, 'foo' => 2 ) = true +array ( 'foo' => 1, 'bar' => 2 ) != (object) array ( ) = true +array ( 'foo' => 1, 'bar' => 2 ) != (object) array ( 'foo' => 1, 'bar' => 2 ) = true +array ( 'foo' => 1, 'bar' => 2 ) != (object) array ( 'bar' => 1, 'foo' => 2 ) = true +array ( 'foo' => 1, 'bar' => 2 ) != DateTime = true +array ( 'foo' => 1, 'bar' => 2 ) != resource = true +array ( 'foo' => 1, 'bar' => 2 ) != NULL = true +array ( 'bar' => 1, 'foo' => 2 ) != false = true +array ( 'bar' => 1, 'foo' => 2 ) != true = false +array ( 'bar' => 1, 'foo' => 2 ) != 0 = true +array ( 'bar' => 1, 'foo' => 2 ) != 10 = true +array ( 'bar' => 1, 'foo' => 2 ) != 0.0 = true +array ( 'bar' => 1, 'foo' => 2 ) != 10.0 = true +array ( 'bar' => 1, 'foo' => 2 ) != 3.14 = true +array ( 'bar' => 1, 'foo' => 2 ) != '0' = true +array ( 'bar' => 1, 'foo' => 2 ) != '10' = true +array ( 'bar' => 1, 'foo' => 2 ) != '010' = true +array ( 'bar' => 1, 'foo' => 2 ) != '10 elephants' = true +array ( 'bar' => 1, 'foo' => 2 ) != 'foo' = true +array ( 'bar' => 1, 'foo' => 2 ) != array ( ) = true +array ( 'bar' => 1, 'foo' => 2 ) != array ( 0 => 1 ) = true +array ( 'bar' => 1, 'foo' => 2 ) != array ( 0 => 1, 1 => 100 ) = true +array ( 'bar' => 1, 'foo' => 2 ) != array ( 'foo' => 1, 'bar' => 2 ) = true +array ( 'bar' => 1, 'foo' => 2 ) != array ( 'bar' => 1, 'foo' => 2 ) = false +array ( 'bar' => 1, 'foo' => 2 ) != (object) array ( ) = true +array ( 'bar' => 1, 'foo' => 2 ) != (object) array ( 'foo' => 1, 'bar' => 2 ) = true +array ( 'bar' => 1, 'foo' => 2 ) != (object) array ( 'bar' => 1, 'foo' => 2 ) = true +array ( 'bar' => 1, 'foo' => 2 ) != DateTime = true +array ( 'bar' => 1, 'foo' => 2 ) != resource = true +array ( 'bar' => 1, 'foo' => 2 ) != NULL = true +(object) array ( ) != false = true +(object) array ( ) != true = false +(object) array ( ) != 0 = true - Notice Object of class stdClass could not be converted to int +(object) array ( ) != 10 = true - Notice Object of class stdClass could not be converted to int +(object) array ( ) != 0.0 = true - Notice Object of class stdClass could not be converted to float +(object) array ( ) != 10.0 = true - Notice Object of class stdClass could not be converted to float +(object) array ( ) != 3.14 = true - Notice Object of class stdClass could not be converted to float +(object) array ( ) != '0' = true +(object) array ( ) != '10' = true +(object) array ( ) != '010' = true +(object) array ( ) != '10 elephants' = true +(object) array ( ) != 'foo' = true +(object) array ( ) != array ( ) = true +(object) array ( ) != array ( 0 => 1 ) = true +(object) array ( ) != array ( 0 => 1, 1 => 100 ) = true +(object) array ( ) != array ( 'foo' => 1, 'bar' => 2 ) = true +(object) array ( ) != array ( 'bar' => 1, 'foo' => 2 ) = true +(object) array ( ) != (object) array ( ) = false +(object) array ( ) != (object) array ( 'foo' => 1, 'bar' => 2 ) = true +(object) array ( ) != (object) array ( 'bar' => 1, 'foo' => 2 ) = true +(object) array ( ) != DateTime = true +(object) array ( ) != resource = true +(object) array ( ) != NULL = true +(object) array ( 'foo' => 1, 'bar' => 2 ) != false = true +(object) array ( 'foo' => 1, 'bar' => 2 ) != true = false +(object) array ( 'foo' => 1, 'bar' => 2 ) != 0 = true - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) != 10 = true - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) != 0.0 = true - Notice Object of class stdClass could not be converted to float +(object) array ( 'foo' => 1, 'bar' => 2 ) != 10.0 = true - Notice Object of class stdClass could not be converted to float +(object) array ( 'foo' => 1, 'bar' => 2 ) != 3.14 = true - Notice Object of class stdClass could not be converted to float +(object) array ( 'foo' => 1, 'bar' => 2 ) != '0' = true +(object) array ( 'foo' => 1, 'bar' => 2 ) != '10' = true +(object) array ( 'foo' => 1, 'bar' => 2 ) != '010' = true +(object) array ( 'foo' => 1, 'bar' => 2 ) != '10 elephants' = true +(object) array ( 'foo' => 1, 'bar' => 2 ) != 'foo' = true +(object) array ( 'foo' => 1, 'bar' => 2 ) != array ( ) = true +(object) array ( 'foo' => 1, 'bar' => 2 ) != array ( 0 => 1 ) = true +(object) array ( 'foo' => 1, 'bar' => 2 ) != array ( 0 => 1, 1 => 100 ) = true +(object) array ( 'foo' => 1, 'bar' => 2 ) != array ( 'foo' => 1, 'bar' => 2 ) = true +(object) array ( 'foo' => 1, 'bar' => 2 ) != array ( 'bar' => 1, 'foo' => 2 ) = true +(object) array ( 'foo' => 1, 'bar' => 2 ) != (object) array ( ) = true +(object) array ( 'foo' => 1, 'bar' => 2 ) != (object) array ( 'foo' => 1, 'bar' => 2 ) = false +(object) array ( 'foo' => 1, 'bar' => 2 ) != (object) array ( 'bar' => 1, 'foo' => 2 ) = true +(object) array ( 'foo' => 1, 'bar' => 2 ) != DateTime = true +(object) array ( 'foo' => 1, 'bar' => 2 ) != resource = true +(object) array ( 'foo' => 1, 'bar' => 2 ) != NULL = true +(object) array ( 'bar' => 1, 'foo' => 2 ) != false = true +(object) array ( 'bar' => 1, 'foo' => 2 ) != true = false +(object) array ( 'bar' => 1, 'foo' => 2 ) != 0 = true - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) != 10 = true - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) != 0.0 = true - Notice Object of class stdClass could not be converted to float +(object) array ( 'bar' => 1, 'foo' => 2 ) != 10.0 = true - Notice Object of class stdClass could not be converted to float +(object) array ( 'bar' => 1, 'foo' => 2 ) != 3.14 = true - Notice Object of class stdClass could not be converted to float +(object) array ( 'bar' => 1, 'foo' => 2 ) != '0' = true +(object) array ( 'bar' => 1, 'foo' => 2 ) != '10' = true +(object) array ( 'bar' => 1, 'foo' => 2 ) != '010' = true +(object) array ( 'bar' => 1, 'foo' => 2 ) != '10 elephants' = true +(object) array ( 'bar' => 1, 'foo' => 2 ) != 'foo' = true +(object) array ( 'bar' => 1, 'foo' => 2 ) != array ( ) = true +(object) array ( 'bar' => 1, 'foo' => 2 ) != array ( 0 => 1 ) = true +(object) array ( 'bar' => 1, 'foo' => 2 ) != array ( 0 => 1, 1 => 100 ) = true +(object) array ( 'bar' => 1, 'foo' => 2 ) != array ( 'foo' => 1, 'bar' => 2 ) = true +(object) array ( 'bar' => 1, 'foo' => 2 ) != array ( 'bar' => 1, 'foo' => 2 ) = true +(object) array ( 'bar' => 1, 'foo' => 2 ) != (object) array ( ) = true +(object) array ( 'bar' => 1, 'foo' => 2 ) != (object) array ( 'foo' => 1, 'bar' => 2 ) = true +(object) array ( 'bar' => 1, 'foo' => 2 ) != (object) array ( 'bar' => 1, 'foo' => 2 ) = false +(object) array ( 'bar' => 1, 'foo' => 2 ) != DateTime = true +(object) array ( 'bar' => 1, 'foo' => 2 ) != resource = true +(object) array ( 'bar' => 1, 'foo' => 2 ) != NULL = true +DateTime != false = true +DateTime != true = false +DateTime != 0 = true - Notice Object of class DateTime could not be converted to int +DateTime != 10 = true - Notice Object of class DateTime could not be converted to int +DateTime != 0.0 = true - Notice Object of class DateTime could not be converted to float +DateTime != 10.0 = true - Notice Object of class DateTime could not be converted to float +DateTime != 3.14 = true - Notice Object of class DateTime could not be converted to float +DateTime != '0' = true +DateTime != '10' = true +DateTime != '010' = true +DateTime != '10 elephants' = true +DateTime != 'foo' = true +DateTime != array ( ) = true +DateTime != array ( 0 => 1 ) = true +DateTime != array ( 0 => 1, 1 => 100 ) = true +DateTime != array ( 'foo' => 1, 'bar' => 2 ) = true +DateTime != array ( 'bar' => 1, 'foo' => 2 ) = true +DateTime != (object) array ( ) = true +DateTime != (object) array ( 'foo' => 1, 'bar' => 2 ) = true +DateTime != (object) array ( 'bar' => 1, 'foo' => 2 ) = true +DateTime != DateTime = false +DateTime != resource = true +DateTime != NULL = true +resource != false = true +resource != true = false +resource != 0 = true +resource != 10 = true +resource != 0.0 = true +resource != 10.0 = true +resource != 3.14 = true +resource != '0' = true +resource != '10' = true +resource != '010' = true +resource != '10 elephants' = true +resource != 'foo' = true +resource != array ( ) = true +resource != array ( 0 => 1 ) = true +resource != array ( 0 => 1, 1 => 100 ) = true +resource != array ( 'foo' => 1, 'bar' => 2 ) = true +resource != array ( 'bar' => 1, 'foo' => 2 ) = true +resource != (object) array ( ) = true +resource != (object) array ( 'foo' => 1, 'bar' => 2 ) = true +resource != (object) array ( 'bar' => 1, 'foo' => 2 ) = true +resource != DateTime = true +resource != resource = false +resource != NULL = true +NULL != false = false +NULL != true = true +NULL != 0 = false +NULL != 10 = true +NULL != 0.0 = false +NULL != 10.0 = true +NULL != 3.14 = true +NULL != '0' = true +NULL != '10' = true +NULL != '010' = true +NULL != '10 elephants' = true +NULL != 'foo' = true +NULL != array ( ) = false +NULL != array ( 0 => 1 ) = true +NULL != array ( 0 => 1, 1 => 100 ) = true +NULL != array ( 'foo' => 1, 'bar' => 2 ) = true +NULL != array ( 'bar' => 1, 'foo' => 2 ) = true +NULL != (object) array ( ) = true +NULL != (object) array ( 'foo' => 1, 'bar' => 2 ) = true +NULL != (object) array ( 'bar' => 1, 'foo' => 2 ) = true +NULL != DateTime = true +NULL != resource = true +NULL != NULL = false \ No newline at end of file diff --git a/Zend/tests/operators/comparison/not_equal_strict.phpt b/Zend/tests/operators/comparison/not_equal_strict.phpt new file mode 100644 index 000000000000..5c5b59991121 --- /dev/null +++ b/Zend/tests/operators/comparison/not_equal_strict.phpt @@ -0,0 +1,542 @@ +--TEST-- +not equal '!=' operator with strict_operators +--FILE-- + 1 ) - TypeError Operand type mismatch bool and array for comparison +false != array ( 0 => 1, 1 => 100 ) - TypeError Operand type mismatch bool and array for comparison +false != array ( 'foo' => 1, 'bar' => 2 ) - TypeError Operand type mismatch bool and array for comparison +false != array ( 'bar' => 1, 'foo' => 2 ) - TypeError Operand type mismatch bool and array for comparison +false != (object) array ( ) - TypeError Operand type mismatch bool and object for comparison +false != (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Operand type mismatch bool and object for comparison +false != (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Operand type mismatch bool and object for comparison +false != DateTime - TypeError Operand type mismatch bool and object for comparison +false != resource - TypeError Operand type mismatch bool and resource for comparison +false != NULL - TypeError Operand type mismatch bool and null for comparison +true != false = true +true != true = false +true != 0 - TypeError Operand type mismatch bool and int for comparison +true != 10 - TypeError Operand type mismatch bool and int for comparison +true != 0.0 - TypeError Operand type mismatch bool and float for comparison +true != 10.0 - TypeError Operand type mismatch bool and float for comparison +true != 3.14 - TypeError Operand type mismatch bool and float for comparison +true != '0' - TypeError Operand type mismatch bool and string for comparison +true != '10' - TypeError Operand type mismatch bool and string for comparison +true != '010' - TypeError Operand type mismatch bool and string for comparison +true != '10 elephants' - TypeError Operand type mismatch bool and string for comparison +true != 'foo' - TypeError Operand type mismatch bool and string for comparison +true != array ( ) - TypeError Operand type mismatch bool and array for comparison +true != array ( 0 => 1 ) - TypeError Operand type mismatch bool and array for comparison +true != array ( 0 => 1, 1 => 100 ) - TypeError Operand type mismatch bool and array for comparison +true != array ( 'foo' => 1, 'bar' => 2 ) - TypeError Operand type mismatch bool and array for comparison +true != array ( 'bar' => 1, 'foo' => 2 ) - TypeError Operand type mismatch bool and array for comparison +true != (object) array ( ) - TypeError Operand type mismatch bool and object for comparison +true != (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Operand type mismatch bool and object for comparison +true != (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Operand type mismatch bool and object for comparison +true != DateTime - TypeError Operand type mismatch bool and object for comparison +true != resource - TypeError Operand type mismatch bool and resource for comparison +true != NULL - TypeError Operand type mismatch bool and null for comparison +0 != false - TypeError Operand type mismatch int and bool for comparison +0 != true - TypeError Operand type mismatch int and bool for comparison +0 != 0 = false +0 != 10 = true +0 != 0.0 = false +0 != 10.0 = true +0 != 3.14 = true +0 != '0' - TypeError Operand type mismatch int and string for comparison +0 != '10' - TypeError Operand type mismatch int and string for comparison +0 != '010' - TypeError Operand type mismatch int and string for comparison +0 != '10 elephants' - TypeError Operand type mismatch int and string for comparison +0 != 'foo' - TypeError Operand type mismatch int and string for comparison +0 != array ( ) - TypeError Operand type mismatch int and array for comparison +0 != array ( 0 => 1 ) - TypeError Operand type mismatch int and array for comparison +0 != array ( 0 => 1, 1 => 100 ) - TypeError Operand type mismatch int and array for comparison +0 != array ( 'foo' => 1, 'bar' => 2 ) - TypeError Operand type mismatch int and array for comparison +0 != array ( 'bar' => 1, 'foo' => 2 ) - TypeError Operand type mismatch int and array for comparison +0 != (object) array ( ) - TypeError Operand type mismatch int and object for comparison +0 != (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Operand type mismatch int and object for comparison +0 != (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Operand type mismatch int and object for comparison +0 != DateTime - TypeError Operand type mismatch int and object for comparison +0 != resource - TypeError Operand type mismatch int and resource for comparison +0 != NULL - TypeError Operand type mismatch int and null for comparison +10 != false - TypeError Operand type mismatch int and bool for comparison +10 != true - TypeError Operand type mismatch int and bool for comparison +10 != 0 = true +10 != 10 = false +10 != 0.0 = true +10 != 10.0 = false +10 != 3.14 = true +10 != '0' - TypeError Operand type mismatch int and string for comparison +10 != '10' - TypeError Operand type mismatch int and string for comparison +10 != '010' - TypeError Operand type mismatch int and string for comparison +10 != '10 elephants' - TypeError Operand type mismatch int and string for comparison +10 != 'foo' - TypeError Operand type mismatch int and string for comparison +10 != array ( ) - TypeError Operand type mismatch int and array for comparison +10 != array ( 0 => 1 ) - TypeError Operand type mismatch int and array for comparison +10 != array ( 0 => 1, 1 => 100 ) - TypeError Operand type mismatch int and array for comparison +10 != array ( 'foo' => 1, 'bar' => 2 ) - TypeError Operand type mismatch int and array for comparison +10 != array ( 'bar' => 1, 'foo' => 2 ) - TypeError Operand type mismatch int and array for comparison +10 != (object) array ( ) - TypeError Operand type mismatch int and object for comparison +10 != (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Operand type mismatch int and object for comparison +10 != (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Operand type mismatch int and object for comparison +10 != DateTime - TypeError Operand type mismatch int and object for comparison +10 != resource - TypeError Operand type mismatch int and resource for comparison +10 != NULL - TypeError Operand type mismatch int and null for comparison +0.0 != false - TypeError Operand type mismatch float and bool for comparison +0.0 != true - TypeError Operand type mismatch float and bool for comparison +0.0 != 0 = false +0.0 != 10 = true +0.0 != 0.0 = false +0.0 != 10.0 = true +0.0 != 3.14 = true +0.0 != '0' - TypeError Operand type mismatch float and string for comparison +0.0 != '10' - TypeError Operand type mismatch float and string for comparison +0.0 != '010' - TypeError Operand type mismatch float and string for comparison +0.0 != '10 elephants' - TypeError Operand type mismatch float and string for comparison +0.0 != 'foo' - TypeError Operand type mismatch float and string for comparison +0.0 != array ( ) - TypeError Operand type mismatch float and array for comparison +0.0 != array ( 0 => 1 ) - TypeError Operand type mismatch float and array for comparison +0.0 != array ( 0 => 1, 1 => 100 ) - TypeError Operand type mismatch float and array for comparison +0.0 != array ( 'foo' => 1, 'bar' => 2 ) - TypeError Operand type mismatch float and array for comparison +0.0 != array ( 'bar' => 1, 'foo' => 2 ) - TypeError Operand type mismatch float and array for comparison +0.0 != (object) array ( ) - TypeError Operand type mismatch float and object for comparison +0.0 != (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Operand type mismatch float and object for comparison +0.0 != (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Operand type mismatch float and object for comparison +0.0 != DateTime - TypeError Operand type mismatch float and object for comparison +0.0 != resource - TypeError Operand type mismatch float and resource for comparison +0.0 != NULL - TypeError Operand type mismatch float and null for comparison +10.0 != false - TypeError Operand type mismatch float and bool for comparison +10.0 != true - TypeError Operand type mismatch float and bool for comparison +10.0 != 0 = true +10.0 != 10 = false +10.0 != 0.0 = true +10.0 != 10.0 = false +10.0 != 3.14 = true +10.0 != '0' - TypeError Operand type mismatch float and string for comparison +10.0 != '10' - TypeError Operand type mismatch float and string for comparison +10.0 != '010' - TypeError Operand type mismatch float and string for comparison +10.0 != '10 elephants' - TypeError Operand type mismatch float and string for comparison +10.0 != 'foo' - TypeError Operand type mismatch float and string for comparison +10.0 != array ( ) - TypeError Operand type mismatch float and array for comparison +10.0 != array ( 0 => 1 ) - TypeError Operand type mismatch float and array for comparison +10.0 != array ( 0 => 1, 1 => 100 ) - TypeError Operand type mismatch float and array for comparison +10.0 != array ( 'foo' => 1, 'bar' => 2 ) - TypeError Operand type mismatch float and array for comparison +10.0 != array ( 'bar' => 1, 'foo' => 2 ) - TypeError Operand type mismatch float and array for comparison +10.0 != (object) array ( ) - TypeError Operand type mismatch float and object for comparison +10.0 != (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Operand type mismatch float and object for comparison +10.0 != (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Operand type mismatch float and object for comparison +10.0 != DateTime - TypeError Operand type mismatch float and object for comparison +10.0 != resource - TypeError Operand type mismatch float and resource for comparison +10.0 != NULL - TypeError Operand type mismatch float and null for comparison +3.14 != false - TypeError Operand type mismatch float and bool for comparison +3.14 != true - TypeError Operand type mismatch float and bool for comparison +3.14 != 0 = true +3.14 != 10 = true +3.14 != 0.0 = true +3.14 != 10.0 = true +3.14 != 3.14 = false +3.14 != '0' - TypeError Operand type mismatch float and string for comparison +3.14 != '10' - TypeError Operand type mismatch float and string for comparison +3.14 != '010' - TypeError Operand type mismatch float and string for comparison +3.14 != '10 elephants' - TypeError Operand type mismatch float and string for comparison +3.14 != 'foo' - TypeError Operand type mismatch float and string for comparison +3.14 != array ( ) - TypeError Operand type mismatch float and array for comparison +3.14 != array ( 0 => 1 ) - TypeError Operand type mismatch float and array for comparison +3.14 != array ( 0 => 1, 1 => 100 ) - TypeError Operand type mismatch float and array for comparison +3.14 != array ( 'foo' => 1, 'bar' => 2 ) - TypeError Operand type mismatch float and array for comparison +3.14 != array ( 'bar' => 1, 'foo' => 2 ) - TypeError Operand type mismatch float and array for comparison +3.14 != (object) array ( ) - TypeError Operand type mismatch float and object for comparison +3.14 != (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Operand type mismatch float and object for comparison +3.14 != (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Operand type mismatch float and object for comparison +3.14 != DateTime - TypeError Operand type mismatch float and object for comparison +3.14 != resource - TypeError Operand type mismatch float and resource for comparison +3.14 != NULL - TypeError Operand type mismatch float and null for comparison +'0' != false - TypeError Operand type mismatch string and bool for comparison +'0' != true - TypeError Operand type mismatch string and bool for comparison +'0' != 0 - TypeError Operand type mismatch string and int for comparison +'0' != 10 - TypeError Operand type mismatch string and int for comparison +'0' != 0.0 - TypeError Operand type mismatch string and float for comparison +'0' != 10.0 - TypeError Operand type mismatch string and float for comparison +'0' != 3.14 - TypeError Operand type mismatch string and float for comparison +'0' != '0' = false +'0' != '10' = true +'0' != '010' = true +'0' != '10 elephants' = true +'0' != 'foo' = true +'0' != array ( ) - TypeError Operand type mismatch string and array for comparison +'0' != array ( 0 => 1 ) - TypeError Operand type mismatch string and array for comparison +'0' != array ( 0 => 1, 1 => 100 ) - TypeError Operand type mismatch string and array for comparison +'0' != array ( 'foo' => 1, 'bar' => 2 ) - TypeError Operand type mismatch string and array for comparison +'0' != array ( 'bar' => 1, 'foo' => 2 ) - TypeError Operand type mismatch string and array for comparison +'0' != (object) array ( ) - TypeError Operand type mismatch string and object for comparison +'0' != (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Operand type mismatch string and object for comparison +'0' != (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Operand type mismatch string and object for comparison +'0' != DateTime - TypeError Operand type mismatch string and object for comparison +'0' != resource - TypeError Operand type mismatch string and resource for comparison +'0' != NULL - TypeError Operand type mismatch string and null for comparison +'10' != false - TypeError Operand type mismatch string and bool for comparison +'10' != true - TypeError Operand type mismatch string and bool for comparison +'10' != 0 - TypeError Operand type mismatch string and int for comparison +'10' != 10 - TypeError Operand type mismatch string and int for comparison +'10' != 0.0 - TypeError Operand type mismatch string and float for comparison +'10' != 10.0 - TypeError Operand type mismatch string and float for comparison +'10' != 3.14 - TypeError Operand type mismatch string and float for comparison +'10' != '0' = true +'10' != '10' = false +'10' != '010' = true +'10' != '10 elephants' = true +'10' != 'foo' = true +'10' != array ( ) - TypeError Operand type mismatch string and array for comparison +'10' != array ( 0 => 1 ) - TypeError Operand type mismatch string and array for comparison +'10' != array ( 0 => 1, 1 => 100 ) - TypeError Operand type mismatch string and array for comparison +'10' != array ( 'foo' => 1, 'bar' => 2 ) - TypeError Operand type mismatch string and array for comparison +'10' != array ( 'bar' => 1, 'foo' => 2 ) - TypeError Operand type mismatch string and array for comparison +'10' != (object) array ( ) - TypeError Operand type mismatch string and object for comparison +'10' != (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Operand type mismatch string and object for comparison +'10' != (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Operand type mismatch string and object for comparison +'10' != DateTime - TypeError Operand type mismatch string and object for comparison +'10' != resource - TypeError Operand type mismatch string and resource for comparison +'10' != NULL - TypeError Operand type mismatch string and null for comparison +'010' != false - TypeError Operand type mismatch string and bool for comparison +'010' != true - TypeError Operand type mismatch string and bool for comparison +'010' != 0 - TypeError Operand type mismatch string and int for comparison +'010' != 10 - TypeError Operand type mismatch string and int for comparison +'010' != 0.0 - TypeError Operand type mismatch string and float for comparison +'010' != 10.0 - TypeError Operand type mismatch string and float for comparison +'010' != 3.14 - TypeError Operand type mismatch string and float for comparison +'010' != '0' = true +'010' != '10' = true +'010' != '010' = false +'010' != '10 elephants' = true +'010' != 'foo' = true +'010' != array ( ) - TypeError Operand type mismatch string and array for comparison +'010' != array ( 0 => 1 ) - TypeError Operand type mismatch string and array for comparison +'010' != array ( 0 => 1, 1 => 100 ) - TypeError Operand type mismatch string and array for comparison +'010' != array ( 'foo' => 1, 'bar' => 2 ) - TypeError Operand type mismatch string and array for comparison +'010' != array ( 'bar' => 1, 'foo' => 2 ) - TypeError Operand type mismatch string and array for comparison +'010' != (object) array ( ) - TypeError Operand type mismatch string and object for comparison +'010' != (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Operand type mismatch string and object for comparison +'010' != (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Operand type mismatch string and object for comparison +'010' != DateTime - TypeError Operand type mismatch string and object for comparison +'010' != resource - TypeError Operand type mismatch string and resource for comparison +'010' != NULL - TypeError Operand type mismatch string and null for comparison +'10 elephants' != false - TypeError Operand type mismatch string and bool for comparison +'10 elephants' != true - TypeError Operand type mismatch string and bool for comparison +'10 elephants' != 0 - TypeError Operand type mismatch string and int for comparison +'10 elephants' != 10 - TypeError Operand type mismatch string and int for comparison +'10 elephants' != 0.0 - TypeError Operand type mismatch string and float for comparison +'10 elephants' != 10.0 - TypeError Operand type mismatch string and float for comparison +'10 elephants' != 3.14 - TypeError Operand type mismatch string and float for comparison +'10 elephants' != '0' = true +'10 elephants' != '10' = true +'10 elephants' != '010' = true +'10 elephants' != '10 elephants' = false +'10 elephants' != 'foo' = true +'10 elephants' != array ( ) - TypeError Operand type mismatch string and array for comparison +'10 elephants' != array ( 0 => 1 ) - TypeError Operand type mismatch string and array for comparison +'10 elephants' != array ( 0 => 1, 1 => 100 ) - TypeError Operand type mismatch string and array for comparison +'10 elephants' != array ( 'foo' => 1, 'bar' => 2 ) - TypeError Operand type mismatch string and array for comparison +'10 elephants' != array ( 'bar' => 1, 'foo' => 2 ) - TypeError Operand type mismatch string and array for comparison +'10 elephants' != (object) array ( ) - TypeError Operand type mismatch string and object for comparison +'10 elephants' != (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Operand type mismatch string and object for comparison +'10 elephants' != (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Operand type mismatch string and object for comparison +'10 elephants' != DateTime - TypeError Operand type mismatch string and object for comparison +'10 elephants' != resource - TypeError Operand type mismatch string and resource for comparison +'10 elephants' != NULL - TypeError Operand type mismatch string and null for comparison +'foo' != false - TypeError Operand type mismatch string and bool for comparison +'foo' != true - TypeError Operand type mismatch string and bool for comparison +'foo' != 0 - TypeError Operand type mismatch string and int for comparison +'foo' != 10 - TypeError Operand type mismatch string and int for comparison +'foo' != 0.0 - TypeError Operand type mismatch string and float for comparison +'foo' != 10.0 - TypeError Operand type mismatch string and float for comparison +'foo' != 3.14 - TypeError Operand type mismatch string and float for comparison +'foo' != '0' = true +'foo' != '10' = true +'foo' != '010' = true +'foo' != '10 elephants' = true +'foo' != 'foo' = false +'foo' != array ( ) - TypeError Operand type mismatch string and array for comparison +'foo' != array ( 0 => 1 ) - TypeError Operand type mismatch string and array for comparison +'foo' != array ( 0 => 1, 1 => 100 ) - TypeError Operand type mismatch string and array for comparison +'foo' != array ( 'foo' => 1, 'bar' => 2 ) - TypeError Operand type mismatch string and array for comparison +'foo' != array ( 'bar' => 1, 'foo' => 2 ) - TypeError Operand type mismatch string and array for comparison +'foo' != (object) array ( ) - TypeError Operand type mismatch string and object for comparison +'foo' != (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Operand type mismatch string and object for comparison +'foo' != (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Operand type mismatch string and object for comparison +'foo' != DateTime - TypeError Operand type mismatch string and object for comparison +'foo' != resource - TypeError Operand type mismatch string and resource for comparison +'foo' != NULL - TypeError Operand type mismatch string and null for comparison +array ( ) != false - TypeError Operand type mismatch array and bool for comparison +array ( ) != true - TypeError Operand type mismatch array and bool for comparison +array ( ) != 0 - TypeError Operand type mismatch array and int for comparison +array ( ) != 10 - TypeError Operand type mismatch array and int for comparison +array ( ) != 0.0 - TypeError Operand type mismatch array and float for comparison +array ( ) != 10.0 - TypeError Operand type mismatch array and float for comparison +array ( ) != 3.14 - TypeError Operand type mismatch array and float for comparison +array ( ) != '0' - TypeError Operand type mismatch array and string for comparison +array ( ) != '10' - TypeError Operand type mismatch array and string for comparison +array ( ) != '010' - TypeError Operand type mismatch array and string for comparison +array ( ) != '10 elephants' - TypeError Operand type mismatch array and string for comparison +array ( ) != 'foo' - TypeError Operand type mismatch array and string for comparison +array ( ) != array ( ) = false +array ( ) != array ( 0 => 1 ) = true +array ( ) != array ( 0 => 1, 1 => 100 ) = true +array ( ) != array ( 'foo' => 1, 'bar' => 2 ) = true +array ( ) != array ( 'bar' => 1, 'foo' => 2 ) = true +array ( ) != (object) array ( ) - TypeError Operand type mismatch array and object for comparison +array ( ) != (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Operand type mismatch array and object for comparison +array ( ) != (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Operand type mismatch array and object for comparison +array ( ) != DateTime - TypeError Operand type mismatch array and object for comparison +array ( ) != resource - TypeError Operand type mismatch array and resource for comparison +array ( ) != NULL - TypeError Operand type mismatch array and null for comparison +array ( 0 => 1 ) != false - TypeError Operand type mismatch array and bool for comparison +array ( 0 => 1 ) != true - TypeError Operand type mismatch array and bool for comparison +array ( 0 => 1 ) != 0 - TypeError Operand type mismatch array and int for comparison +array ( 0 => 1 ) != 10 - TypeError Operand type mismatch array and int for comparison +array ( 0 => 1 ) != 0.0 - TypeError Operand type mismatch array and float for comparison +array ( 0 => 1 ) != 10.0 - TypeError Operand type mismatch array and float for comparison +array ( 0 => 1 ) != 3.14 - TypeError Operand type mismatch array and float for comparison +array ( 0 => 1 ) != '0' - TypeError Operand type mismatch array and string for comparison +array ( 0 => 1 ) != '10' - TypeError Operand type mismatch array and string for comparison +array ( 0 => 1 ) != '010' - TypeError Operand type mismatch array and string for comparison +array ( 0 => 1 ) != '10 elephants' - TypeError Operand type mismatch array and string for comparison +array ( 0 => 1 ) != 'foo' - TypeError Operand type mismatch array and string for comparison +array ( 0 => 1 ) != array ( ) = true +array ( 0 => 1 ) != array ( 0 => 1 ) = false +array ( 0 => 1 ) != array ( 0 => 1, 1 => 100 ) = true +array ( 0 => 1 ) != array ( 'foo' => 1, 'bar' => 2 ) = true +array ( 0 => 1 ) != array ( 'bar' => 1, 'foo' => 2 ) = true +array ( 0 => 1 ) != (object) array ( ) - TypeError Operand type mismatch array and object for comparison +array ( 0 => 1 ) != (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Operand type mismatch array and object for comparison +array ( 0 => 1 ) != (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Operand type mismatch array and object for comparison +array ( 0 => 1 ) != DateTime - TypeError Operand type mismatch array and object for comparison +array ( 0 => 1 ) != resource - TypeError Operand type mismatch array and resource for comparison +array ( 0 => 1 ) != NULL - TypeError Operand type mismatch array and null for comparison +array ( 0 => 1, 1 => 100 ) != false - TypeError Operand type mismatch array and bool for comparison +array ( 0 => 1, 1 => 100 ) != true - TypeError Operand type mismatch array and bool for comparison +array ( 0 => 1, 1 => 100 ) != 0 - TypeError Operand type mismatch array and int for comparison +array ( 0 => 1, 1 => 100 ) != 10 - TypeError Operand type mismatch array and int for comparison +array ( 0 => 1, 1 => 100 ) != 0.0 - TypeError Operand type mismatch array and float for comparison +array ( 0 => 1, 1 => 100 ) != 10.0 - TypeError Operand type mismatch array and float for comparison +array ( 0 => 1, 1 => 100 ) != 3.14 - TypeError Operand type mismatch array and float for comparison +array ( 0 => 1, 1 => 100 ) != '0' - TypeError Operand type mismatch array and string for comparison +array ( 0 => 1, 1 => 100 ) != '10' - TypeError Operand type mismatch array and string for comparison +array ( 0 => 1, 1 => 100 ) != '010' - TypeError Operand type mismatch array and string for comparison +array ( 0 => 1, 1 => 100 ) != '10 elephants' - TypeError Operand type mismatch array and string for comparison +array ( 0 => 1, 1 => 100 ) != 'foo' - TypeError Operand type mismatch array and string for comparison +array ( 0 => 1, 1 => 100 ) != array ( ) = true +array ( 0 => 1, 1 => 100 ) != array ( 0 => 1 ) = true +array ( 0 => 1, 1 => 100 ) != array ( 0 => 1, 1 => 100 ) = false +array ( 0 => 1, 1 => 100 ) != array ( 'foo' => 1, 'bar' => 2 ) = true +array ( 0 => 1, 1 => 100 ) != array ( 'bar' => 1, 'foo' => 2 ) = true +array ( 0 => 1, 1 => 100 ) != (object) array ( ) - TypeError Operand type mismatch array and object for comparison +array ( 0 => 1, 1 => 100 ) != (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Operand type mismatch array and object for comparison +array ( 0 => 1, 1 => 100 ) != (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Operand type mismatch array and object for comparison +array ( 0 => 1, 1 => 100 ) != DateTime - TypeError Operand type mismatch array and object for comparison +array ( 0 => 1, 1 => 100 ) != resource - TypeError Operand type mismatch array and resource for comparison +array ( 0 => 1, 1 => 100 ) != NULL - TypeError Operand type mismatch array and null for comparison +array ( 'foo' => 1, 'bar' => 2 ) != false - TypeError Operand type mismatch array and bool for comparison +array ( 'foo' => 1, 'bar' => 2 ) != true - TypeError Operand type mismatch array and bool for comparison +array ( 'foo' => 1, 'bar' => 2 ) != 0 - TypeError Operand type mismatch array and int for comparison +array ( 'foo' => 1, 'bar' => 2 ) != 10 - TypeError Operand type mismatch array and int for comparison +array ( 'foo' => 1, 'bar' => 2 ) != 0.0 - TypeError Operand type mismatch array and float for comparison +array ( 'foo' => 1, 'bar' => 2 ) != 10.0 - TypeError Operand type mismatch array and float for comparison +array ( 'foo' => 1, 'bar' => 2 ) != 3.14 - TypeError Operand type mismatch array and float for comparison +array ( 'foo' => 1, 'bar' => 2 ) != '0' - TypeError Operand type mismatch array and string for comparison +array ( 'foo' => 1, 'bar' => 2 ) != '10' - TypeError Operand type mismatch array and string for comparison +array ( 'foo' => 1, 'bar' => 2 ) != '010' - TypeError Operand type mismatch array and string for comparison +array ( 'foo' => 1, 'bar' => 2 ) != '10 elephants' - TypeError Operand type mismatch array and string for comparison +array ( 'foo' => 1, 'bar' => 2 ) != 'foo' - TypeError Operand type mismatch array and string for comparison +array ( 'foo' => 1, 'bar' => 2 ) != array ( ) = true +array ( 'foo' => 1, 'bar' => 2 ) != array ( 0 => 1 ) = true +array ( 'foo' => 1, 'bar' => 2 ) != array ( 0 => 1, 1 => 100 ) = true +array ( 'foo' => 1, 'bar' => 2 ) != array ( 'foo' => 1, 'bar' => 2 ) = false +array ( 'foo' => 1, 'bar' => 2 ) != array ( 'bar' => 1, 'foo' => 2 ) = true +array ( 'foo' => 1, 'bar' => 2 ) != (object) array ( ) - TypeError Operand type mismatch array and object for comparison +array ( 'foo' => 1, 'bar' => 2 ) != (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Operand type mismatch array and object for comparison +array ( 'foo' => 1, 'bar' => 2 ) != (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Operand type mismatch array and object for comparison +array ( 'foo' => 1, 'bar' => 2 ) != DateTime - TypeError Operand type mismatch array and object for comparison +array ( 'foo' => 1, 'bar' => 2 ) != resource - TypeError Operand type mismatch array and resource for comparison +array ( 'foo' => 1, 'bar' => 2 ) != NULL - TypeError Operand type mismatch array and null for comparison +array ( 'bar' => 1, 'foo' => 2 ) != false - TypeError Operand type mismatch array and bool for comparison +array ( 'bar' => 1, 'foo' => 2 ) != true - TypeError Operand type mismatch array and bool for comparison +array ( 'bar' => 1, 'foo' => 2 ) != 0 - TypeError Operand type mismatch array and int for comparison +array ( 'bar' => 1, 'foo' => 2 ) != 10 - TypeError Operand type mismatch array and int for comparison +array ( 'bar' => 1, 'foo' => 2 ) != 0.0 - TypeError Operand type mismatch array and float for comparison +array ( 'bar' => 1, 'foo' => 2 ) != 10.0 - TypeError Operand type mismatch array and float for comparison +array ( 'bar' => 1, 'foo' => 2 ) != 3.14 - TypeError Operand type mismatch array and float for comparison +array ( 'bar' => 1, 'foo' => 2 ) != '0' - TypeError Operand type mismatch array and string for comparison +array ( 'bar' => 1, 'foo' => 2 ) != '10' - TypeError Operand type mismatch array and string for comparison +array ( 'bar' => 1, 'foo' => 2 ) != '010' - TypeError Operand type mismatch array and string for comparison +array ( 'bar' => 1, 'foo' => 2 ) != '10 elephants' - TypeError Operand type mismatch array and string for comparison +array ( 'bar' => 1, 'foo' => 2 ) != 'foo' - TypeError Operand type mismatch array and string for comparison +array ( 'bar' => 1, 'foo' => 2 ) != array ( ) = true +array ( 'bar' => 1, 'foo' => 2 ) != array ( 0 => 1 ) = true +array ( 'bar' => 1, 'foo' => 2 ) != array ( 0 => 1, 1 => 100 ) = true +array ( 'bar' => 1, 'foo' => 2 ) != array ( 'foo' => 1, 'bar' => 2 ) = true +array ( 'bar' => 1, 'foo' => 2 ) != array ( 'bar' => 1, 'foo' => 2 ) = false +array ( 'bar' => 1, 'foo' => 2 ) != (object) array ( ) - TypeError Operand type mismatch array and object for comparison +array ( 'bar' => 1, 'foo' => 2 ) != (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Operand type mismatch array and object for comparison +array ( 'bar' => 1, 'foo' => 2 ) != (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Operand type mismatch array and object for comparison +array ( 'bar' => 1, 'foo' => 2 ) != DateTime - TypeError Operand type mismatch array and object for comparison +array ( 'bar' => 1, 'foo' => 2 ) != resource - TypeError Operand type mismatch array and resource for comparison +array ( 'bar' => 1, 'foo' => 2 ) != NULL - TypeError Operand type mismatch array and null for comparison +(object) array ( ) != false - TypeError Operand type mismatch object and bool for comparison +(object) array ( ) != true - TypeError Operand type mismatch object and bool for comparison +(object) array ( ) != 0 - TypeError Operand type mismatch object and int for comparison +(object) array ( ) != 10 - TypeError Operand type mismatch object and int for comparison +(object) array ( ) != 0.0 - TypeError Operand type mismatch object and float for comparison +(object) array ( ) != 10.0 - TypeError Operand type mismatch object and float for comparison +(object) array ( ) != 3.14 - TypeError Operand type mismatch object and float for comparison +(object) array ( ) != '0' - TypeError Operand type mismatch object and string for comparison +(object) array ( ) != '10' - TypeError Operand type mismatch object and string for comparison +(object) array ( ) != '010' - TypeError Operand type mismatch object and string for comparison +(object) array ( ) != '10 elephants' - TypeError Operand type mismatch object and string for comparison +(object) array ( ) != 'foo' - TypeError Operand type mismatch object and string for comparison +(object) array ( ) != array ( ) - TypeError Operand type mismatch object and array for comparison +(object) array ( ) != array ( 0 => 1 ) - TypeError Operand type mismatch object and array for comparison +(object) array ( ) != array ( 0 => 1, 1 => 100 ) - TypeError Operand type mismatch object and array for comparison +(object) array ( ) != array ( 'foo' => 1, 'bar' => 2 ) - TypeError Operand type mismatch object and array for comparison +(object) array ( ) != array ( 'bar' => 1, 'foo' => 2 ) - TypeError Operand type mismatch object and array for comparison +(object) array ( ) != (object) array ( ) = false +(object) array ( ) != (object) array ( 'foo' => 1, 'bar' => 2 ) = true +(object) array ( ) != (object) array ( 'bar' => 1, 'foo' => 2 ) = true +(object) array ( ) != DateTime - TypeError Operand type mismatch object and object for comparison +(object) array ( ) != resource - TypeError Operand type mismatch object and resource for comparison +(object) array ( ) != NULL - TypeError Operand type mismatch object and null for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) != false - TypeError Operand type mismatch object and bool for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) != true - TypeError Operand type mismatch object and bool for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) != 0 - TypeError Operand type mismatch object and int for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) != 10 - TypeError Operand type mismatch object and int for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) != 0.0 - TypeError Operand type mismatch object and float for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) != 10.0 - TypeError Operand type mismatch object and float for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) != 3.14 - TypeError Operand type mismatch object and float for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) != '0' - TypeError Operand type mismatch object and string for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) != '10' - TypeError Operand type mismatch object and string for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) != '010' - TypeError Operand type mismatch object and string for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) != '10 elephants' - TypeError Operand type mismatch object and string for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) != 'foo' - TypeError Operand type mismatch object and string for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) != array ( ) - TypeError Operand type mismatch object and array for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) != array ( 0 => 1 ) - TypeError Operand type mismatch object and array for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) != array ( 0 => 1, 1 => 100 ) - TypeError Operand type mismatch object and array for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) != array ( 'foo' => 1, 'bar' => 2 ) - TypeError Operand type mismatch object and array for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) != array ( 'bar' => 1, 'foo' => 2 ) - TypeError Operand type mismatch object and array for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) != (object) array ( ) = true +(object) array ( 'foo' => 1, 'bar' => 2 ) != (object) array ( 'foo' => 1, 'bar' => 2 ) = false +(object) array ( 'foo' => 1, 'bar' => 2 ) != (object) array ( 'bar' => 1, 'foo' => 2 ) = true +(object) array ( 'foo' => 1, 'bar' => 2 ) != DateTime - TypeError Operand type mismatch object and object for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) != resource - TypeError Operand type mismatch object and resource for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) != NULL - TypeError Operand type mismatch object and null for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) != false - TypeError Operand type mismatch object and bool for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) != true - TypeError Operand type mismatch object and bool for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) != 0 - TypeError Operand type mismatch object and int for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) != 10 - TypeError Operand type mismatch object and int for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) != 0.0 - TypeError Operand type mismatch object and float for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) != 10.0 - TypeError Operand type mismatch object and float for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) != 3.14 - TypeError Operand type mismatch object and float for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) != '0' - TypeError Operand type mismatch object and string for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) != '10' - TypeError Operand type mismatch object and string for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) != '010' - TypeError Operand type mismatch object and string for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) != '10 elephants' - TypeError Operand type mismatch object and string for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) != 'foo' - TypeError Operand type mismatch object and string for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) != array ( ) - TypeError Operand type mismatch object and array for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) != array ( 0 => 1 ) - TypeError Operand type mismatch object and array for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) != array ( 0 => 1, 1 => 100 ) - TypeError Operand type mismatch object and array for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) != array ( 'foo' => 1, 'bar' => 2 ) - TypeError Operand type mismatch object and array for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) != array ( 'bar' => 1, 'foo' => 2 ) - TypeError Operand type mismatch object and array for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) != (object) array ( ) = true +(object) array ( 'bar' => 1, 'foo' => 2 ) != (object) array ( 'foo' => 1, 'bar' => 2 ) = true +(object) array ( 'bar' => 1, 'foo' => 2 ) != (object) array ( 'bar' => 1, 'foo' => 2 ) = false +(object) array ( 'bar' => 1, 'foo' => 2 ) != DateTime - TypeError Operand type mismatch object and object for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) != resource - TypeError Operand type mismatch object and resource for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) != NULL - TypeError Operand type mismatch object and null for comparison +DateTime != false - TypeError Operand type mismatch object and bool for comparison +DateTime != true - TypeError Operand type mismatch object and bool for comparison +DateTime != 0 - TypeError Operand type mismatch object and int for comparison +DateTime != 10 - TypeError Operand type mismatch object and int for comparison +DateTime != 0.0 - TypeError Operand type mismatch object and float for comparison +DateTime != 10.0 - TypeError Operand type mismatch object and float for comparison +DateTime != 3.14 - TypeError Operand type mismatch object and float for comparison +DateTime != '0' - TypeError Operand type mismatch object and string for comparison +DateTime != '10' - TypeError Operand type mismatch object and string for comparison +DateTime != '010' - TypeError Operand type mismatch object and string for comparison +DateTime != '10 elephants' - TypeError Operand type mismatch object and string for comparison +DateTime != 'foo' - TypeError Operand type mismatch object and string for comparison +DateTime != array ( ) - TypeError Operand type mismatch object and array for comparison +DateTime != array ( 0 => 1 ) - TypeError Operand type mismatch object and array for comparison +DateTime != array ( 0 => 1, 1 => 100 ) - TypeError Operand type mismatch object and array for comparison +DateTime != array ( 'foo' => 1, 'bar' => 2 ) - TypeError Operand type mismatch object and array for comparison +DateTime != array ( 'bar' => 1, 'foo' => 2 ) - TypeError Operand type mismatch object and array for comparison +DateTime != (object) array ( ) - TypeError Operand type mismatch object and object for comparison +DateTime != (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Operand type mismatch object and object for comparison +DateTime != (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Operand type mismatch object and object for comparison +DateTime != DateTime = false +DateTime != resource - TypeError Operand type mismatch object and resource for comparison +DateTime != NULL - TypeError Operand type mismatch object and null for comparison +resource != false - TypeError Operand type mismatch resource and bool for comparison +resource != true - TypeError Operand type mismatch resource and bool for comparison +resource != 0 - TypeError Operand type mismatch resource and int for comparison +resource != 10 - TypeError Operand type mismatch resource and int for comparison +resource != 0.0 - TypeError Operand type mismatch resource and float for comparison +resource != 10.0 - TypeError Operand type mismatch resource and float for comparison +resource != 3.14 - TypeError Operand type mismatch resource and float for comparison +resource != '0' - TypeError Operand type mismatch resource and string for comparison +resource != '10' - TypeError Operand type mismatch resource and string for comparison +resource != '010' - TypeError Operand type mismatch resource and string for comparison +resource != '10 elephants' - TypeError Operand type mismatch resource and string for comparison +resource != 'foo' - TypeError Operand type mismatch resource and string for comparison +resource != array ( ) - TypeError Operand type mismatch resource and array for comparison +resource != array ( 0 => 1 ) - TypeError Operand type mismatch resource and array for comparison +resource != array ( 0 => 1, 1 => 100 ) - TypeError Operand type mismatch resource and array for comparison +resource != array ( 'foo' => 1, 'bar' => 2 ) - TypeError Operand type mismatch resource and array for comparison +resource != array ( 'bar' => 1, 'foo' => 2 ) - TypeError Operand type mismatch resource and array for comparison +resource != (object) array ( ) - TypeError Operand type mismatch resource and object for comparison +resource != (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Operand type mismatch resource and object for comparison +resource != (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Operand type mismatch resource and object for comparison +resource != DateTime - TypeError Operand type mismatch resource and object for comparison +resource != resource = false +resource != NULL - TypeError Operand type mismatch resource and null for comparison +NULL != false - TypeError Operand type mismatch null and bool for comparison +NULL != true - TypeError Operand type mismatch null and bool for comparison +NULL != 0 - TypeError Operand type mismatch null and int for comparison +NULL != 10 - TypeError Operand type mismatch null and int for comparison +NULL != 0.0 - TypeError Operand type mismatch null and float for comparison +NULL != 10.0 - TypeError Operand type mismatch null and float for comparison +NULL != 3.14 - TypeError Operand type mismatch null and float for comparison +NULL != '0' - TypeError Operand type mismatch null and string for comparison +NULL != '10' - TypeError Operand type mismatch null and string for comparison +NULL != '010' - TypeError Operand type mismatch null and string for comparison +NULL != '10 elephants' - TypeError Operand type mismatch null and string for comparison +NULL != 'foo' - TypeError Operand type mismatch null and string for comparison +NULL != array ( ) - TypeError Operand type mismatch null and array for comparison +NULL != array ( 0 => 1 ) - TypeError Operand type mismatch null and array for comparison +NULL != array ( 0 => 1, 1 => 100 ) - TypeError Operand type mismatch null and array for comparison +NULL != array ( 'foo' => 1, 'bar' => 2 ) - TypeError Operand type mismatch null and array for comparison +NULL != array ( 'bar' => 1, 'foo' => 2 ) - TypeError Operand type mismatch null and array for comparison +NULL != (object) array ( ) - TypeError Operand type mismatch null and object for comparison +NULL != (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Operand type mismatch null and object for comparison +NULL != (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Operand type mismatch null and object for comparison +NULL != DateTime - TypeError Operand type mismatch null and object for comparison +NULL != resource - TypeError Operand type mismatch null and resource for comparison +NULL != NULL = false \ No newline at end of file diff --git a/Zend/tests/operators/comparison/not_identical.phpt b/Zend/tests/operators/comparison/not_identical.phpt new file mode 100644 index 000000000000..0fd1af2c2cbd --- /dev/null +++ b/Zend/tests/operators/comparison/not_identical.phpt @@ -0,0 +1,540 @@ +--TEST-- +not identical '!==' operator +--FILE-- + 1 ) = true +false !== array ( 0 => 1, 1 => 100 ) = true +false !== array ( 'foo' => 1, 'bar' => 2 ) = true +false !== array ( 'bar' => 1, 'foo' => 2 ) = true +false !== (object) array ( ) = true +false !== (object) array ( 'foo' => 1, 'bar' => 2 ) = true +false !== (object) array ( 'bar' => 1, 'foo' => 2 ) = true +false !== DateTime = true +false !== resource = true +false !== NULL = true +true !== false = true +true !== true = false +true !== 0 = true +true !== 10 = true +true !== 0.0 = true +true !== 10.0 = true +true !== 3.14 = true +true !== '0' = true +true !== '10' = true +true !== '010' = true +true !== '10 elephants' = true +true !== 'foo' = true +true !== array ( ) = true +true !== array ( 0 => 1 ) = true +true !== array ( 0 => 1, 1 => 100 ) = true +true !== array ( 'foo' => 1, 'bar' => 2 ) = true +true !== array ( 'bar' => 1, 'foo' => 2 ) = true +true !== (object) array ( ) = true +true !== (object) array ( 'foo' => 1, 'bar' => 2 ) = true +true !== (object) array ( 'bar' => 1, 'foo' => 2 ) = true +true !== DateTime = true +true !== resource = true +true !== NULL = true +0 !== false = true +0 !== true = true +0 !== 0 = false +0 !== 10 = true +0 !== 0.0 = true +0 !== 10.0 = true +0 !== 3.14 = true +0 !== '0' = true +0 !== '10' = true +0 !== '010' = true +0 !== '10 elephants' = true +0 !== 'foo' = true +0 !== array ( ) = true +0 !== array ( 0 => 1 ) = true +0 !== array ( 0 => 1, 1 => 100 ) = true +0 !== array ( 'foo' => 1, 'bar' => 2 ) = true +0 !== array ( 'bar' => 1, 'foo' => 2 ) = true +0 !== (object) array ( ) = true +0 !== (object) array ( 'foo' => 1, 'bar' => 2 ) = true +0 !== (object) array ( 'bar' => 1, 'foo' => 2 ) = true +0 !== DateTime = true +0 !== resource = true +0 !== NULL = true +10 !== false = true +10 !== true = true +10 !== 0 = true +10 !== 10 = false +10 !== 0.0 = true +10 !== 10.0 = true +10 !== 3.14 = true +10 !== '0' = true +10 !== '10' = true +10 !== '010' = true +10 !== '10 elephants' = true +10 !== 'foo' = true +10 !== array ( ) = true +10 !== array ( 0 => 1 ) = true +10 !== array ( 0 => 1, 1 => 100 ) = true +10 !== array ( 'foo' => 1, 'bar' => 2 ) = true +10 !== array ( 'bar' => 1, 'foo' => 2 ) = true +10 !== (object) array ( ) = true +10 !== (object) array ( 'foo' => 1, 'bar' => 2 ) = true +10 !== (object) array ( 'bar' => 1, 'foo' => 2 ) = true +10 !== DateTime = true +10 !== resource = true +10 !== NULL = true +0.0 !== false = true +0.0 !== true = true +0.0 !== 0 = true +0.0 !== 10 = true +0.0 !== 0.0 = false +0.0 !== 10.0 = true +0.0 !== 3.14 = true +0.0 !== '0' = true +0.0 !== '10' = true +0.0 !== '010' = true +0.0 !== '10 elephants' = true +0.0 !== 'foo' = true +0.0 !== array ( ) = true +0.0 !== array ( 0 => 1 ) = true +0.0 !== array ( 0 => 1, 1 => 100 ) = true +0.0 !== array ( 'foo' => 1, 'bar' => 2 ) = true +0.0 !== array ( 'bar' => 1, 'foo' => 2 ) = true +0.0 !== (object) array ( ) = true +0.0 !== (object) array ( 'foo' => 1, 'bar' => 2 ) = true +0.0 !== (object) array ( 'bar' => 1, 'foo' => 2 ) = true +0.0 !== DateTime = true +0.0 !== resource = true +0.0 !== NULL = true +10.0 !== false = true +10.0 !== true = true +10.0 !== 0 = true +10.0 !== 10 = true +10.0 !== 0.0 = true +10.0 !== 10.0 = false +10.0 !== 3.14 = true +10.0 !== '0' = true +10.0 !== '10' = true +10.0 !== '010' = true +10.0 !== '10 elephants' = true +10.0 !== 'foo' = true +10.0 !== array ( ) = true +10.0 !== array ( 0 => 1 ) = true +10.0 !== array ( 0 => 1, 1 => 100 ) = true +10.0 !== array ( 'foo' => 1, 'bar' => 2 ) = true +10.0 !== array ( 'bar' => 1, 'foo' => 2 ) = true +10.0 !== (object) array ( ) = true +10.0 !== (object) array ( 'foo' => 1, 'bar' => 2 ) = true +10.0 !== (object) array ( 'bar' => 1, 'foo' => 2 ) = true +10.0 !== DateTime = true +10.0 !== resource = true +10.0 !== NULL = true +3.14 !== false = true +3.14 !== true = true +3.14 !== 0 = true +3.14 !== 10 = true +3.14 !== 0.0 = true +3.14 !== 10.0 = true +3.14 !== 3.14 = false +3.14 !== '0' = true +3.14 !== '10' = true +3.14 !== '010' = true +3.14 !== '10 elephants' = true +3.14 !== 'foo' = true +3.14 !== array ( ) = true +3.14 !== array ( 0 => 1 ) = true +3.14 !== array ( 0 => 1, 1 => 100 ) = true +3.14 !== array ( 'foo' => 1, 'bar' => 2 ) = true +3.14 !== array ( 'bar' => 1, 'foo' => 2 ) = true +3.14 !== (object) array ( ) = true +3.14 !== (object) array ( 'foo' => 1, 'bar' => 2 ) = true +3.14 !== (object) array ( 'bar' => 1, 'foo' => 2 ) = true +3.14 !== DateTime = true +3.14 !== resource = true +3.14 !== NULL = true +'0' !== false = true +'0' !== true = true +'0' !== 0 = true +'0' !== 10 = true +'0' !== 0.0 = true +'0' !== 10.0 = true +'0' !== 3.14 = true +'0' !== '0' = false +'0' !== '10' = true +'0' !== '010' = true +'0' !== '10 elephants' = true +'0' !== 'foo' = true +'0' !== array ( ) = true +'0' !== array ( 0 => 1 ) = true +'0' !== array ( 0 => 1, 1 => 100 ) = true +'0' !== array ( 'foo' => 1, 'bar' => 2 ) = true +'0' !== array ( 'bar' => 1, 'foo' => 2 ) = true +'0' !== (object) array ( ) = true +'0' !== (object) array ( 'foo' => 1, 'bar' => 2 ) = true +'0' !== (object) array ( 'bar' => 1, 'foo' => 2 ) = true +'0' !== DateTime = true +'0' !== resource = true +'0' !== NULL = true +'10' !== false = true +'10' !== true = true +'10' !== 0 = true +'10' !== 10 = true +'10' !== 0.0 = true +'10' !== 10.0 = true +'10' !== 3.14 = true +'10' !== '0' = true +'10' !== '10' = false +'10' !== '010' = true +'10' !== '10 elephants' = true +'10' !== 'foo' = true +'10' !== array ( ) = true +'10' !== array ( 0 => 1 ) = true +'10' !== array ( 0 => 1, 1 => 100 ) = true +'10' !== array ( 'foo' => 1, 'bar' => 2 ) = true +'10' !== array ( 'bar' => 1, 'foo' => 2 ) = true +'10' !== (object) array ( ) = true +'10' !== (object) array ( 'foo' => 1, 'bar' => 2 ) = true +'10' !== (object) array ( 'bar' => 1, 'foo' => 2 ) = true +'10' !== DateTime = true +'10' !== resource = true +'10' !== NULL = true +'010' !== false = true +'010' !== true = true +'010' !== 0 = true +'010' !== 10 = true +'010' !== 0.0 = true +'010' !== 10.0 = true +'010' !== 3.14 = true +'010' !== '0' = true +'010' !== '10' = true +'010' !== '010' = false +'010' !== '10 elephants' = true +'010' !== 'foo' = true +'010' !== array ( ) = true +'010' !== array ( 0 => 1 ) = true +'010' !== array ( 0 => 1, 1 => 100 ) = true +'010' !== array ( 'foo' => 1, 'bar' => 2 ) = true +'010' !== array ( 'bar' => 1, 'foo' => 2 ) = true +'010' !== (object) array ( ) = true +'010' !== (object) array ( 'foo' => 1, 'bar' => 2 ) = true +'010' !== (object) array ( 'bar' => 1, 'foo' => 2 ) = true +'010' !== DateTime = true +'010' !== resource = true +'010' !== NULL = true +'10 elephants' !== false = true +'10 elephants' !== true = true +'10 elephants' !== 0 = true +'10 elephants' !== 10 = true +'10 elephants' !== 0.0 = true +'10 elephants' !== 10.0 = true +'10 elephants' !== 3.14 = true +'10 elephants' !== '0' = true +'10 elephants' !== '10' = true +'10 elephants' !== '010' = true +'10 elephants' !== '10 elephants' = false +'10 elephants' !== 'foo' = true +'10 elephants' !== array ( ) = true +'10 elephants' !== array ( 0 => 1 ) = true +'10 elephants' !== array ( 0 => 1, 1 => 100 ) = true +'10 elephants' !== array ( 'foo' => 1, 'bar' => 2 ) = true +'10 elephants' !== array ( 'bar' => 1, 'foo' => 2 ) = true +'10 elephants' !== (object) array ( ) = true +'10 elephants' !== (object) array ( 'foo' => 1, 'bar' => 2 ) = true +'10 elephants' !== (object) array ( 'bar' => 1, 'foo' => 2 ) = true +'10 elephants' !== DateTime = true +'10 elephants' !== resource = true +'10 elephants' !== NULL = true +'foo' !== false = true +'foo' !== true = true +'foo' !== 0 = true +'foo' !== 10 = true +'foo' !== 0.0 = true +'foo' !== 10.0 = true +'foo' !== 3.14 = true +'foo' !== '0' = true +'foo' !== '10' = true +'foo' !== '010' = true +'foo' !== '10 elephants' = true +'foo' !== 'foo' = false +'foo' !== array ( ) = true +'foo' !== array ( 0 => 1 ) = true +'foo' !== array ( 0 => 1, 1 => 100 ) = true +'foo' !== array ( 'foo' => 1, 'bar' => 2 ) = true +'foo' !== array ( 'bar' => 1, 'foo' => 2 ) = true +'foo' !== (object) array ( ) = true +'foo' !== (object) array ( 'foo' => 1, 'bar' => 2 ) = true +'foo' !== (object) array ( 'bar' => 1, 'foo' => 2 ) = true +'foo' !== DateTime = true +'foo' !== resource = true +'foo' !== NULL = true +array ( ) !== false = true +array ( ) !== true = true +array ( ) !== 0 = true +array ( ) !== 10 = true +array ( ) !== 0.0 = true +array ( ) !== 10.0 = true +array ( ) !== 3.14 = true +array ( ) !== '0' = true +array ( ) !== '10' = true +array ( ) !== '010' = true +array ( ) !== '10 elephants' = true +array ( ) !== 'foo' = true +array ( ) !== array ( ) = false +array ( ) !== array ( 0 => 1 ) = true +array ( ) !== array ( 0 => 1, 1 => 100 ) = true +array ( ) !== array ( 'foo' => 1, 'bar' => 2 ) = true +array ( ) !== array ( 'bar' => 1, 'foo' => 2 ) = true +array ( ) !== (object) array ( ) = true +array ( ) !== (object) array ( 'foo' => 1, 'bar' => 2 ) = true +array ( ) !== (object) array ( 'bar' => 1, 'foo' => 2 ) = true +array ( ) !== DateTime = true +array ( ) !== resource = true +array ( ) !== NULL = true +array ( 0 => 1 ) !== false = true +array ( 0 => 1 ) !== true = true +array ( 0 => 1 ) !== 0 = true +array ( 0 => 1 ) !== 10 = true +array ( 0 => 1 ) !== 0.0 = true +array ( 0 => 1 ) !== 10.0 = true +array ( 0 => 1 ) !== 3.14 = true +array ( 0 => 1 ) !== '0' = true +array ( 0 => 1 ) !== '10' = true +array ( 0 => 1 ) !== '010' = true +array ( 0 => 1 ) !== '10 elephants' = true +array ( 0 => 1 ) !== 'foo' = true +array ( 0 => 1 ) !== array ( ) = true +array ( 0 => 1 ) !== array ( 0 => 1 ) = false +array ( 0 => 1 ) !== array ( 0 => 1, 1 => 100 ) = true +array ( 0 => 1 ) !== array ( 'foo' => 1, 'bar' => 2 ) = true +array ( 0 => 1 ) !== array ( 'bar' => 1, 'foo' => 2 ) = true +array ( 0 => 1 ) !== (object) array ( ) = true +array ( 0 => 1 ) !== (object) array ( 'foo' => 1, 'bar' => 2 ) = true +array ( 0 => 1 ) !== (object) array ( 'bar' => 1, 'foo' => 2 ) = true +array ( 0 => 1 ) !== DateTime = true +array ( 0 => 1 ) !== resource = true +array ( 0 => 1 ) !== NULL = true +array ( 0 => 1, 1 => 100 ) !== false = true +array ( 0 => 1, 1 => 100 ) !== true = true +array ( 0 => 1, 1 => 100 ) !== 0 = true +array ( 0 => 1, 1 => 100 ) !== 10 = true +array ( 0 => 1, 1 => 100 ) !== 0.0 = true +array ( 0 => 1, 1 => 100 ) !== 10.0 = true +array ( 0 => 1, 1 => 100 ) !== 3.14 = true +array ( 0 => 1, 1 => 100 ) !== '0' = true +array ( 0 => 1, 1 => 100 ) !== '10' = true +array ( 0 => 1, 1 => 100 ) !== '010' = true +array ( 0 => 1, 1 => 100 ) !== '10 elephants' = true +array ( 0 => 1, 1 => 100 ) !== 'foo' = true +array ( 0 => 1, 1 => 100 ) !== array ( ) = true +array ( 0 => 1, 1 => 100 ) !== array ( 0 => 1 ) = true +array ( 0 => 1, 1 => 100 ) !== array ( 0 => 1, 1 => 100 ) = false +array ( 0 => 1, 1 => 100 ) !== array ( 'foo' => 1, 'bar' => 2 ) = true +array ( 0 => 1, 1 => 100 ) !== array ( 'bar' => 1, 'foo' => 2 ) = true +array ( 0 => 1, 1 => 100 ) !== (object) array ( ) = true +array ( 0 => 1, 1 => 100 ) !== (object) array ( 'foo' => 1, 'bar' => 2 ) = true +array ( 0 => 1, 1 => 100 ) !== (object) array ( 'bar' => 1, 'foo' => 2 ) = true +array ( 0 => 1, 1 => 100 ) !== DateTime = true +array ( 0 => 1, 1 => 100 ) !== resource = true +array ( 0 => 1, 1 => 100 ) !== NULL = true +array ( 'foo' => 1, 'bar' => 2 ) !== false = true +array ( 'foo' => 1, 'bar' => 2 ) !== true = true +array ( 'foo' => 1, 'bar' => 2 ) !== 0 = true +array ( 'foo' => 1, 'bar' => 2 ) !== 10 = true +array ( 'foo' => 1, 'bar' => 2 ) !== 0.0 = true +array ( 'foo' => 1, 'bar' => 2 ) !== 10.0 = true +array ( 'foo' => 1, 'bar' => 2 ) !== 3.14 = true +array ( 'foo' => 1, 'bar' => 2 ) !== '0' = true +array ( 'foo' => 1, 'bar' => 2 ) !== '10' = true +array ( 'foo' => 1, 'bar' => 2 ) !== '010' = true +array ( 'foo' => 1, 'bar' => 2 ) !== '10 elephants' = true +array ( 'foo' => 1, 'bar' => 2 ) !== 'foo' = true +array ( 'foo' => 1, 'bar' => 2 ) !== array ( ) = true +array ( 'foo' => 1, 'bar' => 2 ) !== array ( 0 => 1 ) = true +array ( 'foo' => 1, 'bar' => 2 ) !== array ( 0 => 1, 1 => 100 ) = true +array ( 'foo' => 1, 'bar' => 2 ) !== array ( 'foo' => 1, 'bar' => 2 ) = false +array ( 'foo' => 1, 'bar' => 2 ) !== array ( 'bar' => 1, 'foo' => 2 ) = true +array ( 'foo' => 1, 'bar' => 2 ) !== (object) array ( ) = true +array ( 'foo' => 1, 'bar' => 2 ) !== (object) array ( 'foo' => 1, 'bar' => 2 ) = true +array ( 'foo' => 1, 'bar' => 2 ) !== (object) array ( 'bar' => 1, 'foo' => 2 ) = true +array ( 'foo' => 1, 'bar' => 2 ) !== DateTime = true +array ( 'foo' => 1, 'bar' => 2 ) !== resource = true +array ( 'foo' => 1, 'bar' => 2 ) !== NULL = true +array ( 'bar' => 1, 'foo' => 2 ) !== false = true +array ( 'bar' => 1, 'foo' => 2 ) !== true = true +array ( 'bar' => 1, 'foo' => 2 ) !== 0 = true +array ( 'bar' => 1, 'foo' => 2 ) !== 10 = true +array ( 'bar' => 1, 'foo' => 2 ) !== 0.0 = true +array ( 'bar' => 1, 'foo' => 2 ) !== 10.0 = true +array ( 'bar' => 1, 'foo' => 2 ) !== 3.14 = true +array ( 'bar' => 1, 'foo' => 2 ) !== '0' = true +array ( 'bar' => 1, 'foo' => 2 ) !== '10' = true +array ( 'bar' => 1, 'foo' => 2 ) !== '010' = true +array ( 'bar' => 1, 'foo' => 2 ) !== '10 elephants' = true +array ( 'bar' => 1, 'foo' => 2 ) !== 'foo' = true +array ( 'bar' => 1, 'foo' => 2 ) !== array ( ) = true +array ( 'bar' => 1, 'foo' => 2 ) !== array ( 0 => 1 ) = true +array ( 'bar' => 1, 'foo' => 2 ) !== array ( 0 => 1, 1 => 100 ) = true +array ( 'bar' => 1, 'foo' => 2 ) !== array ( 'foo' => 1, 'bar' => 2 ) = true +array ( 'bar' => 1, 'foo' => 2 ) !== array ( 'bar' => 1, 'foo' => 2 ) = false +array ( 'bar' => 1, 'foo' => 2 ) !== (object) array ( ) = true +array ( 'bar' => 1, 'foo' => 2 ) !== (object) array ( 'foo' => 1, 'bar' => 2 ) = true +array ( 'bar' => 1, 'foo' => 2 ) !== (object) array ( 'bar' => 1, 'foo' => 2 ) = true +array ( 'bar' => 1, 'foo' => 2 ) !== DateTime = true +array ( 'bar' => 1, 'foo' => 2 ) !== resource = true +array ( 'bar' => 1, 'foo' => 2 ) !== NULL = true +(object) array ( ) !== false = true +(object) array ( ) !== true = true +(object) array ( ) !== 0 = true +(object) array ( ) !== 10 = true +(object) array ( ) !== 0.0 = true +(object) array ( ) !== 10.0 = true +(object) array ( ) !== 3.14 = true +(object) array ( ) !== '0' = true +(object) array ( ) !== '10' = true +(object) array ( ) !== '010' = true +(object) array ( ) !== '10 elephants' = true +(object) array ( ) !== 'foo' = true +(object) array ( ) !== array ( ) = true +(object) array ( ) !== array ( 0 => 1 ) = true +(object) array ( ) !== array ( 0 => 1, 1 => 100 ) = true +(object) array ( ) !== array ( 'foo' => 1, 'bar' => 2 ) = true +(object) array ( ) !== array ( 'bar' => 1, 'foo' => 2 ) = true +(object) array ( ) !== (object) array ( ) = false +(object) array ( ) !== (object) array ( 'foo' => 1, 'bar' => 2 ) = true +(object) array ( ) !== (object) array ( 'bar' => 1, 'foo' => 2 ) = true +(object) array ( ) !== DateTime = true +(object) array ( ) !== resource = true +(object) array ( ) !== NULL = true +(object) array ( 'foo' => 1, 'bar' => 2 ) !== false = true +(object) array ( 'foo' => 1, 'bar' => 2 ) !== true = true +(object) array ( 'foo' => 1, 'bar' => 2 ) !== 0 = true +(object) array ( 'foo' => 1, 'bar' => 2 ) !== 10 = true +(object) array ( 'foo' => 1, 'bar' => 2 ) !== 0.0 = true +(object) array ( 'foo' => 1, 'bar' => 2 ) !== 10.0 = true +(object) array ( 'foo' => 1, 'bar' => 2 ) !== 3.14 = true +(object) array ( 'foo' => 1, 'bar' => 2 ) !== '0' = true +(object) array ( 'foo' => 1, 'bar' => 2 ) !== '10' = true +(object) array ( 'foo' => 1, 'bar' => 2 ) !== '010' = true +(object) array ( 'foo' => 1, 'bar' => 2 ) !== '10 elephants' = true +(object) array ( 'foo' => 1, 'bar' => 2 ) !== 'foo' = true +(object) array ( 'foo' => 1, 'bar' => 2 ) !== array ( ) = true +(object) array ( 'foo' => 1, 'bar' => 2 ) !== array ( 0 => 1 ) = true +(object) array ( 'foo' => 1, 'bar' => 2 ) !== array ( 0 => 1, 1 => 100 ) = true +(object) array ( 'foo' => 1, 'bar' => 2 ) !== array ( 'foo' => 1, 'bar' => 2 ) = true +(object) array ( 'foo' => 1, 'bar' => 2 ) !== array ( 'bar' => 1, 'foo' => 2 ) = true +(object) array ( 'foo' => 1, 'bar' => 2 ) !== (object) array ( ) = true +(object) array ( 'foo' => 1, 'bar' => 2 ) !== (object) array ( 'foo' => 1, 'bar' => 2 ) = false +(object) array ( 'foo' => 1, 'bar' => 2 ) !== (object) array ( 'bar' => 1, 'foo' => 2 ) = true +(object) array ( 'foo' => 1, 'bar' => 2 ) !== DateTime = true +(object) array ( 'foo' => 1, 'bar' => 2 ) !== resource = true +(object) array ( 'foo' => 1, 'bar' => 2 ) !== NULL = true +(object) array ( 'bar' => 1, 'foo' => 2 ) !== false = true +(object) array ( 'bar' => 1, 'foo' => 2 ) !== true = true +(object) array ( 'bar' => 1, 'foo' => 2 ) !== 0 = true +(object) array ( 'bar' => 1, 'foo' => 2 ) !== 10 = true +(object) array ( 'bar' => 1, 'foo' => 2 ) !== 0.0 = true +(object) array ( 'bar' => 1, 'foo' => 2 ) !== 10.0 = true +(object) array ( 'bar' => 1, 'foo' => 2 ) !== 3.14 = true +(object) array ( 'bar' => 1, 'foo' => 2 ) !== '0' = true +(object) array ( 'bar' => 1, 'foo' => 2 ) !== '10' = true +(object) array ( 'bar' => 1, 'foo' => 2 ) !== '010' = true +(object) array ( 'bar' => 1, 'foo' => 2 ) !== '10 elephants' = true +(object) array ( 'bar' => 1, 'foo' => 2 ) !== 'foo' = true +(object) array ( 'bar' => 1, 'foo' => 2 ) !== array ( ) = true +(object) array ( 'bar' => 1, 'foo' => 2 ) !== array ( 0 => 1 ) = true +(object) array ( 'bar' => 1, 'foo' => 2 ) !== array ( 0 => 1, 1 => 100 ) = true +(object) array ( 'bar' => 1, 'foo' => 2 ) !== array ( 'foo' => 1, 'bar' => 2 ) = true +(object) array ( 'bar' => 1, 'foo' => 2 ) !== array ( 'bar' => 1, 'foo' => 2 ) = true +(object) array ( 'bar' => 1, 'foo' => 2 ) !== (object) array ( ) = true +(object) array ( 'bar' => 1, 'foo' => 2 ) !== (object) array ( 'foo' => 1, 'bar' => 2 ) = true +(object) array ( 'bar' => 1, 'foo' => 2 ) !== (object) array ( 'bar' => 1, 'foo' => 2 ) = false +(object) array ( 'bar' => 1, 'foo' => 2 ) !== DateTime = true +(object) array ( 'bar' => 1, 'foo' => 2 ) !== resource = true +(object) array ( 'bar' => 1, 'foo' => 2 ) !== NULL = true +DateTime !== false = true +DateTime !== true = true +DateTime !== 0 = true +DateTime !== 10 = true +DateTime !== 0.0 = true +DateTime !== 10.0 = true +DateTime !== 3.14 = true +DateTime !== '0' = true +DateTime !== '10' = true +DateTime !== '010' = true +DateTime !== '10 elephants' = true +DateTime !== 'foo' = true +DateTime !== array ( ) = true +DateTime !== array ( 0 => 1 ) = true +DateTime !== array ( 0 => 1, 1 => 100 ) = true +DateTime !== array ( 'foo' => 1, 'bar' => 2 ) = true +DateTime !== array ( 'bar' => 1, 'foo' => 2 ) = true +DateTime !== (object) array ( ) = true +DateTime !== (object) array ( 'foo' => 1, 'bar' => 2 ) = true +DateTime !== (object) array ( 'bar' => 1, 'foo' => 2 ) = true +DateTime !== DateTime = false +DateTime !== resource = true +DateTime !== NULL = true +resource !== false = true +resource !== true = true +resource !== 0 = true +resource !== 10 = true +resource !== 0.0 = true +resource !== 10.0 = true +resource !== 3.14 = true +resource !== '0' = true +resource !== '10' = true +resource !== '010' = true +resource !== '10 elephants' = true +resource !== 'foo' = true +resource !== array ( ) = true +resource !== array ( 0 => 1 ) = true +resource !== array ( 0 => 1, 1 => 100 ) = true +resource !== array ( 'foo' => 1, 'bar' => 2 ) = true +resource !== array ( 'bar' => 1, 'foo' => 2 ) = true +resource !== (object) array ( ) = true +resource !== (object) array ( 'foo' => 1, 'bar' => 2 ) = true +resource !== (object) array ( 'bar' => 1, 'foo' => 2 ) = true +resource !== DateTime = true +resource !== resource = false +resource !== NULL = true +NULL !== false = true +NULL !== true = true +NULL !== 0 = true +NULL !== 10 = true +NULL !== 0.0 = true +NULL !== 10.0 = true +NULL !== 3.14 = true +NULL !== '0' = true +NULL !== '10' = true +NULL !== '010' = true +NULL !== '10 elephants' = true +NULL !== 'foo' = true +NULL !== array ( ) = true +NULL !== array ( 0 => 1 ) = true +NULL !== array ( 0 => 1, 1 => 100 ) = true +NULL !== array ( 'foo' => 1, 'bar' => 2 ) = true +NULL !== array ( 'bar' => 1, 'foo' => 2 ) = true +NULL !== (object) array ( ) = true +NULL !== (object) array ( 'foo' => 1, 'bar' => 2 ) = true +NULL !== (object) array ( 'bar' => 1, 'foo' => 2 ) = true +NULL !== DateTime = true +NULL !== resource = true +NULL !== NULL = false \ No newline at end of file diff --git a/Zend/tests/operators/comparison/not_identical_strict.phpt b/Zend/tests/operators/comparison/not_identical_strict.phpt new file mode 100644 index 000000000000..0882d94352fb --- /dev/null +++ b/Zend/tests/operators/comparison/not_identical_strict.phpt @@ -0,0 +1,542 @@ +--TEST-- +not identical '!==' operator with strict_operators +--FILE-- + 1 ) = true +false !== array ( 0 => 1, 1 => 100 ) = true +false !== array ( 'foo' => 1, 'bar' => 2 ) = true +false !== array ( 'bar' => 1, 'foo' => 2 ) = true +false !== (object) array ( ) = true +false !== (object) array ( 'foo' => 1, 'bar' => 2 ) = true +false !== (object) array ( 'bar' => 1, 'foo' => 2 ) = true +false !== DateTime = true +false !== resource = true +false !== NULL = true +true !== false = true +true !== true = false +true !== 0 = true +true !== 10 = true +true !== 0.0 = true +true !== 10.0 = true +true !== 3.14 = true +true !== '0' = true +true !== '10' = true +true !== '010' = true +true !== '10 elephants' = true +true !== 'foo' = true +true !== array ( ) = true +true !== array ( 0 => 1 ) = true +true !== array ( 0 => 1, 1 => 100 ) = true +true !== array ( 'foo' => 1, 'bar' => 2 ) = true +true !== array ( 'bar' => 1, 'foo' => 2 ) = true +true !== (object) array ( ) = true +true !== (object) array ( 'foo' => 1, 'bar' => 2 ) = true +true !== (object) array ( 'bar' => 1, 'foo' => 2 ) = true +true !== DateTime = true +true !== resource = true +true !== NULL = true +0 !== false = true +0 !== true = true +0 !== 0 = false +0 !== 10 = true +0 !== 0.0 = true +0 !== 10.0 = true +0 !== 3.14 = true +0 !== '0' = true +0 !== '10' = true +0 !== '010' = true +0 !== '10 elephants' = true +0 !== 'foo' = true +0 !== array ( ) = true +0 !== array ( 0 => 1 ) = true +0 !== array ( 0 => 1, 1 => 100 ) = true +0 !== array ( 'foo' => 1, 'bar' => 2 ) = true +0 !== array ( 'bar' => 1, 'foo' => 2 ) = true +0 !== (object) array ( ) = true +0 !== (object) array ( 'foo' => 1, 'bar' => 2 ) = true +0 !== (object) array ( 'bar' => 1, 'foo' => 2 ) = true +0 !== DateTime = true +0 !== resource = true +0 !== NULL = true +10 !== false = true +10 !== true = true +10 !== 0 = true +10 !== 10 = false +10 !== 0.0 = true +10 !== 10.0 = true +10 !== 3.14 = true +10 !== '0' = true +10 !== '10' = true +10 !== '010' = true +10 !== '10 elephants' = true +10 !== 'foo' = true +10 !== array ( ) = true +10 !== array ( 0 => 1 ) = true +10 !== array ( 0 => 1, 1 => 100 ) = true +10 !== array ( 'foo' => 1, 'bar' => 2 ) = true +10 !== array ( 'bar' => 1, 'foo' => 2 ) = true +10 !== (object) array ( ) = true +10 !== (object) array ( 'foo' => 1, 'bar' => 2 ) = true +10 !== (object) array ( 'bar' => 1, 'foo' => 2 ) = true +10 !== DateTime = true +10 !== resource = true +10 !== NULL = true +0.0 !== false = true +0.0 !== true = true +0.0 !== 0 = true +0.0 !== 10 = true +0.0 !== 0.0 = false +0.0 !== 10.0 = true +0.0 !== 3.14 = true +0.0 !== '0' = true +0.0 !== '10' = true +0.0 !== '010' = true +0.0 !== '10 elephants' = true +0.0 !== 'foo' = true +0.0 !== array ( ) = true +0.0 !== array ( 0 => 1 ) = true +0.0 !== array ( 0 => 1, 1 => 100 ) = true +0.0 !== array ( 'foo' => 1, 'bar' => 2 ) = true +0.0 !== array ( 'bar' => 1, 'foo' => 2 ) = true +0.0 !== (object) array ( ) = true +0.0 !== (object) array ( 'foo' => 1, 'bar' => 2 ) = true +0.0 !== (object) array ( 'bar' => 1, 'foo' => 2 ) = true +0.0 !== DateTime = true +0.0 !== resource = true +0.0 !== NULL = true +10.0 !== false = true +10.0 !== true = true +10.0 !== 0 = true +10.0 !== 10 = true +10.0 !== 0.0 = true +10.0 !== 10.0 = false +10.0 !== 3.14 = true +10.0 !== '0' = true +10.0 !== '10' = true +10.0 !== '010' = true +10.0 !== '10 elephants' = true +10.0 !== 'foo' = true +10.0 !== array ( ) = true +10.0 !== array ( 0 => 1 ) = true +10.0 !== array ( 0 => 1, 1 => 100 ) = true +10.0 !== array ( 'foo' => 1, 'bar' => 2 ) = true +10.0 !== array ( 'bar' => 1, 'foo' => 2 ) = true +10.0 !== (object) array ( ) = true +10.0 !== (object) array ( 'foo' => 1, 'bar' => 2 ) = true +10.0 !== (object) array ( 'bar' => 1, 'foo' => 2 ) = true +10.0 !== DateTime = true +10.0 !== resource = true +10.0 !== NULL = true +3.14 !== false = true +3.14 !== true = true +3.14 !== 0 = true +3.14 !== 10 = true +3.14 !== 0.0 = true +3.14 !== 10.0 = true +3.14 !== 3.14 = false +3.14 !== '0' = true +3.14 !== '10' = true +3.14 !== '010' = true +3.14 !== '10 elephants' = true +3.14 !== 'foo' = true +3.14 !== array ( ) = true +3.14 !== array ( 0 => 1 ) = true +3.14 !== array ( 0 => 1, 1 => 100 ) = true +3.14 !== array ( 'foo' => 1, 'bar' => 2 ) = true +3.14 !== array ( 'bar' => 1, 'foo' => 2 ) = true +3.14 !== (object) array ( ) = true +3.14 !== (object) array ( 'foo' => 1, 'bar' => 2 ) = true +3.14 !== (object) array ( 'bar' => 1, 'foo' => 2 ) = true +3.14 !== DateTime = true +3.14 !== resource = true +3.14 !== NULL = true +'0' !== false = true +'0' !== true = true +'0' !== 0 = true +'0' !== 10 = true +'0' !== 0.0 = true +'0' !== 10.0 = true +'0' !== 3.14 = true +'0' !== '0' = false +'0' !== '10' = true +'0' !== '010' = true +'0' !== '10 elephants' = true +'0' !== 'foo' = true +'0' !== array ( ) = true +'0' !== array ( 0 => 1 ) = true +'0' !== array ( 0 => 1, 1 => 100 ) = true +'0' !== array ( 'foo' => 1, 'bar' => 2 ) = true +'0' !== array ( 'bar' => 1, 'foo' => 2 ) = true +'0' !== (object) array ( ) = true +'0' !== (object) array ( 'foo' => 1, 'bar' => 2 ) = true +'0' !== (object) array ( 'bar' => 1, 'foo' => 2 ) = true +'0' !== DateTime = true +'0' !== resource = true +'0' !== NULL = true +'10' !== false = true +'10' !== true = true +'10' !== 0 = true +'10' !== 10 = true +'10' !== 0.0 = true +'10' !== 10.0 = true +'10' !== 3.14 = true +'10' !== '0' = true +'10' !== '10' = false +'10' !== '010' = true +'10' !== '10 elephants' = true +'10' !== 'foo' = true +'10' !== array ( ) = true +'10' !== array ( 0 => 1 ) = true +'10' !== array ( 0 => 1, 1 => 100 ) = true +'10' !== array ( 'foo' => 1, 'bar' => 2 ) = true +'10' !== array ( 'bar' => 1, 'foo' => 2 ) = true +'10' !== (object) array ( ) = true +'10' !== (object) array ( 'foo' => 1, 'bar' => 2 ) = true +'10' !== (object) array ( 'bar' => 1, 'foo' => 2 ) = true +'10' !== DateTime = true +'10' !== resource = true +'10' !== NULL = true +'010' !== false = true +'010' !== true = true +'010' !== 0 = true +'010' !== 10 = true +'010' !== 0.0 = true +'010' !== 10.0 = true +'010' !== 3.14 = true +'010' !== '0' = true +'010' !== '10' = true +'010' !== '010' = false +'010' !== '10 elephants' = true +'010' !== 'foo' = true +'010' !== array ( ) = true +'010' !== array ( 0 => 1 ) = true +'010' !== array ( 0 => 1, 1 => 100 ) = true +'010' !== array ( 'foo' => 1, 'bar' => 2 ) = true +'010' !== array ( 'bar' => 1, 'foo' => 2 ) = true +'010' !== (object) array ( ) = true +'010' !== (object) array ( 'foo' => 1, 'bar' => 2 ) = true +'010' !== (object) array ( 'bar' => 1, 'foo' => 2 ) = true +'010' !== DateTime = true +'010' !== resource = true +'010' !== NULL = true +'10 elephants' !== false = true +'10 elephants' !== true = true +'10 elephants' !== 0 = true +'10 elephants' !== 10 = true +'10 elephants' !== 0.0 = true +'10 elephants' !== 10.0 = true +'10 elephants' !== 3.14 = true +'10 elephants' !== '0' = true +'10 elephants' !== '10' = true +'10 elephants' !== '010' = true +'10 elephants' !== '10 elephants' = false +'10 elephants' !== 'foo' = true +'10 elephants' !== array ( ) = true +'10 elephants' !== array ( 0 => 1 ) = true +'10 elephants' !== array ( 0 => 1, 1 => 100 ) = true +'10 elephants' !== array ( 'foo' => 1, 'bar' => 2 ) = true +'10 elephants' !== array ( 'bar' => 1, 'foo' => 2 ) = true +'10 elephants' !== (object) array ( ) = true +'10 elephants' !== (object) array ( 'foo' => 1, 'bar' => 2 ) = true +'10 elephants' !== (object) array ( 'bar' => 1, 'foo' => 2 ) = true +'10 elephants' !== DateTime = true +'10 elephants' !== resource = true +'10 elephants' !== NULL = true +'foo' !== false = true +'foo' !== true = true +'foo' !== 0 = true +'foo' !== 10 = true +'foo' !== 0.0 = true +'foo' !== 10.0 = true +'foo' !== 3.14 = true +'foo' !== '0' = true +'foo' !== '10' = true +'foo' !== '010' = true +'foo' !== '10 elephants' = true +'foo' !== 'foo' = false +'foo' !== array ( ) = true +'foo' !== array ( 0 => 1 ) = true +'foo' !== array ( 0 => 1, 1 => 100 ) = true +'foo' !== array ( 'foo' => 1, 'bar' => 2 ) = true +'foo' !== array ( 'bar' => 1, 'foo' => 2 ) = true +'foo' !== (object) array ( ) = true +'foo' !== (object) array ( 'foo' => 1, 'bar' => 2 ) = true +'foo' !== (object) array ( 'bar' => 1, 'foo' => 2 ) = true +'foo' !== DateTime = true +'foo' !== resource = true +'foo' !== NULL = true +array ( ) !== false = true +array ( ) !== true = true +array ( ) !== 0 = true +array ( ) !== 10 = true +array ( ) !== 0.0 = true +array ( ) !== 10.0 = true +array ( ) !== 3.14 = true +array ( ) !== '0' = true +array ( ) !== '10' = true +array ( ) !== '010' = true +array ( ) !== '10 elephants' = true +array ( ) !== 'foo' = true +array ( ) !== array ( ) = false +array ( ) !== array ( 0 => 1 ) = true +array ( ) !== array ( 0 => 1, 1 => 100 ) = true +array ( ) !== array ( 'foo' => 1, 'bar' => 2 ) = true +array ( ) !== array ( 'bar' => 1, 'foo' => 2 ) = true +array ( ) !== (object) array ( ) = true +array ( ) !== (object) array ( 'foo' => 1, 'bar' => 2 ) = true +array ( ) !== (object) array ( 'bar' => 1, 'foo' => 2 ) = true +array ( ) !== DateTime = true +array ( ) !== resource = true +array ( ) !== NULL = true +array ( 0 => 1 ) !== false = true +array ( 0 => 1 ) !== true = true +array ( 0 => 1 ) !== 0 = true +array ( 0 => 1 ) !== 10 = true +array ( 0 => 1 ) !== 0.0 = true +array ( 0 => 1 ) !== 10.0 = true +array ( 0 => 1 ) !== 3.14 = true +array ( 0 => 1 ) !== '0' = true +array ( 0 => 1 ) !== '10' = true +array ( 0 => 1 ) !== '010' = true +array ( 0 => 1 ) !== '10 elephants' = true +array ( 0 => 1 ) !== 'foo' = true +array ( 0 => 1 ) !== array ( ) = true +array ( 0 => 1 ) !== array ( 0 => 1 ) = false +array ( 0 => 1 ) !== array ( 0 => 1, 1 => 100 ) = true +array ( 0 => 1 ) !== array ( 'foo' => 1, 'bar' => 2 ) = true +array ( 0 => 1 ) !== array ( 'bar' => 1, 'foo' => 2 ) = true +array ( 0 => 1 ) !== (object) array ( ) = true +array ( 0 => 1 ) !== (object) array ( 'foo' => 1, 'bar' => 2 ) = true +array ( 0 => 1 ) !== (object) array ( 'bar' => 1, 'foo' => 2 ) = true +array ( 0 => 1 ) !== DateTime = true +array ( 0 => 1 ) !== resource = true +array ( 0 => 1 ) !== NULL = true +array ( 0 => 1, 1 => 100 ) !== false = true +array ( 0 => 1, 1 => 100 ) !== true = true +array ( 0 => 1, 1 => 100 ) !== 0 = true +array ( 0 => 1, 1 => 100 ) !== 10 = true +array ( 0 => 1, 1 => 100 ) !== 0.0 = true +array ( 0 => 1, 1 => 100 ) !== 10.0 = true +array ( 0 => 1, 1 => 100 ) !== 3.14 = true +array ( 0 => 1, 1 => 100 ) !== '0' = true +array ( 0 => 1, 1 => 100 ) !== '10' = true +array ( 0 => 1, 1 => 100 ) !== '010' = true +array ( 0 => 1, 1 => 100 ) !== '10 elephants' = true +array ( 0 => 1, 1 => 100 ) !== 'foo' = true +array ( 0 => 1, 1 => 100 ) !== array ( ) = true +array ( 0 => 1, 1 => 100 ) !== array ( 0 => 1 ) = true +array ( 0 => 1, 1 => 100 ) !== array ( 0 => 1, 1 => 100 ) = false +array ( 0 => 1, 1 => 100 ) !== array ( 'foo' => 1, 'bar' => 2 ) = true +array ( 0 => 1, 1 => 100 ) !== array ( 'bar' => 1, 'foo' => 2 ) = true +array ( 0 => 1, 1 => 100 ) !== (object) array ( ) = true +array ( 0 => 1, 1 => 100 ) !== (object) array ( 'foo' => 1, 'bar' => 2 ) = true +array ( 0 => 1, 1 => 100 ) !== (object) array ( 'bar' => 1, 'foo' => 2 ) = true +array ( 0 => 1, 1 => 100 ) !== DateTime = true +array ( 0 => 1, 1 => 100 ) !== resource = true +array ( 0 => 1, 1 => 100 ) !== NULL = true +array ( 'foo' => 1, 'bar' => 2 ) !== false = true +array ( 'foo' => 1, 'bar' => 2 ) !== true = true +array ( 'foo' => 1, 'bar' => 2 ) !== 0 = true +array ( 'foo' => 1, 'bar' => 2 ) !== 10 = true +array ( 'foo' => 1, 'bar' => 2 ) !== 0.0 = true +array ( 'foo' => 1, 'bar' => 2 ) !== 10.0 = true +array ( 'foo' => 1, 'bar' => 2 ) !== 3.14 = true +array ( 'foo' => 1, 'bar' => 2 ) !== '0' = true +array ( 'foo' => 1, 'bar' => 2 ) !== '10' = true +array ( 'foo' => 1, 'bar' => 2 ) !== '010' = true +array ( 'foo' => 1, 'bar' => 2 ) !== '10 elephants' = true +array ( 'foo' => 1, 'bar' => 2 ) !== 'foo' = true +array ( 'foo' => 1, 'bar' => 2 ) !== array ( ) = true +array ( 'foo' => 1, 'bar' => 2 ) !== array ( 0 => 1 ) = true +array ( 'foo' => 1, 'bar' => 2 ) !== array ( 0 => 1, 1 => 100 ) = true +array ( 'foo' => 1, 'bar' => 2 ) !== array ( 'foo' => 1, 'bar' => 2 ) = false +array ( 'foo' => 1, 'bar' => 2 ) !== array ( 'bar' => 1, 'foo' => 2 ) = true +array ( 'foo' => 1, 'bar' => 2 ) !== (object) array ( ) = true +array ( 'foo' => 1, 'bar' => 2 ) !== (object) array ( 'foo' => 1, 'bar' => 2 ) = true +array ( 'foo' => 1, 'bar' => 2 ) !== (object) array ( 'bar' => 1, 'foo' => 2 ) = true +array ( 'foo' => 1, 'bar' => 2 ) !== DateTime = true +array ( 'foo' => 1, 'bar' => 2 ) !== resource = true +array ( 'foo' => 1, 'bar' => 2 ) !== NULL = true +array ( 'bar' => 1, 'foo' => 2 ) !== false = true +array ( 'bar' => 1, 'foo' => 2 ) !== true = true +array ( 'bar' => 1, 'foo' => 2 ) !== 0 = true +array ( 'bar' => 1, 'foo' => 2 ) !== 10 = true +array ( 'bar' => 1, 'foo' => 2 ) !== 0.0 = true +array ( 'bar' => 1, 'foo' => 2 ) !== 10.0 = true +array ( 'bar' => 1, 'foo' => 2 ) !== 3.14 = true +array ( 'bar' => 1, 'foo' => 2 ) !== '0' = true +array ( 'bar' => 1, 'foo' => 2 ) !== '10' = true +array ( 'bar' => 1, 'foo' => 2 ) !== '010' = true +array ( 'bar' => 1, 'foo' => 2 ) !== '10 elephants' = true +array ( 'bar' => 1, 'foo' => 2 ) !== 'foo' = true +array ( 'bar' => 1, 'foo' => 2 ) !== array ( ) = true +array ( 'bar' => 1, 'foo' => 2 ) !== array ( 0 => 1 ) = true +array ( 'bar' => 1, 'foo' => 2 ) !== array ( 0 => 1, 1 => 100 ) = true +array ( 'bar' => 1, 'foo' => 2 ) !== array ( 'foo' => 1, 'bar' => 2 ) = true +array ( 'bar' => 1, 'foo' => 2 ) !== array ( 'bar' => 1, 'foo' => 2 ) = false +array ( 'bar' => 1, 'foo' => 2 ) !== (object) array ( ) = true +array ( 'bar' => 1, 'foo' => 2 ) !== (object) array ( 'foo' => 1, 'bar' => 2 ) = true +array ( 'bar' => 1, 'foo' => 2 ) !== (object) array ( 'bar' => 1, 'foo' => 2 ) = true +array ( 'bar' => 1, 'foo' => 2 ) !== DateTime = true +array ( 'bar' => 1, 'foo' => 2 ) !== resource = true +array ( 'bar' => 1, 'foo' => 2 ) !== NULL = true +(object) array ( ) !== false = true +(object) array ( ) !== true = true +(object) array ( ) !== 0 = true +(object) array ( ) !== 10 = true +(object) array ( ) !== 0.0 = true +(object) array ( ) !== 10.0 = true +(object) array ( ) !== 3.14 = true +(object) array ( ) !== '0' = true +(object) array ( ) !== '10' = true +(object) array ( ) !== '010' = true +(object) array ( ) !== '10 elephants' = true +(object) array ( ) !== 'foo' = true +(object) array ( ) !== array ( ) = true +(object) array ( ) !== array ( 0 => 1 ) = true +(object) array ( ) !== array ( 0 => 1, 1 => 100 ) = true +(object) array ( ) !== array ( 'foo' => 1, 'bar' => 2 ) = true +(object) array ( ) !== array ( 'bar' => 1, 'foo' => 2 ) = true +(object) array ( ) !== (object) array ( ) = false +(object) array ( ) !== (object) array ( 'foo' => 1, 'bar' => 2 ) = true +(object) array ( ) !== (object) array ( 'bar' => 1, 'foo' => 2 ) = true +(object) array ( ) !== DateTime = true +(object) array ( ) !== resource = true +(object) array ( ) !== NULL = true +(object) array ( 'foo' => 1, 'bar' => 2 ) !== false = true +(object) array ( 'foo' => 1, 'bar' => 2 ) !== true = true +(object) array ( 'foo' => 1, 'bar' => 2 ) !== 0 = true +(object) array ( 'foo' => 1, 'bar' => 2 ) !== 10 = true +(object) array ( 'foo' => 1, 'bar' => 2 ) !== 0.0 = true +(object) array ( 'foo' => 1, 'bar' => 2 ) !== 10.0 = true +(object) array ( 'foo' => 1, 'bar' => 2 ) !== 3.14 = true +(object) array ( 'foo' => 1, 'bar' => 2 ) !== '0' = true +(object) array ( 'foo' => 1, 'bar' => 2 ) !== '10' = true +(object) array ( 'foo' => 1, 'bar' => 2 ) !== '010' = true +(object) array ( 'foo' => 1, 'bar' => 2 ) !== '10 elephants' = true +(object) array ( 'foo' => 1, 'bar' => 2 ) !== 'foo' = true +(object) array ( 'foo' => 1, 'bar' => 2 ) !== array ( ) = true +(object) array ( 'foo' => 1, 'bar' => 2 ) !== array ( 0 => 1 ) = true +(object) array ( 'foo' => 1, 'bar' => 2 ) !== array ( 0 => 1, 1 => 100 ) = true +(object) array ( 'foo' => 1, 'bar' => 2 ) !== array ( 'foo' => 1, 'bar' => 2 ) = true +(object) array ( 'foo' => 1, 'bar' => 2 ) !== array ( 'bar' => 1, 'foo' => 2 ) = true +(object) array ( 'foo' => 1, 'bar' => 2 ) !== (object) array ( ) = true +(object) array ( 'foo' => 1, 'bar' => 2 ) !== (object) array ( 'foo' => 1, 'bar' => 2 ) = false +(object) array ( 'foo' => 1, 'bar' => 2 ) !== (object) array ( 'bar' => 1, 'foo' => 2 ) = true +(object) array ( 'foo' => 1, 'bar' => 2 ) !== DateTime = true +(object) array ( 'foo' => 1, 'bar' => 2 ) !== resource = true +(object) array ( 'foo' => 1, 'bar' => 2 ) !== NULL = true +(object) array ( 'bar' => 1, 'foo' => 2 ) !== false = true +(object) array ( 'bar' => 1, 'foo' => 2 ) !== true = true +(object) array ( 'bar' => 1, 'foo' => 2 ) !== 0 = true +(object) array ( 'bar' => 1, 'foo' => 2 ) !== 10 = true +(object) array ( 'bar' => 1, 'foo' => 2 ) !== 0.0 = true +(object) array ( 'bar' => 1, 'foo' => 2 ) !== 10.0 = true +(object) array ( 'bar' => 1, 'foo' => 2 ) !== 3.14 = true +(object) array ( 'bar' => 1, 'foo' => 2 ) !== '0' = true +(object) array ( 'bar' => 1, 'foo' => 2 ) !== '10' = true +(object) array ( 'bar' => 1, 'foo' => 2 ) !== '010' = true +(object) array ( 'bar' => 1, 'foo' => 2 ) !== '10 elephants' = true +(object) array ( 'bar' => 1, 'foo' => 2 ) !== 'foo' = true +(object) array ( 'bar' => 1, 'foo' => 2 ) !== array ( ) = true +(object) array ( 'bar' => 1, 'foo' => 2 ) !== array ( 0 => 1 ) = true +(object) array ( 'bar' => 1, 'foo' => 2 ) !== array ( 0 => 1, 1 => 100 ) = true +(object) array ( 'bar' => 1, 'foo' => 2 ) !== array ( 'foo' => 1, 'bar' => 2 ) = true +(object) array ( 'bar' => 1, 'foo' => 2 ) !== array ( 'bar' => 1, 'foo' => 2 ) = true +(object) array ( 'bar' => 1, 'foo' => 2 ) !== (object) array ( ) = true +(object) array ( 'bar' => 1, 'foo' => 2 ) !== (object) array ( 'foo' => 1, 'bar' => 2 ) = true +(object) array ( 'bar' => 1, 'foo' => 2 ) !== (object) array ( 'bar' => 1, 'foo' => 2 ) = false +(object) array ( 'bar' => 1, 'foo' => 2 ) !== DateTime = true +(object) array ( 'bar' => 1, 'foo' => 2 ) !== resource = true +(object) array ( 'bar' => 1, 'foo' => 2 ) !== NULL = true +DateTime !== false = true +DateTime !== true = true +DateTime !== 0 = true +DateTime !== 10 = true +DateTime !== 0.0 = true +DateTime !== 10.0 = true +DateTime !== 3.14 = true +DateTime !== '0' = true +DateTime !== '10' = true +DateTime !== '010' = true +DateTime !== '10 elephants' = true +DateTime !== 'foo' = true +DateTime !== array ( ) = true +DateTime !== array ( 0 => 1 ) = true +DateTime !== array ( 0 => 1, 1 => 100 ) = true +DateTime !== array ( 'foo' => 1, 'bar' => 2 ) = true +DateTime !== array ( 'bar' => 1, 'foo' => 2 ) = true +DateTime !== (object) array ( ) = true +DateTime !== (object) array ( 'foo' => 1, 'bar' => 2 ) = true +DateTime !== (object) array ( 'bar' => 1, 'foo' => 2 ) = true +DateTime !== DateTime = false +DateTime !== resource = true +DateTime !== NULL = true +resource !== false = true +resource !== true = true +resource !== 0 = true +resource !== 10 = true +resource !== 0.0 = true +resource !== 10.0 = true +resource !== 3.14 = true +resource !== '0' = true +resource !== '10' = true +resource !== '010' = true +resource !== '10 elephants' = true +resource !== 'foo' = true +resource !== array ( ) = true +resource !== array ( 0 => 1 ) = true +resource !== array ( 0 => 1, 1 => 100 ) = true +resource !== array ( 'foo' => 1, 'bar' => 2 ) = true +resource !== array ( 'bar' => 1, 'foo' => 2 ) = true +resource !== (object) array ( ) = true +resource !== (object) array ( 'foo' => 1, 'bar' => 2 ) = true +resource !== (object) array ( 'bar' => 1, 'foo' => 2 ) = true +resource !== DateTime = true +resource !== resource = false +resource !== NULL = true +NULL !== false = true +NULL !== true = true +NULL !== 0 = true +NULL !== 10 = true +NULL !== 0.0 = true +NULL !== 10.0 = true +NULL !== 3.14 = true +NULL !== '0' = true +NULL !== '10' = true +NULL !== '010' = true +NULL !== '10 elephants' = true +NULL !== 'foo' = true +NULL !== array ( ) = true +NULL !== array ( 0 => 1 ) = true +NULL !== array ( 0 => 1, 1 => 100 ) = true +NULL !== array ( 'foo' => 1, 'bar' => 2 ) = true +NULL !== array ( 'bar' => 1, 'foo' => 2 ) = true +NULL !== (object) array ( ) = true +NULL !== (object) array ( 'foo' => 1, 'bar' => 2 ) = true +NULL !== (object) array ( 'bar' => 1, 'foo' => 2 ) = true +NULL !== DateTime = true +NULL !== resource = true +NULL !== NULL = false \ No newline at end of file diff --git a/Zend/tests/operators/comparison/spaceship.phpt b/Zend/tests/operators/comparison/spaceship.phpt new file mode 100644 index 000000000000..dd54c50d546f --- /dev/null +++ b/Zend/tests/operators/comparison/spaceship.phpt @@ -0,0 +1,540 @@ +--TEST-- +spaceship '<=>' operator +--FILE-- + $b', function($a, $b) { return $a <=> $b; }); + +--EXPECT-- +false <=> false = 0 +false <=> true = -1 +false <=> 0 = 0 +false <=> 10 = -1 +false <=> 0.0 = 0 +false <=> 10.0 = -1 +false <=> 3.14 = -1 +false <=> '0' = 0 +false <=> '10' = -1 +false <=> '010' = -1 +false <=> '10 elephants' = -1 +false <=> 'foo' = -1 +false <=> array ( ) = 0 +false <=> array ( 0 => 1 ) = -1 +false <=> array ( 0 => 1, 1 => 100 ) = -1 +false <=> array ( 'foo' => 1, 'bar' => 2 ) = -1 +false <=> array ( 'bar' => 1, 'foo' => 2 ) = -1 +false <=> (object) array ( ) = -1 +false <=> (object) array ( 'foo' => 1, 'bar' => 2 ) = -1 +false <=> (object) array ( 'bar' => 1, 'foo' => 2 ) = -1 +false <=> DateTime = -1 +false <=> resource = -1 +false <=> NULL = 0 +true <=> false = 1 +true <=> true = 0 +true <=> 0 = 1 +true <=> 10 = 0 +true <=> 0.0 = 1 +true <=> 10.0 = 0 +true <=> 3.14 = 0 +true <=> '0' = 1 +true <=> '10' = 0 +true <=> '010' = 0 +true <=> '10 elephants' = 0 +true <=> 'foo' = 0 +true <=> array ( ) = 1 +true <=> array ( 0 => 1 ) = 0 +true <=> array ( 0 => 1, 1 => 100 ) = 0 +true <=> array ( 'foo' => 1, 'bar' => 2 ) = 0 +true <=> array ( 'bar' => 1, 'foo' => 2 ) = 0 +true <=> (object) array ( ) = 0 +true <=> (object) array ( 'foo' => 1, 'bar' => 2 ) = 0 +true <=> (object) array ( 'bar' => 1, 'foo' => 2 ) = 0 +true <=> DateTime = 0 +true <=> resource = 0 +true <=> NULL = 1 +0 <=> false = 0 +0 <=> true = -1 +0 <=> 0 = 0 +0 <=> 10 = -1 +0 <=> 0.0 = 0 +0 <=> 10.0 = -1 +0 <=> 3.14 = -1 +0 <=> '0' = 0 +0 <=> '10' = -1 +0 <=> '010' = -1 +0 <=> '10 elephants' = -1 +0 <=> 'foo' = 0 +0 <=> array ( ) = -1 +0 <=> array ( 0 => 1 ) = -1 +0 <=> array ( 0 => 1, 1 => 100 ) = -1 +0 <=> array ( 'foo' => 1, 'bar' => 2 ) = -1 +0 <=> array ( 'bar' => 1, 'foo' => 2 ) = -1 +0 <=> (object) array ( ) = -1 - Notice Object of class stdClass could not be converted to int +0 <=> (object) array ( 'foo' => 1, 'bar' => 2 ) = -1 - Notice Object of class stdClass could not be converted to int +0 <=> (object) array ( 'bar' => 1, 'foo' => 2 ) = -1 - Notice Object of class stdClass could not be converted to int +0 <=> DateTime = -1 - Notice Object of class DateTime could not be converted to int +0 <=> resource = -1 +0 <=> NULL = 0 +10 <=> false = 1 +10 <=> true = 0 +10 <=> 0 = 1 +10 <=> 10 = 0 +10 <=> 0.0 = 1 +10 <=> 10.0 = 0 +10 <=> 3.14 = 1 +10 <=> '0' = 1 +10 <=> '10' = 0 +10 <=> '010' = 0 +10 <=> '10 elephants' = 0 +10 <=> 'foo' = 1 +10 <=> array ( ) = -1 +10 <=> array ( 0 => 1 ) = -1 +10 <=> array ( 0 => 1, 1 => 100 ) = -1 +10 <=> array ( 'foo' => 1, 'bar' => 2 ) = -1 +10 <=> array ( 'bar' => 1, 'foo' => 2 ) = -1 +10 <=> (object) array ( ) = 1 - Notice Object of class stdClass could not be converted to int +10 <=> (object) array ( 'foo' => 1, 'bar' => 2 ) = 1 - Notice Object of class stdClass could not be converted to int +10 <=> (object) array ( 'bar' => 1, 'foo' => 2 ) = 1 - Notice Object of class stdClass could not be converted to int +10 <=> DateTime = 1 - Notice Object of class DateTime could not be converted to int +10 <=> resource = 1 +10 <=> NULL = 1 +0.0 <=> false = 0 +0.0 <=> true = -1 +0.0 <=> 0 = 0 +0.0 <=> 10 = -1 +0.0 <=> 0.0 = 0 +0.0 <=> 10.0 = -1 +0.0 <=> 3.14 = -1 +0.0 <=> '0' = 0 +0.0 <=> '10' = -1 +0.0 <=> '010' = -1 +0.0 <=> '10 elephants' = -1 +0.0 <=> 'foo' = 0 +0.0 <=> array ( ) = -1 +0.0 <=> array ( 0 => 1 ) = -1 +0.0 <=> array ( 0 => 1, 1 => 100 ) = -1 +0.0 <=> array ( 'foo' => 1, 'bar' => 2 ) = -1 +0.0 <=> array ( 'bar' => 1, 'foo' => 2 ) = -1 +0.0 <=> (object) array ( ) = -1 - Notice Object of class stdClass could not be converted to float +0.0 <=> (object) array ( 'foo' => 1, 'bar' => 2 ) = -1 - Notice Object of class stdClass could not be converted to float +0.0 <=> (object) array ( 'bar' => 1, 'foo' => 2 ) = -1 - Notice Object of class stdClass could not be converted to float +0.0 <=> DateTime = -1 - Notice Object of class DateTime could not be converted to float +0.0 <=> resource = -1 +0.0 <=> NULL = 0 +10.0 <=> false = 1 +10.0 <=> true = 0 +10.0 <=> 0 = 1 +10.0 <=> 10 = 0 +10.0 <=> 0.0 = 1 +10.0 <=> 10.0 = 0 +10.0 <=> 3.14 = 1 +10.0 <=> '0' = 1 +10.0 <=> '10' = 0 +10.0 <=> '010' = 0 +10.0 <=> '10 elephants' = 0 +10.0 <=> 'foo' = 1 +10.0 <=> array ( ) = -1 +10.0 <=> array ( 0 => 1 ) = -1 +10.0 <=> array ( 0 => 1, 1 => 100 ) = -1 +10.0 <=> array ( 'foo' => 1, 'bar' => 2 ) = -1 +10.0 <=> array ( 'bar' => 1, 'foo' => 2 ) = -1 +10.0 <=> (object) array ( ) = 1 - Notice Object of class stdClass could not be converted to float +10.0 <=> (object) array ( 'foo' => 1, 'bar' => 2 ) = 1 - Notice Object of class stdClass could not be converted to float +10.0 <=> (object) array ( 'bar' => 1, 'foo' => 2 ) = 1 - Notice Object of class stdClass could not be converted to float +10.0 <=> DateTime = 1 - Notice Object of class DateTime could not be converted to float +10.0 <=> resource = 1 +10.0 <=> NULL = 1 +3.14 <=> false = 1 +3.14 <=> true = 0 +3.14 <=> 0 = 1 +3.14 <=> 10 = -1 +3.14 <=> 0.0 = 1 +3.14 <=> 10.0 = -1 +3.14 <=> 3.14 = 0 +3.14 <=> '0' = 1 +3.14 <=> '10' = -1 +3.14 <=> '010' = -1 +3.14 <=> '10 elephants' = -1 +3.14 <=> 'foo' = 1 +3.14 <=> array ( ) = -1 +3.14 <=> array ( 0 => 1 ) = -1 +3.14 <=> array ( 0 => 1, 1 => 100 ) = -1 +3.14 <=> array ( 'foo' => 1, 'bar' => 2 ) = -1 +3.14 <=> array ( 'bar' => 1, 'foo' => 2 ) = -1 +3.14 <=> (object) array ( ) = 1 - Notice Object of class stdClass could not be converted to float +3.14 <=> (object) array ( 'foo' => 1, 'bar' => 2 ) = 1 - Notice Object of class stdClass could not be converted to float +3.14 <=> (object) array ( 'bar' => 1, 'foo' => 2 ) = 1 - Notice Object of class stdClass could not be converted to float +3.14 <=> DateTime = 1 - Notice Object of class DateTime could not be converted to float +3.14 <=> resource = -1 +3.14 <=> NULL = 1 +'0' <=> false = 0 +'0' <=> true = -1 +'0' <=> 0 = 0 +'0' <=> 10 = -1 +'0' <=> 0.0 = 0 +'0' <=> 10.0 = -1 +'0' <=> 3.14 = -1 +'0' <=> '0' = 0 +'0' <=> '10' = -1 +'0' <=> '010' = -1 +'0' <=> '10 elephants' = -1 +'0' <=> 'foo' = -1 +'0' <=> array ( ) = -1 +'0' <=> array ( 0 => 1 ) = -1 +'0' <=> array ( 0 => 1, 1 => 100 ) = -1 +'0' <=> array ( 'foo' => 1, 'bar' => 2 ) = -1 +'0' <=> array ( 'bar' => 1, 'foo' => 2 ) = -1 +'0' <=> (object) array ( ) = -1 +'0' <=> (object) array ( 'foo' => 1, 'bar' => 2 ) = -1 +'0' <=> (object) array ( 'bar' => 1, 'foo' => 2 ) = -1 +'0' <=> DateTime = -1 +'0' <=> resource = -1 +'0' <=> NULL = 1 +'10' <=> false = 1 +'10' <=> true = 0 +'10' <=> 0 = 1 +'10' <=> 10 = 0 +'10' <=> 0.0 = 1 +'10' <=> 10.0 = 0 +'10' <=> 3.14 = 1 +'10' <=> '0' = 1 +'10' <=> '10' = 0 +'10' <=> '010' = 0 +'10' <=> '10 elephants' = -1 +'10' <=> 'foo' = -1 +'10' <=> array ( ) = -1 +'10' <=> array ( 0 => 1 ) = -1 +'10' <=> array ( 0 => 1, 1 => 100 ) = -1 +'10' <=> array ( 'foo' => 1, 'bar' => 2 ) = -1 +'10' <=> array ( 'bar' => 1, 'foo' => 2 ) = -1 +'10' <=> (object) array ( ) = -1 +'10' <=> (object) array ( 'foo' => 1, 'bar' => 2 ) = -1 +'10' <=> (object) array ( 'bar' => 1, 'foo' => 2 ) = -1 +'10' <=> DateTime = -1 +'10' <=> resource = 1 +'10' <=> NULL = 1 +'010' <=> false = 1 +'010' <=> true = 0 +'010' <=> 0 = 1 +'010' <=> 10 = 0 +'010' <=> 0.0 = 1 +'010' <=> 10.0 = 0 +'010' <=> 3.14 = 1 +'010' <=> '0' = 1 +'010' <=> '10' = 0 +'010' <=> '010' = 0 +'010' <=> '10 elephants' = -1 +'010' <=> 'foo' = -1 +'010' <=> array ( ) = -1 +'010' <=> array ( 0 => 1 ) = -1 +'010' <=> array ( 0 => 1, 1 => 100 ) = -1 +'010' <=> array ( 'foo' => 1, 'bar' => 2 ) = -1 +'010' <=> array ( 'bar' => 1, 'foo' => 2 ) = -1 +'010' <=> (object) array ( ) = -1 +'010' <=> (object) array ( 'foo' => 1, 'bar' => 2 ) = -1 +'010' <=> (object) array ( 'bar' => 1, 'foo' => 2 ) = -1 +'010' <=> DateTime = -1 +'010' <=> resource = 1 +'010' <=> NULL = 1 +'10 elephants' <=> false = 1 +'10 elephants' <=> true = 0 +'10 elephants' <=> 0 = 1 +'10 elephants' <=> 10 = 0 +'10 elephants' <=> 0.0 = 1 +'10 elephants' <=> 10.0 = 0 +'10 elephants' <=> 3.14 = 1 +'10 elephants' <=> '0' = 1 +'10 elephants' <=> '10' = 1 +'10 elephants' <=> '010' = 1 +'10 elephants' <=> '10 elephants' = 0 +'10 elephants' <=> 'foo' = -1 +'10 elephants' <=> array ( ) = -1 +'10 elephants' <=> array ( 0 => 1 ) = -1 +'10 elephants' <=> array ( 0 => 1, 1 => 100 ) = -1 +'10 elephants' <=> array ( 'foo' => 1, 'bar' => 2 ) = -1 +'10 elephants' <=> array ( 'bar' => 1, 'foo' => 2 ) = -1 +'10 elephants' <=> (object) array ( ) = -1 +'10 elephants' <=> (object) array ( 'foo' => 1, 'bar' => 2 ) = -1 +'10 elephants' <=> (object) array ( 'bar' => 1, 'foo' => 2 ) = -1 +'10 elephants' <=> DateTime = -1 +'10 elephants' <=> resource = 1 +'10 elephants' <=> NULL = 1 +'foo' <=> false = 1 +'foo' <=> true = 0 +'foo' <=> 0 = 0 +'foo' <=> 10 = -1 +'foo' <=> 0.0 = 0 +'foo' <=> 10.0 = -1 +'foo' <=> 3.14 = -1 +'foo' <=> '0' = 1 +'foo' <=> '10' = 1 +'foo' <=> '010' = 1 +'foo' <=> '10 elephants' = 1 +'foo' <=> 'foo' = 0 +'foo' <=> array ( ) = -1 +'foo' <=> array ( 0 => 1 ) = -1 +'foo' <=> array ( 0 => 1, 1 => 100 ) = -1 +'foo' <=> array ( 'foo' => 1, 'bar' => 2 ) = -1 +'foo' <=> array ( 'bar' => 1, 'foo' => 2 ) = -1 +'foo' <=> (object) array ( ) = -1 +'foo' <=> (object) array ( 'foo' => 1, 'bar' => 2 ) = -1 +'foo' <=> (object) array ( 'bar' => 1, 'foo' => 2 ) = -1 +'foo' <=> DateTime = -1 +'foo' <=> resource = -1 +'foo' <=> NULL = 1 +array ( ) <=> false = 0 +array ( ) <=> true = -1 +array ( ) <=> 0 = 1 +array ( ) <=> 10 = 1 +array ( ) <=> 0.0 = 1 +array ( ) <=> 10.0 = 1 +array ( ) <=> 3.14 = 1 +array ( ) <=> '0' = 1 +array ( ) <=> '10' = 1 +array ( ) <=> '010' = 1 +array ( ) <=> '10 elephants' = 1 +array ( ) <=> 'foo' = 1 +array ( ) <=> array ( ) = 0 +array ( ) <=> array ( 0 => 1 ) = -1 +array ( ) <=> array ( 0 => 1, 1 => 100 ) = -1 +array ( ) <=> array ( 'foo' => 1, 'bar' => 2 ) = -1 +array ( ) <=> array ( 'bar' => 1, 'foo' => 2 ) = -1 +array ( ) <=> (object) array ( ) = -1 +array ( ) <=> (object) array ( 'foo' => 1, 'bar' => 2 ) = -1 +array ( ) <=> (object) array ( 'bar' => 1, 'foo' => 2 ) = -1 +array ( ) <=> DateTime = -1 +array ( ) <=> resource = 1 +array ( ) <=> NULL = 0 +array ( 0 => 1 ) <=> false = 1 +array ( 0 => 1 ) <=> true = 0 +array ( 0 => 1 ) <=> 0 = 1 +array ( 0 => 1 ) <=> 10 = 1 +array ( 0 => 1 ) <=> 0.0 = 1 +array ( 0 => 1 ) <=> 10.0 = 1 +array ( 0 => 1 ) <=> 3.14 = 1 +array ( 0 => 1 ) <=> '0' = 1 +array ( 0 => 1 ) <=> '10' = 1 +array ( 0 => 1 ) <=> '010' = 1 +array ( 0 => 1 ) <=> '10 elephants' = 1 +array ( 0 => 1 ) <=> 'foo' = 1 +array ( 0 => 1 ) <=> array ( ) = 1 +array ( 0 => 1 ) <=> array ( 0 => 1 ) = 0 +array ( 0 => 1 ) <=> array ( 0 => 1, 1 => 100 ) = -1 +array ( 0 => 1 ) <=> array ( 'foo' => 1, 'bar' => 2 ) = -1 +array ( 0 => 1 ) <=> array ( 'bar' => 1, 'foo' => 2 ) = -1 +array ( 0 => 1 ) <=> (object) array ( ) = -1 +array ( 0 => 1 ) <=> (object) array ( 'foo' => 1, 'bar' => 2 ) = -1 +array ( 0 => 1 ) <=> (object) array ( 'bar' => 1, 'foo' => 2 ) = -1 +array ( 0 => 1 ) <=> DateTime = -1 +array ( 0 => 1 ) <=> resource = 1 +array ( 0 => 1 ) <=> NULL = 1 +array ( 0 => 1, 1 => 100 ) <=> false = 1 +array ( 0 => 1, 1 => 100 ) <=> true = 0 +array ( 0 => 1, 1 => 100 ) <=> 0 = 1 +array ( 0 => 1, 1 => 100 ) <=> 10 = 1 +array ( 0 => 1, 1 => 100 ) <=> 0.0 = 1 +array ( 0 => 1, 1 => 100 ) <=> 10.0 = 1 +array ( 0 => 1, 1 => 100 ) <=> 3.14 = 1 +array ( 0 => 1, 1 => 100 ) <=> '0' = 1 +array ( 0 => 1, 1 => 100 ) <=> '10' = 1 +array ( 0 => 1, 1 => 100 ) <=> '010' = 1 +array ( 0 => 1, 1 => 100 ) <=> '10 elephants' = 1 +array ( 0 => 1, 1 => 100 ) <=> 'foo' = 1 +array ( 0 => 1, 1 => 100 ) <=> array ( ) = 1 +array ( 0 => 1, 1 => 100 ) <=> array ( 0 => 1 ) = 1 +array ( 0 => 1, 1 => 100 ) <=> array ( 0 => 1, 1 => 100 ) = 0 +array ( 0 => 1, 1 => 100 ) <=> array ( 'foo' => 1, 'bar' => 2 ) = 1 +array ( 0 => 1, 1 => 100 ) <=> array ( 'bar' => 1, 'foo' => 2 ) = 1 +array ( 0 => 1, 1 => 100 ) <=> (object) array ( ) = -1 +array ( 0 => 1, 1 => 100 ) <=> (object) array ( 'foo' => 1, 'bar' => 2 ) = -1 +array ( 0 => 1, 1 => 100 ) <=> (object) array ( 'bar' => 1, 'foo' => 2 ) = -1 +array ( 0 => 1, 1 => 100 ) <=> DateTime = -1 +array ( 0 => 1, 1 => 100 ) <=> resource = 1 +array ( 0 => 1, 1 => 100 ) <=> NULL = 1 +array ( 'foo' => 1, 'bar' => 2 ) <=> false = 1 +array ( 'foo' => 1, 'bar' => 2 ) <=> true = 0 +array ( 'foo' => 1, 'bar' => 2 ) <=> 0 = 1 +array ( 'foo' => 1, 'bar' => 2 ) <=> 10 = 1 +array ( 'foo' => 1, 'bar' => 2 ) <=> 0.0 = 1 +array ( 'foo' => 1, 'bar' => 2 ) <=> 10.0 = 1 +array ( 'foo' => 1, 'bar' => 2 ) <=> 3.14 = 1 +array ( 'foo' => 1, 'bar' => 2 ) <=> '0' = 1 +array ( 'foo' => 1, 'bar' => 2 ) <=> '10' = 1 +array ( 'foo' => 1, 'bar' => 2 ) <=> '010' = 1 +array ( 'foo' => 1, 'bar' => 2 ) <=> '10 elephants' = 1 +array ( 'foo' => 1, 'bar' => 2 ) <=> 'foo' = 1 +array ( 'foo' => 1, 'bar' => 2 ) <=> array ( ) = 1 +array ( 'foo' => 1, 'bar' => 2 ) <=> array ( 0 => 1 ) = 1 +array ( 'foo' => 1, 'bar' => 2 ) <=> array ( 0 => 1, 1 => 100 ) = 1 +array ( 'foo' => 1, 'bar' => 2 ) <=> array ( 'foo' => 1, 'bar' => 2 ) = 0 +array ( 'foo' => 1, 'bar' => 2 ) <=> array ( 'bar' => 1, 'foo' => 2 ) = -1 +array ( 'foo' => 1, 'bar' => 2 ) <=> (object) array ( ) = -1 +array ( 'foo' => 1, 'bar' => 2 ) <=> (object) array ( 'foo' => 1, 'bar' => 2 ) = -1 +array ( 'foo' => 1, 'bar' => 2 ) <=> (object) array ( 'bar' => 1, 'foo' => 2 ) = -1 +array ( 'foo' => 1, 'bar' => 2 ) <=> DateTime = -1 +array ( 'foo' => 1, 'bar' => 2 ) <=> resource = 1 +array ( 'foo' => 1, 'bar' => 2 ) <=> NULL = 1 +array ( 'bar' => 1, 'foo' => 2 ) <=> false = 1 +array ( 'bar' => 1, 'foo' => 2 ) <=> true = 0 +array ( 'bar' => 1, 'foo' => 2 ) <=> 0 = 1 +array ( 'bar' => 1, 'foo' => 2 ) <=> 10 = 1 +array ( 'bar' => 1, 'foo' => 2 ) <=> 0.0 = 1 +array ( 'bar' => 1, 'foo' => 2 ) <=> 10.0 = 1 +array ( 'bar' => 1, 'foo' => 2 ) <=> 3.14 = 1 +array ( 'bar' => 1, 'foo' => 2 ) <=> '0' = 1 +array ( 'bar' => 1, 'foo' => 2 ) <=> '10' = 1 +array ( 'bar' => 1, 'foo' => 2 ) <=> '010' = 1 +array ( 'bar' => 1, 'foo' => 2 ) <=> '10 elephants' = 1 +array ( 'bar' => 1, 'foo' => 2 ) <=> 'foo' = 1 +array ( 'bar' => 1, 'foo' => 2 ) <=> array ( ) = 1 +array ( 'bar' => 1, 'foo' => 2 ) <=> array ( 0 => 1 ) = 1 +array ( 'bar' => 1, 'foo' => 2 ) <=> array ( 0 => 1, 1 => 100 ) = 1 +array ( 'bar' => 1, 'foo' => 2 ) <=> array ( 'foo' => 1, 'bar' => 2 ) = -1 +array ( 'bar' => 1, 'foo' => 2 ) <=> array ( 'bar' => 1, 'foo' => 2 ) = 0 +array ( 'bar' => 1, 'foo' => 2 ) <=> (object) array ( ) = -1 +array ( 'bar' => 1, 'foo' => 2 ) <=> (object) array ( 'foo' => 1, 'bar' => 2 ) = -1 +array ( 'bar' => 1, 'foo' => 2 ) <=> (object) array ( 'bar' => 1, 'foo' => 2 ) = -1 +array ( 'bar' => 1, 'foo' => 2 ) <=> DateTime = -1 +array ( 'bar' => 1, 'foo' => 2 ) <=> resource = 1 +array ( 'bar' => 1, 'foo' => 2 ) <=> NULL = 1 +(object) array ( ) <=> false = 1 +(object) array ( ) <=> true = 0 +(object) array ( ) <=> 0 = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( ) <=> 10 = -1 - Notice Object of class stdClass could not be converted to int +(object) array ( ) <=> 0.0 = 1 - Notice Object of class stdClass could not be converted to float +(object) array ( ) <=> 10.0 = -1 - Notice Object of class stdClass could not be converted to float +(object) array ( ) <=> 3.14 = -1 - Notice Object of class stdClass could not be converted to float +(object) array ( ) <=> '0' = 1 +(object) array ( ) <=> '10' = 1 +(object) array ( ) <=> '010' = 1 +(object) array ( ) <=> '10 elephants' = 1 +(object) array ( ) <=> 'foo' = 1 +(object) array ( ) <=> array ( ) = 1 +(object) array ( ) <=> array ( 0 => 1 ) = 1 +(object) array ( ) <=> array ( 0 => 1, 1 => 100 ) = 1 +(object) array ( ) <=> array ( 'foo' => 1, 'bar' => 2 ) = 1 +(object) array ( ) <=> array ( 'bar' => 1, 'foo' => 2 ) = 1 +(object) array ( ) <=> (object) array ( ) = 0 +(object) array ( ) <=> (object) array ( 'foo' => 1, 'bar' => 2 ) = -1 +(object) array ( ) <=> (object) array ( 'bar' => 1, 'foo' => 2 ) = -1 +(object) array ( ) <=> DateTime = 1 +(object) array ( ) <=> resource = 1 +(object) array ( ) <=> NULL = 1 +(object) array ( 'foo' => 1, 'bar' => 2 ) <=> false = 1 +(object) array ( 'foo' => 1, 'bar' => 2 ) <=> true = 0 +(object) array ( 'foo' => 1, 'bar' => 2 ) <=> 0 = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) <=> 10 = -1 - Notice Object of class stdClass could not be converted to int +(object) array ( 'foo' => 1, 'bar' => 2 ) <=> 0.0 = 1 - Notice Object of class stdClass could not be converted to float +(object) array ( 'foo' => 1, 'bar' => 2 ) <=> 10.0 = -1 - Notice Object of class stdClass could not be converted to float +(object) array ( 'foo' => 1, 'bar' => 2 ) <=> 3.14 = -1 - Notice Object of class stdClass could not be converted to float +(object) array ( 'foo' => 1, 'bar' => 2 ) <=> '0' = 1 +(object) array ( 'foo' => 1, 'bar' => 2 ) <=> '10' = 1 +(object) array ( 'foo' => 1, 'bar' => 2 ) <=> '010' = 1 +(object) array ( 'foo' => 1, 'bar' => 2 ) <=> '10 elephants' = 1 +(object) array ( 'foo' => 1, 'bar' => 2 ) <=> 'foo' = 1 +(object) array ( 'foo' => 1, 'bar' => 2 ) <=> array ( ) = 1 +(object) array ( 'foo' => 1, 'bar' => 2 ) <=> array ( 0 => 1 ) = 1 +(object) array ( 'foo' => 1, 'bar' => 2 ) <=> array ( 0 => 1, 1 => 100 ) = 1 +(object) array ( 'foo' => 1, 'bar' => 2 ) <=> array ( 'foo' => 1, 'bar' => 2 ) = 1 +(object) array ( 'foo' => 1, 'bar' => 2 ) <=> array ( 'bar' => 1, 'foo' => 2 ) = 1 +(object) array ( 'foo' => 1, 'bar' => 2 ) <=> (object) array ( ) = 1 +(object) array ( 'foo' => 1, 'bar' => 2 ) <=> (object) array ( 'foo' => 1, 'bar' => 2 ) = 0 +(object) array ( 'foo' => 1, 'bar' => 2 ) <=> (object) array ( 'bar' => 1, 'foo' => 2 ) = -1 +(object) array ( 'foo' => 1, 'bar' => 2 ) <=> DateTime = 1 +(object) array ( 'foo' => 1, 'bar' => 2 ) <=> resource = 1 +(object) array ( 'foo' => 1, 'bar' => 2 ) <=> NULL = 1 +(object) array ( 'bar' => 1, 'foo' => 2 ) <=> false = 1 +(object) array ( 'bar' => 1, 'foo' => 2 ) <=> true = 0 +(object) array ( 'bar' => 1, 'foo' => 2 ) <=> 0 = 1 - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) <=> 10 = -1 - Notice Object of class stdClass could not be converted to int +(object) array ( 'bar' => 1, 'foo' => 2 ) <=> 0.0 = 1 - Notice Object of class stdClass could not be converted to float +(object) array ( 'bar' => 1, 'foo' => 2 ) <=> 10.0 = -1 - Notice Object of class stdClass could not be converted to float +(object) array ( 'bar' => 1, 'foo' => 2 ) <=> 3.14 = -1 - Notice Object of class stdClass could not be converted to float +(object) array ( 'bar' => 1, 'foo' => 2 ) <=> '0' = 1 +(object) array ( 'bar' => 1, 'foo' => 2 ) <=> '10' = 1 +(object) array ( 'bar' => 1, 'foo' => 2 ) <=> '010' = 1 +(object) array ( 'bar' => 1, 'foo' => 2 ) <=> '10 elephants' = 1 +(object) array ( 'bar' => 1, 'foo' => 2 ) <=> 'foo' = 1 +(object) array ( 'bar' => 1, 'foo' => 2 ) <=> array ( ) = 1 +(object) array ( 'bar' => 1, 'foo' => 2 ) <=> array ( 0 => 1 ) = 1 +(object) array ( 'bar' => 1, 'foo' => 2 ) <=> array ( 0 => 1, 1 => 100 ) = 1 +(object) array ( 'bar' => 1, 'foo' => 2 ) <=> array ( 'foo' => 1, 'bar' => 2 ) = 1 +(object) array ( 'bar' => 1, 'foo' => 2 ) <=> array ( 'bar' => 1, 'foo' => 2 ) = 1 +(object) array ( 'bar' => 1, 'foo' => 2 ) <=> (object) array ( ) = 1 +(object) array ( 'bar' => 1, 'foo' => 2 ) <=> (object) array ( 'foo' => 1, 'bar' => 2 ) = -1 +(object) array ( 'bar' => 1, 'foo' => 2 ) <=> (object) array ( 'bar' => 1, 'foo' => 2 ) = 0 +(object) array ( 'bar' => 1, 'foo' => 2 ) <=> DateTime = 1 +(object) array ( 'bar' => 1, 'foo' => 2 ) <=> resource = 1 +(object) array ( 'bar' => 1, 'foo' => 2 ) <=> NULL = 1 +DateTime <=> false = 1 +DateTime <=> true = 0 +DateTime <=> 0 = 1 - Notice Object of class DateTime could not be converted to int +DateTime <=> 10 = -1 - Notice Object of class DateTime could not be converted to int +DateTime <=> 0.0 = 1 - Notice Object of class DateTime could not be converted to float +DateTime <=> 10.0 = -1 - Notice Object of class DateTime could not be converted to float +DateTime <=> 3.14 = -1 - Notice Object of class DateTime could not be converted to float +DateTime <=> '0' = 1 +DateTime <=> '10' = 1 +DateTime <=> '010' = 1 +DateTime <=> '10 elephants' = 1 +DateTime <=> 'foo' = 1 +DateTime <=> array ( ) = 1 +DateTime <=> array ( 0 => 1 ) = 1 +DateTime <=> array ( 0 => 1, 1 => 100 ) = 1 +DateTime <=> array ( 'foo' => 1, 'bar' => 2 ) = 1 +DateTime <=> array ( 'bar' => 1, 'foo' => 2 ) = 1 +DateTime <=> (object) array ( ) = 1 +DateTime <=> (object) array ( 'foo' => 1, 'bar' => 2 ) = 1 +DateTime <=> (object) array ( 'bar' => 1, 'foo' => 2 ) = 1 +DateTime <=> DateTime = 0 +DateTime <=> resource = 1 +DateTime <=> NULL = 1 +resource <=> false = 1 +resource <=> true = 0 +resource <=> 0 = 1 +resource <=> 10 = -1 +resource <=> 0.0 = 1 +resource <=> 10.0 = -1 +resource <=> 3.14 = 1 +resource <=> '0' = 1 +resource <=> '10' = -1 +resource <=> '010' = -1 +resource <=> '10 elephants' = -1 +resource <=> 'foo' = 1 +resource <=> array ( ) = -1 +resource <=> array ( 0 => 1 ) = -1 +resource <=> array ( 0 => 1, 1 => 100 ) = -1 +resource <=> array ( 'foo' => 1, 'bar' => 2 ) = -1 +resource <=> array ( 'bar' => 1, 'foo' => 2 ) = -1 +resource <=> (object) array ( ) = -1 +resource <=> (object) array ( 'foo' => 1, 'bar' => 2 ) = -1 +resource <=> (object) array ( 'bar' => 1, 'foo' => 2 ) = -1 +resource <=> DateTime = -1 +resource <=> resource = 0 +resource <=> NULL = 1 +NULL <=> false = 0 +NULL <=> true = -1 +NULL <=> 0 = 0 +NULL <=> 10 = -1 +NULL <=> 0.0 = 0 +NULL <=> 10.0 = -1 +NULL <=> 3.14 = -1 +NULL <=> '0' = -1 +NULL <=> '10' = -1 +NULL <=> '010' = -1 +NULL <=> '10 elephants' = -1 +NULL <=> 'foo' = -1 +NULL <=> array ( ) = 0 +NULL <=> array ( 0 => 1 ) = -1 +NULL <=> array ( 0 => 1, 1 => 100 ) = -1 +NULL <=> array ( 'foo' => 1, 'bar' => 2 ) = -1 +NULL <=> array ( 'bar' => 1, 'foo' => 2 ) = -1 +NULL <=> (object) array ( ) = -1 +NULL <=> (object) array ( 'foo' => 1, 'bar' => 2 ) = -1 +NULL <=> (object) array ( 'bar' => 1, 'foo' => 2 ) = -1 +NULL <=> DateTime = -1 +NULL <=> resource = -1 +NULL <=> NULL = 0 \ No newline at end of file diff --git a/Zend/tests/operators/comparison/spaceship_strict.phpt b/Zend/tests/operators/comparison/spaceship_strict.phpt new file mode 100644 index 000000000000..b72bcd39421e --- /dev/null +++ b/Zend/tests/operators/comparison/spaceship_strict.phpt @@ -0,0 +1,542 @@ +--TEST-- +spaceship '<=>' operator with strict_operators +--FILE-- + $b', function($a, $b) { return $a <=> $b; }); + +--EXPECT-- +false <=> false = 0 +false <=> true = -1 +false <=> 0 - TypeError Operand type mismatch bool and int for comparison +false <=> 10 - TypeError Operand type mismatch bool and int for comparison +false <=> 0.0 - TypeError Operand type mismatch bool and float for comparison +false <=> 10.0 - TypeError Operand type mismatch bool and float for comparison +false <=> 3.14 - TypeError Operand type mismatch bool and float for comparison +false <=> '0' - TypeError Operand type mismatch bool and string for comparison +false <=> '10' - TypeError Operand type mismatch bool and string for comparison +false <=> '010' - TypeError Operand type mismatch bool and string for comparison +false <=> '10 elephants' - TypeError Operand type mismatch bool and string for comparison +false <=> 'foo' - TypeError Operand type mismatch bool and string for comparison +false <=> array ( ) - TypeError Unsupported operand type array for comparison +false <=> array ( 0 => 1 ) - TypeError Unsupported operand type array for comparison +false <=> array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for comparison +false <=> array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for comparison +false <=> array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for comparison +false <=> (object) array ( ) - TypeError Unsupported operand type object for comparison +false <=> (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for comparison +false <=> (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for comparison +false <=> DateTime - TypeError Unsupported operand type object for comparison +false <=> resource - TypeError Unsupported operand type resource for comparison +false <=> NULL - TypeError Unsupported operand type null for comparison +true <=> false = 1 +true <=> true = 0 +true <=> 0 - TypeError Operand type mismatch bool and int for comparison +true <=> 10 - TypeError Operand type mismatch bool and int for comparison +true <=> 0.0 - TypeError Operand type mismatch bool and float for comparison +true <=> 10.0 - TypeError Operand type mismatch bool and float for comparison +true <=> 3.14 - TypeError Operand type mismatch bool and float for comparison +true <=> '0' - TypeError Operand type mismatch bool and string for comparison +true <=> '10' - TypeError Operand type mismatch bool and string for comparison +true <=> '010' - TypeError Operand type mismatch bool and string for comparison +true <=> '10 elephants' - TypeError Operand type mismatch bool and string for comparison +true <=> 'foo' - TypeError Operand type mismatch bool and string for comparison +true <=> array ( ) - TypeError Unsupported operand type array for comparison +true <=> array ( 0 => 1 ) - TypeError Unsupported operand type array for comparison +true <=> array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for comparison +true <=> array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for comparison +true <=> array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for comparison +true <=> (object) array ( ) - TypeError Unsupported operand type object for comparison +true <=> (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for comparison +true <=> (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for comparison +true <=> DateTime - TypeError Unsupported operand type object for comparison +true <=> resource - TypeError Unsupported operand type resource for comparison +true <=> NULL - TypeError Unsupported operand type null for comparison +0 <=> false - TypeError Operand type mismatch int and bool for comparison +0 <=> true - TypeError Operand type mismatch int and bool for comparison +0 <=> 0 = 0 +0 <=> 10 = -1 +0 <=> 0.0 = 0 +0 <=> 10.0 = -1 +0 <=> 3.14 = -1 +0 <=> '0' - TypeError Operand type mismatch int and string for comparison +0 <=> '10' - TypeError Operand type mismatch int and string for comparison +0 <=> '010' - TypeError Operand type mismatch int and string for comparison +0 <=> '10 elephants' - TypeError Operand type mismatch int and string for comparison +0 <=> 'foo' - TypeError Operand type mismatch int and string for comparison +0 <=> array ( ) - TypeError Unsupported operand type array for comparison +0 <=> array ( 0 => 1 ) - TypeError Unsupported operand type array for comparison +0 <=> array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for comparison +0 <=> array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for comparison +0 <=> array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for comparison +0 <=> (object) array ( ) - TypeError Unsupported operand type object for comparison +0 <=> (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for comparison +0 <=> (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for comparison +0 <=> DateTime - TypeError Unsupported operand type object for comparison +0 <=> resource - TypeError Unsupported operand type resource for comparison +0 <=> NULL - TypeError Unsupported operand type null for comparison +10 <=> false - TypeError Operand type mismatch int and bool for comparison +10 <=> true - TypeError Operand type mismatch int and bool for comparison +10 <=> 0 = 1 +10 <=> 10 = 0 +10 <=> 0.0 = 1 +10 <=> 10.0 = 0 +10 <=> 3.14 = 1 +10 <=> '0' - TypeError Operand type mismatch int and string for comparison +10 <=> '10' - TypeError Operand type mismatch int and string for comparison +10 <=> '010' - TypeError Operand type mismatch int and string for comparison +10 <=> '10 elephants' - TypeError Operand type mismatch int and string for comparison +10 <=> 'foo' - TypeError Operand type mismatch int and string for comparison +10 <=> array ( ) - TypeError Unsupported operand type array for comparison +10 <=> array ( 0 => 1 ) - TypeError Unsupported operand type array for comparison +10 <=> array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for comparison +10 <=> array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for comparison +10 <=> array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for comparison +10 <=> (object) array ( ) - TypeError Unsupported operand type object for comparison +10 <=> (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for comparison +10 <=> (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for comparison +10 <=> DateTime - TypeError Unsupported operand type object for comparison +10 <=> resource - TypeError Unsupported operand type resource for comparison +10 <=> NULL - TypeError Unsupported operand type null for comparison +0.0 <=> false - TypeError Operand type mismatch float and bool for comparison +0.0 <=> true - TypeError Operand type mismatch float and bool for comparison +0.0 <=> 0 = 0 +0.0 <=> 10 = -1 +0.0 <=> 0.0 = 0 +0.0 <=> 10.0 = -1 +0.0 <=> 3.14 = -1 +0.0 <=> '0' - TypeError Operand type mismatch float and string for comparison +0.0 <=> '10' - TypeError Operand type mismatch float and string for comparison +0.0 <=> '010' - TypeError Operand type mismatch float and string for comparison +0.0 <=> '10 elephants' - TypeError Operand type mismatch float and string for comparison +0.0 <=> 'foo' - TypeError Operand type mismatch float and string for comparison +0.0 <=> array ( ) - TypeError Unsupported operand type array for comparison +0.0 <=> array ( 0 => 1 ) - TypeError Unsupported operand type array for comparison +0.0 <=> array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for comparison +0.0 <=> array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for comparison +0.0 <=> array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for comparison +0.0 <=> (object) array ( ) - TypeError Unsupported operand type object for comparison +0.0 <=> (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for comparison +0.0 <=> (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for comparison +0.0 <=> DateTime - TypeError Unsupported operand type object for comparison +0.0 <=> resource - TypeError Unsupported operand type resource for comparison +0.0 <=> NULL - TypeError Unsupported operand type null for comparison +10.0 <=> false - TypeError Operand type mismatch float and bool for comparison +10.0 <=> true - TypeError Operand type mismatch float and bool for comparison +10.0 <=> 0 = 1 +10.0 <=> 10 = 0 +10.0 <=> 0.0 = 1 +10.0 <=> 10.0 = 0 +10.0 <=> 3.14 = 1 +10.0 <=> '0' - TypeError Operand type mismatch float and string for comparison +10.0 <=> '10' - TypeError Operand type mismatch float and string for comparison +10.0 <=> '010' - TypeError Operand type mismatch float and string for comparison +10.0 <=> '10 elephants' - TypeError Operand type mismatch float and string for comparison +10.0 <=> 'foo' - TypeError Operand type mismatch float and string for comparison +10.0 <=> array ( ) - TypeError Unsupported operand type array for comparison +10.0 <=> array ( 0 => 1 ) - TypeError Unsupported operand type array for comparison +10.0 <=> array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for comparison +10.0 <=> array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for comparison +10.0 <=> array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for comparison +10.0 <=> (object) array ( ) - TypeError Unsupported operand type object for comparison +10.0 <=> (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for comparison +10.0 <=> (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for comparison +10.0 <=> DateTime - TypeError Unsupported operand type object for comparison +10.0 <=> resource - TypeError Unsupported operand type resource for comparison +10.0 <=> NULL - TypeError Unsupported operand type null for comparison +3.14 <=> false - TypeError Operand type mismatch float and bool for comparison +3.14 <=> true - TypeError Operand type mismatch float and bool for comparison +3.14 <=> 0 = 1 +3.14 <=> 10 = -1 +3.14 <=> 0.0 = 1 +3.14 <=> 10.0 = -1 +3.14 <=> 3.14 = 0 +3.14 <=> '0' - TypeError Operand type mismatch float and string for comparison +3.14 <=> '10' - TypeError Operand type mismatch float and string for comparison +3.14 <=> '010' - TypeError Operand type mismatch float and string for comparison +3.14 <=> '10 elephants' - TypeError Operand type mismatch float and string for comparison +3.14 <=> 'foo' - TypeError Operand type mismatch float and string for comparison +3.14 <=> array ( ) - TypeError Unsupported operand type array for comparison +3.14 <=> array ( 0 => 1 ) - TypeError Unsupported operand type array for comparison +3.14 <=> array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for comparison +3.14 <=> array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for comparison +3.14 <=> array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for comparison +3.14 <=> (object) array ( ) - TypeError Unsupported operand type object for comparison +3.14 <=> (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for comparison +3.14 <=> (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for comparison +3.14 <=> DateTime - TypeError Unsupported operand type object for comparison +3.14 <=> resource - TypeError Unsupported operand type resource for comparison +3.14 <=> NULL - TypeError Unsupported operand type null for comparison +'0' <=> false - TypeError Operand type mismatch string and bool for comparison +'0' <=> true - TypeError Operand type mismatch string and bool for comparison +'0' <=> 0 - TypeError Operand type mismatch string and int for comparison +'0' <=> 10 - TypeError Operand type mismatch string and int for comparison +'0' <=> 0.0 - TypeError Operand type mismatch string and float for comparison +'0' <=> 10.0 - TypeError Operand type mismatch string and float for comparison +'0' <=> 3.14 - TypeError Operand type mismatch string and float for comparison +'0' <=> '0' = 0 +'0' <=> '10' = -1 +'0' <=> '010' = -1 +'0' <=> '10 elephants' = -1 +'0' <=> 'foo' = -1 +'0' <=> array ( ) - TypeError Unsupported operand type array for comparison +'0' <=> array ( 0 => 1 ) - TypeError Unsupported operand type array for comparison +'0' <=> array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for comparison +'0' <=> array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for comparison +'0' <=> array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for comparison +'0' <=> (object) array ( ) - TypeError Unsupported operand type object for comparison +'0' <=> (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for comparison +'0' <=> (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for comparison +'0' <=> DateTime - TypeError Unsupported operand type object for comparison +'0' <=> resource - TypeError Unsupported operand type resource for comparison +'0' <=> NULL - TypeError Unsupported operand type null for comparison +'10' <=> false - TypeError Operand type mismatch string and bool for comparison +'10' <=> true - TypeError Operand type mismatch string and bool for comparison +'10' <=> 0 - TypeError Operand type mismatch string and int for comparison +'10' <=> 10 - TypeError Operand type mismatch string and int for comparison +'10' <=> 0.0 - TypeError Operand type mismatch string and float for comparison +'10' <=> 10.0 - TypeError Operand type mismatch string and float for comparison +'10' <=> 3.14 - TypeError Operand type mismatch string and float for comparison +'10' <=> '0' = 1 +'10' <=> '10' = 0 +'10' <=> '010' = 1 +'10' <=> '10 elephants' = -1 +'10' <=> 'foo' = -1 +'10' <=> array ( ) - TypeError Unsupported operand type array for comparison +'10' <=> array ( 0 => 1 ) - TypeError Unsupported operand type array for comparison +'10' <=> array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for comparison +'10' <=> array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for comparison +'10' <=> array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for comparison +'10' <=> (object) array ( ) - TypeError Unsupported operand type object for comparison +'10' <=> (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for comparison +'10' <=> (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for comparison +'10' <=> DateTime - TypeError Unsupported operand type object for comparison +'10' <=> resource - TypeError Unsupported operand type resource for comparison +'10' <=> NULL - TypeError Unsupported operand type null for comparison +'010' <=> false - TypeError Operand type mismatch string and bool for comparison +'010' <=> true - TypeError Operand type mismatch string and bool for comparison +'010' <=> 0 - TypeError Operand type mismatch string and int for comparison +'010' <=> 10 - TypeError Operand type mismatch string and int for comparison +'010' <=> 0.0 - TypeError Operand type mismatch string and float for comparison +'010' <=> 10.0 - TypeError Operand type mismatch string and float for comparison +'010' <=> 3.14 - TypeError Operand type mismatch string and float for comparison +'010' <=> '0' = 1 +'010' <=> '10' = -1 +'010' <=> '010' = 0 +'010' <=> '10 elephants' = -1 +'010' <=> 'foo' = -1 +'010' <=> array ( ) - TypeError Unsupported operand type array for comparison +'010' <=> array ( 0 => 1 ) - TypeError Unsupported operand type array for comparison +'010' <=> array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for comparison +'010' <=> array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for comparison +'010' <=> array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for comparison +'010' <=> (object) array ( ) - TypeError Unsupported operand type object for comparison +'010' <=> (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for comparison +'010' <=> (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for comparison +'010' <=> DateTime - TypeError Unsupported operand type object for comparison +'010' <=> resource - TypeError Unsupported operand type resource for comparison +'010' <=> NULL - TypeError Unsupported operand type null for comparison +'10 elephants' <=> false - TypeError Operand type mismatch string and bool for comparison +'10 elephants' <=> true - TypeError Operand type mismatch string and bool for comparison +'10 elephants' <=> 0 - TypeError Operand type mismatch string and int for comparison +'10 elephants' <=> 10 - TypeError Operand type mismatch string and int for comparison +'10 elephants' <=> 0.0 - TypeError Operand type mismatch string and float for comparison +'10 elephants' <=> 10.0 - TypeError Operand type mismatch string and float for comparison +'10 elephants' <=> 3.14 - TypeError Operand type mismatch string and float for comparison +'10 elephants' <=> '0' = 1 +'10 elephants' <=> '10' = 1 +'10 elephants' <=> '010' = 1 +'10 elephants' <=> '10 elephants' = 0 +'10 elephants' <=> 'foo' = -1 +'10 elephants' <=> array ( ) - TypeError Unsupported operand type array for comparison +'10 elephants' <=> array ( 0 => 1 ) - TypeError Unsupported operand type array for comparison +'10 elephants' <=> array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for comparison +'10 elephants' <=> array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for comparison +'10 elephants' <=> array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for comparison +'10 elephants' <=> (object) array ( ) - TypeError Unsupported operand type object for comparison +'10 elephants' <=> (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for comparison +'10 elephants' <=> (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for comparison +'10 elephants' <=> DateTime - TypeError Unsupported operand type object for comparison +'10 elephants' <=> resource - TypeError Unsupported operand type resource for comparison +'10 elephants' <=> NULL - TypeError Unsupported operand type null for comparison +'foo' <=> false - TypeError Operand type mismatch string and bool for comparison +'foo' <=> true - TypeError Operand type mismatch string and bool for comparison +'foo' <=> 0 - TypeError Operand type mismatch string and int for comparison +'foo' <=> 10 - TypeError Operand type mismatch string and int for comparison +'foo' <=> 0.0 - TypeError Operand type mismatch string and float for comparison +'foo' <=> 10.0 - TypeError Operand type mismatch string and float for comparison +'foo' <=> 3.14 - TypeError Operand type mismatch string and float for comparison +'foo' <=> '0' = 1 +'foo' <=> '10' = 1 +'foo' <=> '010' = 1 +'foo' <=> '10 elephants' = 1 +'foo' <=> 'foo' = 0 +'foo' <=> array ( ) - TypeError Unsupported operand type array for comparison +'foo' <=> array ( 0 => 1 ) - TypeError Unsupported operand type array for comparison +'foo' <=> array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for comparison +'foo' <=> array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for comparison +'foo' <=> array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for comparison +'foo' <=> (object) array ( ) - TypeError Unsupported operand type object for comparison +'foo' <=> (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for comparison +'foo' <=> (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for comparison +'foo' <=> DateTime - TypeError Unsupported operand type object for comparison +'foo' <=> resource - TypeError Unsupported operand type resource for comparison +'foo' <=> NULL - TypeError Unsupported operand type null for comparison +array ( ) <=> false - TypeError Unsupported operand type array for comparison +array ( ) <=> true - TypeError Unsupported operand type array for comparison +array ( ) <=> 0 - TypeError Unsupported operand type array for comparison +array ( ) <=> 10 - TypeError Unsupported operand type array for comparison +array ( ) <=> 0.0 - TypeError Unsupported operand type array for comparison +array ( ) <=> 10.0 - TypeError Unsupported operand type array for comparison +array ( ) <=> 3.14 - TypeError Unsupported operand type array for comparison +array ( ) <=> '0' - TypeError Unsupported operand type array for comparison +array ( ) <=> '10' - TypeError Unsupported operand type array for comparison +array ( ) <=> '010' - TypeError Unsupported operand type array for comparison +array ( ) <=> '10 elephants' - TypeError Unsupported operand type array for comparison +array ( ) <=> 'foo' - TypeError Unsupported operand type array for comparison +array ( ) <=> array ( ) - TypeError Unsupported operand type array for comparison +array ( ) <=> array ( 0 => 1 ) - TypeError Unsupported operand type array for comparison +array ( ) <=> array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for comparison +array ( ) <=> array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for comparison +array ( ) <=> array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for comparison +array ( ) <=> (object) array ( ) - TypeError Unsupported operand type array for comparison +array ( ) <=> (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for comparison +array ( ) <=> (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for comparison +array ( ) <=> DateTime - TypeError Unsupported operand type array for comparison +array ( ) <=> resource - TypeError Unsupported operand type array for comparison +array ( ) <=> NULL - TypeError Unsupported operand type array for comparison +array ( 0 => 1 ) <=> false - TypeError Unsupported operand type array for comparison +array ( 0 => 1 ) <=> true - TypeError Unsupported operand type array for comparison +array ( 0 => 1 ) <=> 0 - TypeError Unsupported operand type array for comparison +array ( 0 => 1 ) <=> 10 - TypeError Unsupported operand type array for comparison +array ( 0 => 1 ) <=> 0.0 - TypeError Unsupported operand type array for comparison +array ( 0 => 1 ) <=> 10.0 - TypeError Unsupported operand type array for comparison +array ( 0 => 1 ) <=> 3.14 - TypeError Unsupported operand type array for comparison +array ( 0 => 1 ) <=> '0' - TypeError Unsupported operand type array for comparison +array ( 0 => 1 ) <=> '10' - TypeError Unsupported operand type array for comparison +array ( 0 => 1 ) <=> '010' - TypeError Unsupported operand type array for comparison +array ( 0 => 1 ) <=> '10 elephants' - TypeError Unsupported operand type array for comparison +array ( 0 => 1 ) <=> 'foo' - TypeError Unsupported operand type array for comparison +array ( 0 => 1 ) <=> array ( ) - TypeError Unsupported operand type array for comparison +array ( 0 => 1 ) <=> array ( 0 => 1 ) - TypeError Unsupported operand type array for comparison +array ( 0 => 1 ) <=> array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for comparison +array ( 0 => 1 ) <=> array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for comparison +array ( 0 => 1 ) <=> array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for comparison +array ( 0 => 1 ) <=> (object) array ( ) - TypeError Unsupported operand type array for comparison +array ( 0 => 1 ) <=> (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for comparison +array ( 0 => 1 ) <=> (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for comparison +array ( 0 => 1 ) <=> DateTime - TypeError Unsupported operand type array for comparison +array ( 0 => 1 ) <=> resource - TypeError Unsupported operand type array for comparison +array ( 0 => 1 ) <=> NULL - TypeError Unsupported operand type array for comparison +array ( 0 => 1, 1 => 100 ) <=> false - TypeError Unsupported operand type array for comparison +array ( 0 => 1, 1 => 100 ) <=> true - TypeError Unsupported operand type array for comparison +array ( 0 => 1, 1 => 100 ) <=> 0 - TypeError Unsupported operand type array for comparison +array ( 0 => 1, 1 => 100 ) <=> 10 - TypeError Unsupported operand type array for comparison +array ( 0 => 1, 1 => 100 ) <=> 0.0 - TypeError Unsupported operand type array for comparison +array ( 0 => 1, 1 => 100 ) <=> 10.0 - TypeError Unsupported operand type array for comparison +array ( 0 => 1, 1 => 100 ) <=> 3.14 - TypeError Unsupported operand type array for comparison +array ( 0 => 1, 1 => 100 ) <=> '0' - TypeError Unsupported operand type array for comparison +array ( 0 => 1, 1 => 100 ) <=> '10' - TypeError Unsupported operand type array for comparison +array ( 0 => 1, 1 => 100 ) <=> '010' - TypeError Unsupported operand type array for comparison +array ( 0 => 1, 1 => 100 ) <=> '10 elephants' - TypeError Unsupported operand type array for comparison +array ( 0 => 1, 1 => 100 ) <=> 'foo' - TypeError Unsupported operand type array for comparison +array ( 0 => 1, 1 => 100 ) <=> array ( ) - TypeError Unsupported operand type array for comparison +array ( 0 => 1, 1 => 100 ) <=> array ( 0 => 1 ) - TypeError Unsupported operand type array for comparison +array ( 0 => 1, 1 => 100 ) <=> array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for comparison +array ( 0 => 1, 1 => 100 ) <=> array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for comparison +array ( 0 => 1, 1 => 100 ) <=> array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for comparison +array ( 0 => 1, 1 => 100 ) <=> (object) array ( ) - TypeError Unsupported operand type array for comparison +array ( 0 => 1, 1 => 100 ) <=> (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for comparison +array ( 0 => 1, 1 => 100 ) <=> (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for comparison +array ( 0 => 1, 1 => 100 ) <=> DateTime - TypeError Unsupported operand type array for comparison +array ( 0 => 1, 1 => 100 ) <=> resource - TypeError Unsupported operand type array for comparison +array ( 0 => 1, 1 => 100 ) <=> NULL - TypeError Unsupported operand type array for comparison +array ( 'foo' => 1, 'bar' => 2 ) <=> false - TypeError Unsupported operand type array for comparison +array ( 'foo' => 1, 'bar' => 2 ) <=> true - TypeError Unsupported operand type array for comparison +array ( 'foo' => 1, 'bar' => 2 ) <=> 0 - TypeError Unsupported operand type array for comparison +array ( 'foo' => 1, 'bar' => 2 ) <=> 10 - TypeError Unsupported operand type array for comparison +array ( 'foo' => 1, 'bar' => 2 ) <=> 0.0 - TypeError Unsupported operand type array for comparison +array ( 'foo' => 1, 'bar' => 2 ) <=> 10.0 - TypeError Unsupported operand type array for comparison +array ( 'foo' => 1, 'bar' => 2 ) <=> 3.14 - TypeError Unsupported operand type array for comparison +array ( 'foo' => 1, 'bar' => 2 ) <=> '0' - TypeError Unsupported operand type array for comparison +array ( 'foo' => 1, 'bar' => 2 ) <=> '10' - TypeError Unsupported operand type array for comparison +array ( 'foo' => 1, 'bar' => 2 ) <=> '010' - TypeError Unsupported operand type array for comparison +array ( 'foo' => 1, 'bar' => 2 ) <=> '10 elephants' - TypeError Unsupported operand type array for comparison +array ( 'foo' => 1, 'bar' => 2 ) <=> 'foo' - TypeError Unsupported operand type array for comparison +array ( 'foo' => 1, 'bar' => 2 ) <=> array ( ) - TypeError Unsupported operand type array for comparison +array ( 'foo' => 1, 'bar' => 2 ) <=> array ( 0 => 1 ) - TypeError Unsupported operand type array for comparison +array ( 'foo' => 1, 'bar' => 2 ) <=> array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for comparison +array ( 'foo' => 1, 'bar' => 2 ) <=> array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for comparison +array ( 'foo' => 1, 'bar' => 2 ) <=> array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for comparison +array ( 'foo' => 1, 'bar' => 2 ) <=> (object) array ( ) - TypeError Unsupported operand type array for comparison +array ( 'foo' => 1, 'bar' => 2 ) <=> (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for comparison +array ( 'foo' => 1, 'bar' => 2 ) <=> (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for comparison +array ( 'foo' => 1, 'bar' => 2 ) <=> DateTime - TypeError Unsupported operand type array for comparison +array ( 'foo' => 1, 'bar' => 2 ) <=> resource - TypeError Unsupported operand type array for comparison +array ( 'foo' => 1, 'bar' => 2 ) <=> NULL - TypeError Unsupported operand type array for comparison +array ( 'bar' => 1, 'foo' => 2 ) <=> false - TypeError Unsupported operand type array for comparison +array ( 'bar' => 1, 'foo' => 2 ) <=> true - TypeError Unsupported operand type array for comparison +array ( 'bar' => 1, 'foo' => 2 ) <=> 0 - TypeError Unsupported operand type array for comparison +array ( 'bar' => 1, 'foo' => 2 ) <=> 10 - TypeError Unsupported operand type array for comparison +array ( 'bar' => 1, 'foo' => 2 ) <=> 0.0 - TypeError Unsupported operand type array for comparison +array ( 'bar' => 1, 'foo' => 2 ) <=> 10.0 - TypeError Unsupported operand type array for comparison +array ( 'bar' => 1, 'foo' => 2 ) <=> 3.14 - TypeError Unsupported operand type array for comparison +array ( 'bar' => 1, 'foo' => 2 ) <=> '0' - TypeError Unsupported operand type array for comparison +array ( 'bar' => 1, 'foo' => 2 ) <=> '10' - TypeError Unsupported operand type array for comparison +array ( 'bar' => 1, 'foo' => 2 ) <=> '010' - TypeError Unsupported operand type array for comparison +array ( 'bar' => 1, 'foo' => 2 ) <=> '10 elephants' - TypeError Unsupported operand type array for comparison +array ( 'bar' => 1, 'foo' => 2 ) <=> 'foo' - TypeError Unsupported operand type array for comparison +array ( 'bar' => 1, 'foo' => 2 ) <=> array ( ) - TypeError Unsupported operand type array for comparison +array ( 'bar' => 1, 'foo' => 2 ) <=> array ( 0 => 1 ) - TypeError Unsupported operand type array for comparison +array ( 'bar' => 1, 'foo' => 2 ) <=> array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for comparison +array ( 'bar' => 1, 'foo' => 2 ) <=> array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for comparison +array ( 'bar' => 1, 'foo' => 2 ) <=> array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for comparison +array ( 'bar' => 1, 'foo' => 2 ) <=> (object) array ( ) - TypeError Unsupported operand type array for comparison +array ( 'bar' => 1, 'foo' => 2 ) <=> (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for comparison +array ( 'bar' => 1, 'foo' => 2 ) <=> (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for comparison +array ( 'bar' => 1, 'foo' => 2 ) <=> DateTime - TypeError Unsupported operand type array for comparison +array ( 'bar' => 1, 'foo' => 2 ) <=> resource - TypeError Unsupported operand type array for comparison +array ( 'bar' => 1, 'foo' => 2 ) <=> NULL - TypeError Unsupported operand type array for comparison +(object) array ( ) <=> false - TypeError Unsupported operand type object for comparison +(object) array ( ) <=> true - TypeError Unsupported operand type object for comparison +(object) array ( ) <=> 0 - TypeError Unsupported operand type object for comparison +(object) array ( ) <=> 10 - TypeError Unsupported operand type object for comparison +(object) array ( ) <=> 0.0 - TypeError Unsupported operand type object for comparison +(object) array ( ) <=> 10.0 - TypeError Unsupported operand type object for comparison +(object) array ( ) <=> 3.14 - TypeError Unsupported operand type object for comparison +(object) array ( ) <=> '0' - TypeError Unsupported operand type object for comparison +(object) array ( ) <=> '10' - TypeError Unsupported operand type object for comparison +(object) array ( ) <=> '010' - TypeError Unsupported operand type object for comparison +(object) array ( ) <=> '10 elephants' - TypeError Unsupported operand type object for comparison +(object) array ( ) <=> 'foo' - TypeError Unsupported operand type object for comparison +(object) array ( ) <=> array ( ) - TypeError Unsupported operand type object for comparison +(object) array ( ) <=> array ( 0 => 1 ) - TypeError Unsupported operand type object for comparison +(object) array ( ) <=> array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type object for comparison +(object) array ( ) <=> array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for comparison +(object) array ( ) <=> array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for comparison +(object) array ( ) <=> (object) array ( ) - TypeError Unsupported operand type object for comparison +(object) array ( ) <=> (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for comparison +(object) array ( ) <=> (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for comparison +(object) array ( ) <=> DateTime - TypeError Unsupported operand type object for comparison +(object) array ( ) <=> resource - TypeError Unsupported operand type object for comparison +(object) array ( ) <=> NULL - TypeError Unsupported operand type object for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) <=> false - TypeError Unsupported operand type object for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) <=> true - TypeError Unsupported operand type object for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) <=> 0 - TypeError Unsupported operand type object for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) <=> 10 - TypeError Unsupported operand type object for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) <=> 0.0 - TypeError Unsupported operand type object for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) <=> 10.0 - TypeError Unsupported operand type object for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) <=> 3.14 - TypeError Unsupported operand type object for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) <=> '0' - TypeError Unsupported operand type object for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) <=> '10' - TypeError Unsupported operand type object for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) <=> '010' - TypeError Unsupported operand type object for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) <=> '10 elephants' - TypeError Unsupported operand type object for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) <=> 'foo' - TypeError Unsupported operand type object for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) <=> array ( ) - TypeError Unsupported operand type object for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) <=> array ( 0 => 1 ) - TypeError Unsupported operand type object for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) <=> array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type object for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) <=> array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) <=> array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) <=> (object) array ( ) - TypeError Unsupported operand type object for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) <=> (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) <=> (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) <=> DateTime - TypeError Unsupported operand type object for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) <=> resource - TypeError Unsupported operand type object for comparison +(object) array ( 'foo' => 1, 'bar' => 2 ) <=> NULL - TypeError Unsupported operand type object for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) <=> false - TypeError Unsupported operand type object for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) <=> true - TypeError Unsupported operand type object for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) <=> 0 - TypeError Unsupported operand type object for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) <=> 10 - TypeError Unsupported operand type object for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) <=> 0.0 - TypeError Unsupported operand type object for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) <=> 10.0 - TypeError Unsupported operand type object for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) <=> 3.14 - TypeError Unsupported operand type object for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) <=> '0' - TypeError Unsupported operand type object for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) <=> '10' - TypeError Unsupported operand type object for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) <=> '010' - TypeError Unsupported operand type object for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) <=> '10 elephants' - TypeError Unsupported operand type object for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) <=> 'foo' - TypeError Unsupported operand type object for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) <=> array ( ) - TypeError Unsupported operand type object for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) <=> array ( 0 => 1 ) - TypeError Unsupported operand type object for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) <=> array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type object for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) <=> array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) <=> array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) <=> (object) array ( ) - TypeError Unsupported operand type object for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) <=> (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) <=> (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) <=> DateTime - TypeError Unsupported operand type object for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) <=> resource - TypeError Unsupported operand type object for comparison +(object) array ( 'bar' => 1, 'foo' => 2 ) <=> NULL - TypeError Unsupported operand type object for comparison +DateTime <=> false - TypeError Unsupported operand type object for comparison +DateTime <=> true - TypeError Unsupported operand type object for comparison +DateTime <=> 0 - TypeError Unsupported operand type object for comparison +DateTime <=> 10 - TypeError Unsupported operand type object for comparison +DateTime <=> 0.0 - TypeError Unsupported operand type object for comparison +DateTime <=> 10.0 - TypeError Unsupported operand type object for comparison +DateTime <=> 3.14 - TypeError Unsupported operand type object for comparison +DateTime <=> '0' - TypeError Unsupported operand type object for comparison +DateTime <=> '10' - TypeError Unsupported operand type object for comparison +DateTime <=> '010' - TypeError Unsupported operand type object for comparison +DateTime <=> '10 elephants' - TypeError Unsupported operand type object for comparison +DateTime <=> 'foo' - TypeError Unsupported operand type object for comparison +DateTime <=> array ( ) - TypeError Unsupported operand type object for comparison +DateTime <=> array ( 0 => 1 ) - TypeError Unsupported operand type object for comparison +DateTime <=> array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type object for comparison +DateTime <=> array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for comparison +DateTime <=> array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for comparison +DateTime <=> (object) array ( ) - TypeError Unsupported operand type object for comparison +DateTime <=> (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for comparison +DateTime <=> (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for comparison +DateTime <=> DateTime - TypeError Unsupported operand type object for comparison +DateTime <=> resource - TypeError Unsupported operand type object for comparison +DateTime <=> NULL - TypeError Unsupported operand type object for comparison +resource <=> false - TypeError Unsupported operand type resource for comparison +resource <=> true - TypeError Unsupported operand type resource for comparison +resource <=> 0 - TypeError Unsupported operand type resource for comparison +resource <=> 10 - TypeError Unsupported operand type resource for comparison +resource <=> 0.0 - TypeError Unsupported operand type resource for comparison +resource <=> 10.0 - TypeError Unsupported operand type resource for comparison +resource <=> 3.14 - TypeError Unsupported operand type resource for comparison +resource <=> '0' - TypeError Unsupported operand type resource for comparison +resource <=> '10' - TypeError Unsupported operand type resource for comparison +resource <=> '010' - TypeError Unsupported operand type resource for comparison +resource <=> '10 elephants' - TypeError Unsupported operand type resource for comparison +resource <=> 'foo' - TypeError Unsupported operand type resource for comparison +resource <=> array ( ) - TypeError Unsupported operand type resource for comparison +resource <=> array ( 0 => 1 ) - TypeError Unsupported operand type resource for comparison +resource <=> array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type resource for comparison +resource <=> array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type resource for comparison +resource <=> array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type resource for comparison +resource <=> (object) array ( ) - TypeError Unsupported operand type resource for comparison +resource <=> (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type resource for comparison +resource <=> (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type resource for comparison +resource <=> DateTime - TypeError Unsupported operand type resource for comparison +resource <=> resource - TypeError Unsupported operand type resource for comparison +resource <=> NULL - TypeError Unsupported operand type resource for comparison +NULL <=> false - TypeError Unsupported operand type null for comparison +NULL <=> true - TypeError Unsupported operand type null for comparison +NULL <=> 0 - TypeError Unsupported operand type null for comparison +NULL <=> 10 - TypeError Unsupported operand type null for comparison +NULL <=> 0.0 - TypeError Unsupported operand type null for comparison +NULL <=> 10.0 - TypeError Unsupported operand type null for comparison +NULL <=> 3.14 - TypeError Unsupported operand type null for comparison +NULL <=> '0' - TypeError Unsupported operand type null for comparison +NULL <=> '10' - TypeError Unsupported operand type null for comparison +NULL <=> '010' - TypeError Unsupported operand type null for comparison +NULL <=> '10 elephants' - TypeError Unsupported operand type null for comparison +NULL <=> 'foo' - TypeError Unsupported operand type null for comparison +NULL <=> array ( ) - TypeError Unsupported operand type null for comparison +NULL <=> array ( 0 => 1 ) - TypeError Unsupported operand type null for comparison +NULL <=> array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type null for comparison +NULL <=> array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type null for comparison +NULL <=> array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type null for comparison +NULL <=> (object) array ( ) - TypeError Unsupported operand type null for comparison +NULL <=> (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type null for comparison +NULL <=> (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type null for comparison +NULL <=> DateTime - TypeError Unsupported operand type null for comparison +NULL <=> resource - TypeError Unsupported operand type null for comparison +NULL <=> NULL - TypeError Unsupported operand type null for comparison \ No newline at end of file diff --git a/Zend/tests/operators/incrementing/decrement.phpt b/Zend/tests/operators/incrementing/decrement.phpt new file mode 100644 index 000000000000..d9a9d3b9dad8 --- /dev/null +++ b/Zend/tests/operators/incrementing/decrement.phpt @@ -0,0 +1,34 @@ +--TEST-- +decrement (--) operator +--FILE-- + 1 ) = array ( 0 => 1 ) +--array ( 0 => 1, 1 => 100 ) = array ( 0 => 1, 1 => 100 ) +--array ( 'foo' => 1, 'bar' => 2 ) = array ( 'foo' => 1, 'bar' => 2 ) +--array ( 'bar' => 1, 'foo' => 2 ) = array ( 'bar' => 1, 'foo' => 2 ) +--(object) array ( ) = (object) array ( ) +--(object) array ( 'foo' => 1, 'bar' => 2 ) = (object) array ( 'foo' => 1, 'bar' => 2 ) +--(object) array ( 'bar' => 1, 'foo' => 2 ) = (object) array ( 'bar' => 1, 'foo' => 2 ) +--DateTime = DateTime +--resource = resource +--NULL = NULL \ No newline at end of file diff --git a/Zend/tests/operators/incrementing/decrement_strict.phpt b/Zend/tests/operators/incrementing/decrement_strict.phpt new file mode 100644 index 000000000000..618ce48df9ae --- /dev/null +++ b/Zend/tests/operators/incrementing/decrement_strict.phpt @@ -0,0 +1,36 @@ +--TEST-- +decrement (--) operator with strict_operators +--FILE-- + 1 ) - TypeError Unsupported operand type array for decrement operation +--array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for decrement operation +--array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for decrement operation +--array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for decrement operation +--(object) array ( ) - TypeError Unsupported operand type object for decrement operation +--(object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for decrement operation +--(object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for decrement operation +--DateTime - TypeError Unsupported operand type object for decrement operation +--resource - TypeError Unsupported operand type resource for decrement operation +--NULL - TypeError Unsupported operand type null for decrement operation \ No newline at end of file diff --git a/Zend/tests/operators/incrementing/increment.phpt b/Zend/tests/operators/incrementing/increment.phpt new file mode 100644 index 000000000000..48c4d97f244c --- /dev/null +++ b/Zend/tests/operators/incrementing/increment.phpt @@ -0,0 +1,34 @@ +--TEST-- +increment (++) operator +--FILE-- + 1 ) = array ( 0 => 1 ) +++array ( 0 => 1, 1 => 100 ) = array ( 0 => 1, 1 => 100 ) +++array ( 'foo' => 1, 'bar' => 2 ) = array ( 'foo' => 1, 'bar' => 2 ) +++array ( 'bar' => 1, 'foo' => 2 ) = array ( 'bar' => 1, 'foo' => 2 ) +++(object) array ( ) = (object) array ( ) +++(object) array ( 'foo' => 1, 'bar' => 2 ) = (object) array ( 'foo' => 1, 'bar' => 2 ) +++(object) array ( 'bar' => 1, 'foo' => 2 ) = (object) array ( 'bar' => 1, 'foo' => 2 ) +++DateTime = DateTime +++resource = resource +++NULL = 1 diff --git a/Zend/tests/operators/incrementing/increment_strict.phpt b/Zend/tests/operators/incrementing/increment_strict.phpt new file mode 100644 index 000000000000..280befebe56d --- /dev/null +++ b/Zend/tests/operators/incrementing/increment_strict.phpt @@ -0,0 +1,36 @@ +--TEST-- +increment (++) operator with strict_operators +--FILE-- + 1 ) - TypeError Unsupported operand type array for increment operation +++array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for increment operation +++array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for increment operation +++array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for increment operation +++(object) array ( ) - TypeError Unsupported operand type object for increment operation +++(object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type object for increment operation +++(object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type object for increment operation +++DateTime - TypeError Unsupported operand type object for increment operation +++resource - TypeError Unsupported operand type resource for increment operation +++NULL - TypeError Unsupported operand type null for increment operation \ No newline at end of file diff --git a/Zend/tests/operators/logical/and.phpt b/Zend/tests/operators/logical/and.phpt new file mode 100644 index 000000000000..d11dde74dd35 --- /dev/null +++ b/Zend/tests/operators/logical/and.phpt @@ -0,0 +1,540 @@ +--TEST-- +logical and '&&' operator +--FILE-- + 1 ) = false +false && array ( 0 => 1, 1 => 100 ) = false +false && array ( 'foo' => 1, 'bar' => 2 ) = false +false && array ( 'bar' => 1, 'foo' => 2 ) = false +false && (object) array ( ) = false +false && (object) array ( 'foo' => 1, 'bar' => 2 ) = false +false && (object) array ( 'bar' => 1, 'foo' => 2 ) = false +false && DateTime = false +false && resource = false +false && NULL = false +true && false = false +true && true = true +true && 0 = false +true && 10 = true +true && 0.0 = false +true && 10.0 = true +true && 3.14 = true +true && '0' = false +true && '10' = true +true && '010' = true +true && '10 elephants' = true +true && 'foo' = true +true && array ( ) = false +true && array ( 0 => 1 ) = true +true && array ( 0 => 1, 1 => 100 ) = true +true && array ( 'foo' => 1, 'bar' => 2 ) = true +true && array ( 'bar' => 1, 'foo' => 2 ) = true +true && (object) array ( ) = true +true && (object) array ( 'foo' => 1, 'bar' => 2 ) = true +true && (object) array ( 'bar' => 1, 'foo' => 2 ) = true +true && DateTime = true +true && resource = true +true && NULL = false +0 && false = false +0 && true = false +0 && 0 = false +0 && 10 = false +0 && 0.0 = false +0 && 10.0 = false +0 && 3.14 = false +0 && '0' = false +0 && '10' = false +0 && '010' = false +0 && '10 elephants' = false +0 && 'foo' = false +0 && array ( ) = false +0 && array ( 0 => 1 ) = false +0 && array ( 0 => 1, 1 => 100 ) = false +0 && array ( 'foo' => 1, 'bar' => 2 ) = false +0 && array ( 'bar' => 1, 'foo' => 2 ) = false +0 && (object) array ( ) = false +0 && (object) array ( 'foo' => 1, 'bar' => 2 ) = false +0 && (object) array ( 'bar' => 1, 'foo' => 2 ) = false +0 && DateTime = false +0 && resource = false +0 && NULL = false +10 && false = false +10 && true = true +10 && 0 = false +10 && 10 = true +10 && 0.0 = false +10 && 10.0 = true +10 && 3.14 = true +10 && '0' = false +10 && '10' = true +10 && '010' = true +10 && '10 elephants' = true +10 && 'foo' = true +10 && array ( ) = false +10 && array ( 0 => 1 ) = true +10 && array ( 0 => 1, 1 => 100 ) = true +10 && array ( 'foo' => 1, 'bar' => 2 ) = true +10 && array ( 'bar' => 1, 'foo' => 2 ) = true +10 && (object) array ( ) = true +10 && (object) array ( 'foo' => 1, 'bar' => 2 ) = true +10 && (object) array ( 'bar' => 1, 'foo' => 2 ) = true +10 && DateTime = true +10 && resource = true +10 && NULL = false +0.0 && false = false +0.0 && true = false +0.0 && 0 = false +0.0 && 10 = false +0.0 && 0.0 = false +0.0 && 10.0 = false +0.0 && 3.14 = false +0.0 && '0' = false +0.0 && '10' = false +0.0 && '010' = false +0.0 && '10 elephants' = false +0.0 && 'foo' = false +0.0 && array ( ) = false +0.0 && array ( 0 => 1 ) = false +0.0 && array ( 0 => 1, 1 => 100 ) = false +0.0 && array ( 'foo' => 1, 'bar' => 2 ) = false +0.0 && array ( 'bar' => 1, 'foo' => 2 ) = false +0.0 && (object) array ( ) = false +0.0 && (object) array ( 'foo' => 1, 'bar' => 2 ) = false +0.0 && (object) array ( 'bar' => 1, 'foo' => 2 ) = false +0.0 && DateTime = false +0.0 && resource = false +0.0 && NULL = false +10.0 && false = false +10.0 && true = true +10.0 && 0 = false +10.0 && 10 = true +10.0 && 0.0 = false +10.0 && 10.0 = true +10.0 && 3.14 = true +10.0 && '0' = false +10.0 && '10' = true +10.0 && '010' = true +10.0 && '10 elephants' = true +10.0 && 'foo' = true +10.0 && array ( ) = false +10.0 && array ( 0 => 1 ) = true +10.0 && array ( 0 => 1, 1 => 100 ) = true +10.0 && array ( 'foo' => 1, 'bar' => 2 ) = true +10.0 && array ( 'bar' => 1, 'foo' => 2 ) = true +10.0 && (object) array ( ) = true +10.0 && (object) array ( 'foo' => 1, 'bar' => 2 ) = true +10.0 && (object) array ( 'bar' => 1, 'foo' => 2 ) = true +10.0 && DateTime = true +10.0 && resource = true +10.0 && NULL = false +3.14 && false = false +3.14 && true = true +3.14 && 0 = false +3.14 && 10 = true +3.14 && 0.0 = false +3.14 && 10.0 = true +3.14 && 3.14 = true +3.14 && '0' = false +3.14 && '10' = true +3.14 && '010' = true +3.14 && '10 elephants' = true +3.14 && 'foo' = true +3.14 && array ( ) = false +3.14 && array ( 0 => 1 ) = true +3.14 && array ( 0 => 1, 1 => 100 ) = true +3.14 && array ( 'foo' => 1, 'bar' => 2 ) = true +3.14 && array ( 'bar' => 1, 'foo' => 2 ) = true +3.14 && (object) array ( ) = true +3.14 && (object) array ( 'foo' => 1, 'bar' => 2 ) = true +3.14 && (object) array ( 'bar' => 1, 'foo' => 2 ) = true +3.14 && DateTime = true +3.14 && resource = true +3.14 && NULL = false +'0' && false = false +'0' && true = false +'0' && 0 = false +'0' && 10 = false +'0' && 0.0 = false +'0' && 10.0 = false +'0' && 3.14 = false +'0' && '0' = false +'0' && '10' = false +'0' && '010' = false +'0' && '10 elephants' = false +'0' && 'foo' = false +'0' && array ( ) = false +'0' && array ( 0 => 1 ) = false +'0' && array ( 0 => 1, 1 => 100 ) = false +'0' && array ( 'foo' => 1, 'bar' => 2 ) = false +'0' && array ( 'bar' => 1, 'foo' => 2 ) = false +'0' && (object) array ( ) = false +'0' && (object) array ( 'foo' => 1, 'bar' => 2 ) = false +'0' && (object) array ( 'bar' => 1, 'foo' => 2 ) = false +'0' && DateTime = false +'0' && resource = false +'0' && NULL = false +'10' && false = false +'10' && true = true +'10' && 0 = false +'10' && 10 = true +'10' && 0.0 = false +'10' && 10.0 = true +'10' && 3.14 = true +'10' && '0' = false +'10' && '10' = true +'10' && '010' = true +'10' && '10 elephants' = true +'10' && 'foo' = true +'10' && array ( ) = false +'10' && array ( 0 => 1 ) = true +'10' && array ( 0 => 1, 1 => 100 ) = true +'10' && array ( 'foo' => 1, 'bar' => 2 ) = true +'10' && array ( 'bar' => 1, 'foo' => 2 ) = true +'10' && (object) array ( ) = true +'10' && (object) array ( 'foo' => 1, 'bar' => 2 ) = true +'10' && (object) array ( 'bar' => 1, 'foo' => 2 ) = true +'10' && DateTime = true +'10' && resource = true +'10' && NULL = false +'010' && false = false +'010' && true = true +'010' && 0 = false +'010' && 10 = true +'010' && 0.0 = false +'010' && 10.0 = true +'010' && 3.14 = true +'010' && '0' = false +'010' && '10' = true +'010' && '010' = true +'010' && '10 elephants' = true +'010' && 'foo' = true +'010' && array ( ) = false +'010' && array ( 0 => 1 ) = true +'010' && array ( 0 => 1, 1 => 100 ) = true +'010' && array ( 'foo' => 1, 'bar' => 2 ) = true +'010' && array ( 'bar' => 1, 'foo' => 2 ) = true +'010' && (object) array ( ) = true +'010' && (object) array ( 'foo' => 1, 'bar' => 2 ) = true +'010' && (object) array ( 'bar' => 1, 'foo' => 2 ) = true +'010' && DateTime = true +'010' && resource = true +'010' && NULL = false +'10 elephants' && false = false +'10 elephants' && true = true +'10 elephants' && 0 = false +'10 elephants' && 10 = true +'10 elephants' && 0.0 = false +'10 elephants' && 10.0 = true +'10 elephants' && 3.14 = true +'10 elephants' && '0' = false +'10 elephants' && '10' = true +'10 elephants' && '010' = true +'10 elephants' && '10 elephants' = true +'10 elephants' && 'foo' = true +'10 elephants' && array ( ) = false +'10 elephants' && array ( 0 => 1 ) = true +'10 elephants' && array ( 0 => 1, 1 => 100 ) = true +'10 elephants' && array ( 'foo' => 1, 'bar' => 2 ) = true +'10 elephants' && array ( 'bar' => 1, 'foo' => 2 ) = true +'10 elephants' && (object) array ( ) = true +'10 elephants' && (object) array ( 'foo' => 1, 'bar' => 2 ) = true +'10 elephants' && (object) array ( 'bar' => 1, 'foo' => 2 ) = true +'10 elephants' && DateTime = true +'10 elephants' && resource = true +'10 elephants' && NULL = false +'foo' && false = false +'foo' && true = true +'foo' && 0 = false +'foo' && 10 = true +'foo' && 0.0 = false +'foo' && 10.0 = true +'foo' && 3.14 = true +'foo' && '0' = false +'foo' && '10' = true +'foo' && '010' = true +'foo' && '10 elephants' = true +'foo' && 'foo' = true +'foo' && array ( ) = false +'foo' && array ( 0 => 1 ) = true +'foo' && array ( 0 => 1, 1 => 100 ) = true +'foo' && array ( 'foo' => 1, 'bar' => 2 ) = true +'foo' && array ( 'bar' => 1, 'foo' => 2 ) = true +'foo' && (object) array ( ) = true +'foo' && (object) array ( 'foo' => 1, 'bar' => 2 ) = true +'foo' && (object) array ( 'bar' => 1, 'foo' => 2 ) = true +'foo' && DateTime = true +'foo' && resource = true +'foo' && NULL = false +array ( ) && false = false +array ( ) && true = false +array ( ) && 0 = false +array ( ) && 10 = false +array ( ) && 0.0 = false +array ( ) && 10.0 = false +array ( ) && 3.14 = false +array ( ) && '0' = false +array ( ) && '10' = false +array ( ) && '010' = false +array ( ) && '10 elephants' = false +array ( ) && 'foo' = false +array ( ) && array ( ) = false +array ( ) && array ( 0 => 1 ) = false +array ( ) && array ( 0 => 1, 1 => 100 ) = false +array ( ) && array ( 'foo' => 1, 'bar' => 2 ) = false +array ( ) && array ( 'bar' => 1, 'foo' => 2 ) = false +array ( ) && (object) array ( ) = false +array ( ) && (object) array ( 'foo' => 1, 'bar' => 2 ) = false +array ( ) && (object) array ( 'bar' => 1, 'foo' => 2 ) = false +array ( ) && DateTime = false +array ( ) && resource = false +array ( ) && NULL = false +array ( 0 => 1 ) && false = false +array ( 0 => 1 ) && true = true +array ( 0 => 1 ) && 0 = false +array ( 0 => 1 ) && 10 = true +array ( 0 => 1 ) && 0.0 = false +array ( 0 => 1 ) && 10.0 = true +array ( 0 => 1 ) && 3.14 = true +array ( 0 => 1 ) && '0' = false +array ( 0 => 1 ) && '10' = true +array ( 0 => 1 ) && '010' = true +array ( 0 => 1 ) && '10 elephants' = true +array ( 0 => 1 ) && 'foo' = true +array ( 0 => 1 ) && array ( ) = false +array ( 0 => 1 ) && array ( 0 => 1 ) = true +array ( 0 => 1 ) && array ( 0 => 1, 1 => 100 ) = true +array ( 0 => 1 ) && array ( 'foo' => 1, 'bar' => 2 ) = true +array ( 0 => 1 ) && array ( 'bar' => 1, 'foo' => 2 ) = true +array ( 0 => 1 ) && (object) array ( ) = true +array ( 0 => 1 ) && (object) array ( 'foo' => 1, 'bar' => 2 ) = true +array ( 0 => 1 ) && (object) array ( 'bar' => 1, 'foo' => 2 ) = true +array ( 0 => 1 ) && DateTime = true +array ( 0 => 1 ) && resource = true +array ( 0 => 1 ) && NULL = false +array ( 0 => 1, 1 => 100 ) && false = false +array ( 0 => 1, 1 => 100 ) && true = true +array ( 0 => 1, 1 => 100 ) && 0 = false +array ( 0 => 1, 1 => 100 ) && 10 = true +array ( 0 => 1, 1 => 100 ) && 0.0 = false +array ( 0 => 1, 1 => 100 ) && 10.0 = true +array ( 0 => 1, 1 => 100 ) && 3.14 = true +array ( 0 => 1, 1 => 100 ) && '0' = false +array ( 0 => 1, 1 => 100 ) && '10' = true +array ( 0 => 1, 1 => 100 ) && '010' = true +array ( 0 => 1, 1 => 100 ) && '10 elephants' = true +array ( 0 => 1, 1 => 100 ) && 'foo' = true +array ( 0 => 1, 1 => 100 ) && array ( ) = false +array ( 0 => 1, 1 => 100 ) && array ( 0 => 1 ) = true +array ( 0 => 1, 1 => 100 ) && array ( 0 => 1, 1 => 100 ) = true +array ( 0 => 1, 1 => 100 ) && array ( 'foo' => 1, 'bar' => 2 ) = true +array ( 0 => 1, 1 => 100 ) && array ( 'bar' => 1, 'foo' => 2 ) = true +array ( 0 => 1, 1 => 100 ) && (object) array ( ) = true +array ( 0 => 1, 1 => 100 ) && (object) array ( 'foo' => 1, 'bar' => 2 ) = true +array ( 0 => 1, 1 => 100 ) && (object) array ( 'bar' => 1, 'foo' => 2 ) = true +array ( 0 => 1, 1 => 100 ) && DateTime = true +array ( 0 => 1, 1 => 100 ) && resource = true +array ( 0 => 1, 1 => 100 ) && NULL = false +array ( 'foo' => 1, 'bar' => 2 ) && false = false +array ( 'foo' => 1, 'bar' => 2 ) && true = true +array ( 'foo' => 1, 'bar' => 2 ) && 0 = false +array ( 'foo' => 1, 'bar' => 2 ) && 10 = true +array ( 'foo' => 1, 'bar' => 2 ) && 0.0 = false +array ( 'foo' => 1, 'bar' => 2 ) && 10.0 = true +array ( 'foo' => 1, 'bar' => 2 ) && 3.14 = true +array ( 'foo' => 1, 'bar' => 2 ) && '0' = false +array ( 'foo' => 1, 'bar' => 2 ) && '10' = true +array ( 'foo' => 1, 'bar' => 2 ) && '010' = true +array ( 'foo' => 1, 'bar' => 2 ) && '10 elephants' = true +array ( 'foo' => 1, 'bar' => 2 ) && 'foo' = true +array ( 'foo' => 1, 'bar' => 2 ) && array ( ) = false +array ( 'foo' => 1, 'bar' => 2 ) && array ( 0 => 1 ) = true +array ( 'foo' => 1, 'bar' => 2 ) && array ( 0 => 1, 1 => 100 ) = true +array ( 'foo' => 1, 'bar' => 2 ) && array ( 'foo' => 1, 'bar' => 2 ) = true +array ( 'foo' => 1, 'bar' => 2 ) && array ( 'bar' => 1, 'foo' => 2 ) = true +array ( 'foo' => 1, 'bar' => 2 ) && (object) array ( ) = true +array ( 'foo' => 1, 'bar' => 2 ) && (object) array ( 'foo' => 1, 'bar' => 2 ) = true +array ( 'foo' => 1, 'bar' => 2 ) && (object) array ( 'bar' => 1, 'foo' => 2 ) = true +array ( 'foo' => 1, 'bar' => 2 ) && DateTime = true +array ( 'foo' => 1, 'bar' => 2 ) && resource = true +array ( 'foo' => 1, 'bar' => 2 ) && NULL = false +array ( 'bar' => 1, 'foo' => 2 ) && false = false +array ( 'bar' => 1, 'foo' => 2 ) && true = true +array ( 'bar' => 1, 'foo' => 2 ) && 0 = false +array ( 'bar' => 1, 'foo' => 2 ) && 10 = true +array ( 'bar' => 1, 'foo' => 2 ) && 0.0 = false +array ( 'bar' => 1, 'foo' => 2 ) && 10.0 = true +array ( 'bar' => 1, 'foo' => 2 ) && 3.14 = true +array ( 'bar' => 1, 'foo' => 2 ) && '0' = false +array ( 'bar' => 1, 'foo' => 2 ) && '10' = true +array ( 'bar' => 1, 'foo' => 2 ) && '010' = true +array ( 'bar' => 1, 'foo' => 2 ) && '10 elephants' = true +array ( 'bar' => 1, 'foo' => 2 ) && 'foo' = true +array ( 'bar' => 1, 'foo' => 2 ) && array ( ) = false +array ( 'bar' => 1, 'foo' => 2 ) && array ( 0 => 1 ) = true +array ( 'bar' => 1, 'foo' => 2 ) && array ( 0 => 1, 1 => 100 ) = true +array ( 'bar' => 1, 'foo' => 2 ) && array ( 'foo' => 1, 'bar' => 2 ) = true +array ( 'bar' => 1, 'foo' => 2 ) && array ( 'bar' => 1, 'foo' => 2 ) = true +array ( 'bar' => 1, 'foo' => 2 ) && (object) array ( ) = true +array ( 'bar' => 1, 'foo' => 2 ) && (object) array ( 'foo' => 1, 'bar' => 2 ) = true +array ( 'bar' => 1, 'foo' => 2 ) && (object) array ( 'bar' => 1, 'foo' => 2 ) = true +array ( 'bar' => 1, 'foo' => 2 ) && DateTime = true +array ( 'bar' => 1, 'foo' => 2 ) && resource = true +array ( 'bar' => 1, 'foo' => 2 ) && NULL = false +(object) array ( ) && false = false +(object) array ( ) && true = true +(object) array ( ) && 0 = false +(object) array ( ) && 10 = true +(object) array ( ) && 0.0 = false +(object) array ( ) && 10.0 = true +(object) array ( ) && 3.14 = true +(object) array ( ) && '0' = false +(object) array ( ) && '10' = true +(object) array ( ) && '010' = true +(object) array ( ) && '10 elephants' = true +(object) array ( ) && 'foo' = true +(object) array ( ) && array ( ) = false +(object) array ( ) && array ( 0 => 1 ) = true +(object) array ( ) && array ( 0 => 1, 1 => 100 ) = true +(object) array ( ) && array ( 'foo' => 1, 'bar' => 2 ) = true +(object) array ( ) && array ( 'bar' => 1, 'foo' => 2 ) = true +(object) array ( ) && (object) array ( ) = true +(object) array ( ) && (object) array ( 'foo' => 1, 'bar' => 2 ) = true +(object) array ( ) && (object) array ( 'bar' => 1, 'foo' => 2 ) = true +(object) array ( ) && DateTime = true +(object) array ( ) && resource = true +(object) array ( ) && NULL = false +(object) array ( 'foo' => 1, 'bar' => 2 ) && false = false +(object) array ( 'foo' => 1, 'bar' => 2 ) && true = true +(object) array ( 'foo' => 1, 'bar' => 2 ) && 0 = false +(object) array ( 'foo' => 1, 'bar' => 2 ) && 10 = true +(object) array ( 'foo' => 1, 'bar' => 2 ) && 0.0 = false +(object) array ( 'foo' => 1, 'bar' => 2 ) && 10.0 = true +(object) array ( 'foo' => 1, 'bar' => 2 ) && 3.14 = true +(object) array ( 'foo' => 1, 'bar' => 2 ) && '0' = false +(object) array ( 'foo' => 1, 'bar' => 2 ) && '10' = true +(object) array ( 'foo' => 1, 'bar' => 2 ) && '010' = true +(object) array ( 'foo' => 1, 'bar' => 2 ) && '10 elephants' = true +(object) array ( 'foo' => 1, 'bar' => 2 ) && 'foo' = true +(object) array ( 'foo' => 1, 'bar' => 2 ) && array ( ) = false +(object) array ( 'foo' => 1, 'bar' => 2 ) && array ( 0 => 1 ) = true +(object) array ( 'foo' => 1, 'bar' => 2 ) && array ( 0 => 1, 1 => 100 ) = true +(object) array ( 'foo' => 1, 'bar' => 2 ) && array ( 'foo' => 1, 'bar' => 2 ) = true +(object) array ( 'foo' => 1, 'bar' => 2 ) && array ( 'bar' => 1, 'foo' => 2 ) = true +(object) array ( 'foo' => 1, 'bar' => 2 ) && (object) array ( ) = true +(object) array ( 'foo' => 1, 'bar' => 2 ) && (object) array ( 'foo' => 1, 'bar' => 2 ) = true +(object) array ( 'foo' => 1, 'bar' => 2 ) && (object) array ( 'bar' => 1, 'foo' => 2 ) = true +(object) array ( 'foo' => 1, 'bar' => 2 ) && DateTime = true +(object) array ( 'foo' => 1, 'bar' => 2 ) && resource = true +(object) array ( 'foo' => 1, 'bar' => 2 ) && NULL = false +(object) array ( 'bar' => 1, 'foo' => 2 ) && false = false +(object) array ( 'bar' => 1, 'foo' => 2 ) && true = true +(object) array ( 'bar' => 1, 'foo' => 2 ) && 0 = false +(object) array ( 'bar' => 1, 'foo' => 2 ) && 10 = true +(object) array ( 'bar' => 1, 'foo' => 2 ) && 0.0 = false +(object) array ( 'bar' => 1, 'foo' => 2 ) && 10.0 = true +(object) array ( 'bar' => 1, 'foo' => 2 ) && 3.14 = true +(object) array ( 'bar' => 1, 'foo' => 2 ) && '0' = false +(object) array ( 'bar' => 1, 'foo' => 2 ) && '10' = true +(object) array ( 'bar' => 1, 'foo' => 2 ) && '010' = true +(object) array ( 'bar' => 1, 'foo' => 2 ) && '10 elephants' = true +(object) array ( 'bar' => 1, 'foo' => 2 ) && 'foo' = true +(object) array ( 'bar' => 1, 'foo' => 2 ) && array ( ) = false +(object) array ( 'bar' => 1, 'foo' => 2 ) && array ( 0 => 1 ) = true +(object) array ( 'bar' => 1, 'foo' => 2 ) && array ( 0 => 1, 1 => 100 ) = true +(object) array ( 'bar' => 1, 'foo' => 2 ) && array ( 'foo' => 1, 'bar' => 2 ) = true +(object) array ( 'bar' => 1, 'foo' => 2 ) && array ( 'bar' => 1, 'foo' => 2 ) = true +(object) array ( 'bar' => 1, 'foo' => 2 ) && (object) array ( ) = true +(object) array ( 'bar' => 1, 'foo' => 2 ) && (object) array ( 'foo' => 1, 'bar' => 2 ) = true +(object) array ( 'bar' => 1, 'foo' => 2 ) && (object) array ( 'bar' => 1, 'foo' => 2 ) = true +(object) array ( 'bar' => 1, 'foo' => 2 ) && DateTime = true +(object) array ( 'bar' => 1, 'foo' => 2 ) && resource = true +(object) array ( 'bar' => 1, 'foo' => 2 ) && NULL = false +DateTime && false = false +DateTime && true = true +DateTime && 0 = false +DateTime && 10 = true +DateTime && 0.0 = false +DateTime && 10.0 = true +DateTime && 3.14 = true +DateTime && '0' = false +DateTime && '10' = true +DateTime && '010' = true +DateTime && '10 elephants' = true +DateTime && 'foo' = true +DateTime && array ( ) = false +DateTime && array ( 0 => 1 ) = true +DateTime && array ( 0 => 1, 1 => 100 ) = true +DateTime && array ( 'foo' => 1, 'bar' => 2 ) = true +DateTime && array ( 'bar' => 1, 'foo' => 2 ) = true +DateTime && (object) array ( ) = true +DateTime && (object) array ( 'foo' => 1, 'bar' => 2 ) = true +DateTime && (object) array ( 'bar' => 1, 'foo' => 2 ) = true +DateTime && DateTime = true +DateTime && resource = true +DateTime && NULL = false +resource && false = false +resource && true = true +resource && 0 = false +resource && 10 = true +resource && 0.0 = false +resource && 10.0 = true +resource && 3.14 = true +resource && '0' = false +resource && '10' = true +resource && '010' = true +resource && '10 elephants' = true +resource && 'foo' = true +resource && array ( ) = false +resource && array ( 0 => 1 ) = true +resource && array ( 0 => 1, 1 => 100 ) = true +resource && array ( 'foo' => 1, 'bar' => 2 ) = true +resource && array ( 'bar' => 1, 'foo' => 2 ) = true +resource && (object) array ( ) = true +resource && (object) array ( 'foo' => 1, 'bar' => 2 ) = true +resource && (object) array ( 'bar' => 1, 'foo' => 2 ) = true +resource && DateTime = true +resource && resource = true +resource && NULL = false +NULL && false = false +NULL && true = false +NULL && 0 = false +NULL && 10 = false +NULL && 0.0 = false +NULL && 10.0 = false +NULL && 3.14 = false +NULL && '0' = false +NULL && '10' = false +NULL && '010' = false +NULL && '10 elephants' = false +NULL && 'foo' = false +NULL && array ( ) = false +NULL && array ( 0 => 1 ) = false +NULL && array ( 0 => 1, 1 => 100 ) = false +NULL && array ( 'foo' => 1, 'bar' => 2 ) = false +NULL && array ( 'bar' => 1, 'foo' => 2 ) = false +NULL && (object) array ( ) = false +NULL && (object) array ( 'foo' => 1, 'bar' => 2 ) = false +NULL && (object) array ( 'bar' => 1, 'foo' => 2 ) = false +NULL && DateTime = false +NULL && resource = false +NULL && NULL = false \ No newline at end of file diff --git a/Zend/tests/operators/logical/not.phpt b/Zend/tests/operators/logical/not.phpt new file mode 100644 index 000000000000..77781d06c600 --- /dev/null +++ b/Zend/tests/operators/logical/not.phpt @@ -0,0 +1,34 @@ +--TEST-- +logical not '!' operator +--FILE-- + 1 ) = false - Warning Use of undefined constant a - assumed 'a' (this will throw an Error in a future version of PHP) +!array ( 0 => 1, 1 => 100 ) = false - Warning Use of undefined constant a - assumed 'a' (this will throw an Error in a future version of PHP) +!array ( 'foo' => 1, 'bar' => 2 ) = false - Warning Use of undefined constant a - assumed 'a' (this will throw an Error in a future version of PHP) +!array ( 'bar' => 1, 'foo' => 2 ) = false - Warning Use of undefined constant a - assumed 'a' (this will throw an Error in a future version of PHP) +!(object) array ( ) = false - Warning Use of undefined constant a - assumed 'a' (this will throw an Error in a future version of PHP) +!(object) array ( 'foo' => 1, 'bar' => 2 ) = false - Warning Use of undefined constant a - assumed 'a' (this will throw an Error in a future version of PHP) +!(object) array ( 'bar' => 1, 'foo' => 2 ) = false - Warning Use of undefined constant a - assumed 'a' (this will throw an Error in a future version of PHP) +!DateTime = false - Warning Use of undefined constant a - assumed 'a' (this will throw an Error in a future version of PHP) +!resource = false - Warning Use of undefined constant a - assumed 'a' (this will throw an Error in a future version of PHP) +!NULL = false - Warning Use of undefined constant a - assumed 'a' (this will throw an Error in a future version of PHP) \ No newline at end of file diff --git a/Zend/tests/operators/logical/or.phpt b/Zend/tests/operators/logical/or.phpt new file mode 100644 index 000000000000..01b0a3b12377 --- /dev/null +++ b/Zend/tests/operators/logical/or.phpt @@ -0,0 +1,540 @@ +--TEST-- +logical or '||' operator +--FILE-- + 1 ) = true +false || array ( 0 => 1, 1 => 100 ) = true +false || array ( 'foo' => 1, 'bar' => 2 ) = true +false || array ( 'bar' => 1, 'foo' => 2 ) = true +false || (object) array ( ) = true +false || (object) array ( 'foo' => 1, 'bar' => 2 ) = true +false || (object) array ( 'bar' => 1, 'foo' => 2 ) = true +false || DateTime = true +false || resource = true +false || NULL = false +true || false = true +true || true = true +true || 0 = true +true || 10 = true +true || 0.0 = true +true || 10.0 = true +true || 3.14 = true +true || '0' = true +true || '10' = true +true || '010' = true +true || '10 elephants' = true +true || 'foo' = true +true || array ( ) = true +true || array ( 0 => 1 ) = true +true || array ( 0 => 1, 1 => 100 ) = true +true || array ( 'foo' => 1, 'bar' => 2 ) = true +true || array ( 'bar' => 1, 'foo' => 2 ) = true +true || (object) array ( ) = true +true || (object) array ( 'foo' => 1, 'bar' => 2 ) = true +true || (object) array ( 'bar' => 1, 'foo' => 2 ) = true +true || DateTime = true +true || resource = true +true || NULL = true +0 || false = false +0 || true = true +0 || 0 = false +0 || 10 = true +0 || 0.0 = false +0 || 10.0 = true +0 || 3.14 = true +0 || '0' = false +0 || '10' = true +0 || '010' = true +0 || '10 elephants' = true +0 || 'foo' = true +0 || array ( ) = false +0 || array ( 0 => 1 ) = true +0 || array ( 0 => 1, 1 => 100 ) = true +0 || array ( 'foo' => 1, 'bar' => 2 ) = true +0 || array ( 'bar' => 1, 'foo' => 2 ) = true +0 || (object) array ( ) = true +0 || (object) array ( 'foo' => 1, 'bar' => 2 ) = true +0 || (object) array ( 'bar' => 1, 'foo' => 2 ) = true +0 || DateTime = true +0 || resource = true +0 || NULL = false +10 || false = true +10 || true = true +10 || 0 = true +10 || 10 = true +10 || 0.0 = true +10 || 10.0 = true +10 || 3.14 = true +10 || '0' = true +10 || '10' = true +10 || '010' = true +10 || '10 elephants' = true +10 || 'foo' = true +10 || array ( ) = true +10 || array ( 0 => 1 ) = true +10 || array ( 0 => 1, 1 => 100 ) = true +10 || array ( 'foo' => 1, 'bar' => 2 ) = true +10 || array ( 'bar' => 1, 'foo' => 2 ) = true +10 || (object) array ( ) = true +10 || (object) array ( 'foo' => 1, 'bar' => 2 ) = true +10 || (object) array ( 'bar' => 1, 'foo' => 2 ) = true +10 || DateTime = true +10 || resource = true +10 || NULL = true +0.0 || false = false +0.0 || true = true +0.0 || 0 = false +0.0 || 10 = true +0.0 || 0.0 = false +0.0 || 10.0 = true +0.0 || 3.14 = true +0.0 || '0' = false +0.0 || '10' = true +0.0 || '010' = true +0.0 || '10 elephants' = true +0.0 || 'foo' = true +0.0 || array ( ) = false +0.0 || array ( 0 => 1 ) = true +0.0 || array ( 0 => 1, 1 => 100 ) = true +0.0 || array ( 'foo' => 1, 'bar' => 2 ) = true +0.0 || array ( 'bar' => 1, 'foo' => 2 ) = true +0.0 || (object) array ( ) = true +0.0 || (object) array ( 'foo' => 1, 'bar' => 2 ) = true +0.0 || (object) array ( 'bar' => 1, 'foo' => 2 ) = true +0.0 || DateTime = true +0.0 || resource = true +0.0 || NULL = false +10.0 || false = true +10.0 || true = true +10.0 || 0 = true +10.0 || 10 = true +10.0 || 0.0 = true +10.0 || 10.0 = true +10.0 || 3.14 = true +10.0 || '0' = true +10.0 || '10' = true +10.0 || '010' = true +10.0 || '10 elephants' = true +10.0 || 'foo' = true +10.0 || array ( ) = true +10.0 || array ( 0 => 1 ) = true +10.0 || array ( 0 => 1, 1 => 100 ) = true +10.0 || array ( 'foo' => 1, 'bar' => 2 ) = true +10.0 || array ( 'bar' => 1, 'foo' => 2 ) = true +10.0 || (object) array ( ) = true +10.0 || (object) array ( 'foo' => 1, 'bar' => 2 ) = true +10.0 || (object) array ( 'bar' => 1, 'foo' => 2 ) = true +10.0 || DateTime = true +10.0 || resource = true +10.0 || NULL = true +3.14 || false = true +3.14 || true = true +3.14 || 0 = true +3.14 || 10 = true +3.14 || 0.0 = true +3.14 || 10.0 = true +3.14 || 3.14 = true +3.14 || '0' = true +3.14 || '10' = true +3.14 || '010' = true +3.14 || '10 elephants' = true +3.14 || 'foo' = true +3.14 || array ( ) = true +3.14 || array ( 0 => 1 ) = true +3.14 || array ( 0 => 1, 1 => 100 ) = true +3.14 || array ( 'foo' => 1, 'bar' => 2 ) = true +3.14 || array ( 'bar' => 1, 'foo' => 2 ) = true +3.14 || (object) array ( ) = true +3.14 || (object) array ( 'foo' => 1, 'bar' => 2 ) = true +3.14 || (object) array ( 'bar' => 1, 'foo' => 2 ) = true +3.14 || DateTime = true +3.14 || resource = true +3.14 || NULL = true +'0' || false = false +'0' || true = true +'0' || 0 = false +'0' || 10 = true +'0' || 0.0 = false +'0' || 10.0 = true +'0' || 3.14 = true +'0' || '0' = false +'0' || '10' = true +'0' || '010' = true +'0' || '10 elephants' = true +'0' || 'foo' = true +'0' || array ( ) = false +'0' || array ( 0 => 1 ) = true +'0' || array ( 0 => 1, 1 => 100 ) = true +'0' || array ( 'foo' => 1, 'bar' => 2 ) = true +'0' || array ( 'bar' => 1, 'foo' => 2 ) = true +'0' || (object) array ( ) = true +'0' || (object) array ( 'foo' => 1, 'bar' => 2 ) = true +'0' || (object) array ( 'bar' => 1, 'foo' => 2 ) = true +'0' || DateTime = true +'0' || resource = true +'0' || NULL = false +'10' || false = true +'10' || true = true +'10' || 0 = true +'10' || 10 = true +'10' || 0.0 = true +'10' || 10.0 = true +'10' || 3.14 = true +'10' || '0' = true +'10' || '10' = true +'10' || '010' = true +'10' || '10 elephants' = true +'10' || 'foo' = true +'10' || array ( ) = true +'10' || array ( 0 => 1 ) = true +'10' || array ( 0 => 1, 1 => 100 ) = true +'10' || array ( 'foo' => 1, 'bar' => 2 ) = true +'10' || array ( 'bar' => 1, 'foo' => 2 ) = true +'10' || (object) array ( ) = true +'10' || (object) array ( 'foo' => 1, 'bar' => 2 ) = true +'10' || (object) array ( 'bar' => 1, 'foo' => 2 ) = true +'10' || DateTime = true +'10' || resource = true +'10' || NULL = true +'010' || false = true +'010' || true = true +'010' || 0 = true +'010' || 10 = true +'010' || 0.0 = true +'010' || 10.0 = true +'010' || 3.14 = true +'010' || '0' = true +'010' || '10' = true +'010' || '010' = true +'010' || '10 elephants' = true +'010' || 'foo' = true +'010' || array ( ) = true +'010' || array ( 0 => 1 ) = true +'010' || array ( 0 => 1, 1 => 100 ) = true +'010' || array ( 'foo' => 1, 'bar' => 2 ) = true +'010' || array ( 'bar' => 1, 'foo' => 2 ) = true +'010' || (object) array ( ) = true +'010' || (object) array ( 'foo' => 1, 'bar' => 2 ) = true +'010' || (object) array ( 'bar' => 1, 'foo' => 2 ) = true +'010' || DateTime = true +'010' || resource = true +'010' || NULL = true +'10 elephants' || false = true +'10 elephants' || true = true +'10 elephants' || 0 = true +'10 elephants' || 10 = true +'10 elephants' || 0.0 = true +'10 elephants' || 10.0 = true +'10 elephants' || 3.14 = true +'10 elephants' || '0' = true +'10 elephants' || '10' = true +'10 elephants' || '010' = true +'10 elephants' || '10 elephants' = true +'10 elephants' || 'foo' = true +'10 elephants' || array ( ) = true +'10 elephants' || array ( 0 => 1 ) = true +'10 elephants' || array ( 0 => 1, 1 => 100 ) = true +'10 elephants' || array ( 'foo' => 1, 'bar' => 2 ) = true +'10 elephants' || array ( 'bar' => 1, 'foo' => 2 ) = true +'10 elephants' || (object) array ( ) = true +'10 elephants' || (object) array ( 'foo' => 1, 'bar' => 2 ) = true +'10 elephants' || (object) array ( 'bar' => 1, 'foo' => 2 ) = true +'10 elephants' || DateTime = true +'10 elephants' || resource = true +'10 elephants' || NULL = true +'foo' || false = true +'foo' || true = true +'foo' || 0 = true +'foo' || 10 = true +'foo' || 0.0 = true +'foo' || 10.0 = true +'foo' || 3.14 = true +'foo' || '0' = true +'foo' || '10' = true +'foo' || '010' = true +'foo' || '10 elephants' = true +'foo' || 'foo' = true +'foo' || array ( ) = true +'foo' || array ( 0 => 1 ) = true +'foo' || array ( 0 => 1, 1 => 100 ) = true +'foo' || array ( 'foo' => 1, 'bar' => 2 ) = true +'foo' || array ( 'bar' => 1, 'foo' => 2 ) = true +'foo' || (object) array ( ) = true +'foo' || (object) array ( 'foo' => 1, 'bar' => 2 ) = true +'foo' || (object) array ( 'bar' => 1, 'foo' => 2 ) = true +'foo' || DateTime = true +'foo' || resource = true +'foo' || NULL = true +array ( ) || false = false +array ( ) || true = true +array ( ) || 0 = false +array ( ) || 10 = true +array ( ) || 0.0 = false +array ( ) || 10.0 = true +array ( ) || 3.14 = true +array ( ) || '0' = false +array ( ) || '10' = true +array ( ) || '010' = true +array ( ) || '10 elephants' = true +array ( ) || 'foo' = true +array ( ) || array ( ) = false +array ( ) || array ( 0 => 1 ) = true +array ( ) || array ( 0 => 1, 1 => 100 ) = true +array ( ) || array ( 'foo' => 1, 'bar' => 2 ) = true +array ( ) || array ( 'bar' => 1, 'foo' => 2 ) = true +array ( ) || (object) array ( ) = true +array ( ) || (object) array ( 'foo' => 1, 'bar' => 2 ) = true +array ( ) || (object) array ( 'bar' => 1, 'foo' => 2 ) = true +array ( ) || DateTime = true +array ( ) || resource = true +array ( ) || NULL = false +array ( 0 => 1 ) || false = true +array ( 0 => 1 ) || true = true +array ( 0 => 1 ) || 0 = true +array ( 0 => 1 ) || 10 = true +array ( 0 => 1 ) || 0.0 = true +array ( 0 => 1 ) || 10.0 = true +array ( 0 => 1 ) || 3.14 = true +array ( 0 => 1 ) || '0' = true +array ( 0 => 1 ) || '10' = true +array ( 0 => 1 ) || '010' = true +array ( 0 => 1 ) || '10 elephants' = true +array ( 0 => 1 ) || 'foo' = true +array ( 0 => 1 ) || array ( ) = true +array ( 0 => 1 ) || array ( 0 => 1 ) = true +array ( 0 => 1 ) || array ( 0 => 1, 1 => 100 ) = true +array ( 0 => 1 ) || array ( 'foo' => 1, 'bar' => 2 ) = true +array ( 0 => 1 ) || array ( 'bar' => 1, 'foo' => 2 ) = true +array ( 0 => 1 ) || (object) array ( ) = true +array ( 0 => 1 ) || (object) array ( 'foo' => 1, 'bar' => 2 ) = true +array ( 0 => 1 ) || (object) array ( 'bar' => 1, 'foo' => 2 ) = true +array ( 0 => 1 ) || DateTime = true +array ( 0 => 1 ) || resource = true +array ( 0 => 1 ) || NULL = true +array ( 0 => 1, 1 => 100 ) || false = true +array ( 0 => 1, 1 => 100 ) || true = true +array ( 0 => 1, 1 => 100 ) || 0 = true +array ( 0 => 1, 1 => 100 ) || 10 = true +array ( 0 => 1, 1 => 100 ) || 0.0 = true +array ( 0 => 1, 1 => 100 ) || 10.0 = true +array ( 0 => 1, 1 => 100 ) || 3.14 = true +array ( 0 => 1, 1 => 100 ) || '0' = true +array ( 0 => 1, 1 => 100 ) || '10' = true +array ( 0 => 1, 1 => 100 ) || '010' = true +array ( 0 => 1, 1 => 100 ) || '10 elephants' = true +array ( 0 => 1, 1 => 100 ) || 'foo' = true +array ( 0 => 1, 1 => 100 ) || array ( ) = true +array ( 0 => 1, 1 => 100 ) || array ( 0 => 1 ) = true +array ( 0 => 1, 1 => 100 ) || array ( 0 => 1, 1 => 100 ) = true +array ( 0 => 1, 1 => 100 ) || array ( 'foo' => 1, 'bar' => 2 ) = true +array ( 0 => 1, 1 => 100 ) || array ( 'bar' => 1, 'foo' => 2 ) = true +array ( 0 => 1, 1 => 100 ) || (object) array ( ) = true +array ( 0 => 1, 1 => 100 ) || (object) array ( 'foo' => 1, 'bar' => 2 ) = true +array ( 0 => 1, 1 => 100 ) || (object) array ( 'bar' => 1, 'foo' => 2 ) = true +array ( 0 => 1, 1 => 100 ) || DateTime = true +array ( 0 => 1, 1 => 100 ) || resource = true +array ( 0 => 1, 1 => 100 ) || NULL = true +array ( 'foo' => 1, 'bar' => 2 ) || false = true +array ( 'foo' => 1, 'bar' => 2 ) || true = true +array ( 'foo' => 1, 'bar' => 2 ) || 0 = true +array ( 'foo' => 1, 'bar' => 2 ) || 10 = true +array ( 'foo' => 1, 'bar' => 2 ) || 0.0 = true +array ( 'foo' => 1, 'bar' => 2 ) || 10.0 = true +array ( 'foo' => 1, 'bar' => 2 ) || 3.14 = true +array ( 'foo' => 1, 'bar' => 2 ) || '0' = true +array ( 'foo' => 1, 'bar' => 2 ) || '10' = true +array ( 'foo' => 1, 'bar' => 2 ) || '010' = true +array ( 'foo' => 1, 'bar' => 2 ) || '10 elephants' = true +array ( 'foo' => 1, 'bar' => 2 ) || 'foo' = true +array ( 'foo' => 1, 'bar' => 2 ) || array ( ) = true +array ( 'foo' => 1, 'bar' => 2 ) || array ( 0 => 1 ) = true +array ( 'foo' => 1, 'bar' => 2 ) || array ( 0 => 1, 1 => 100 ) = true +array ( 'foo' => 1, 'bar' => 2 ) || array ( 'foo' => 1, 'bar' => 2 ) = true +array ( 'foo' => 1, 'bar' => 2 ) || array ( 'bar' => 1, 'foo' => 2 ) = true +array ( 'foo' => 1, 'bar' => 2 ) || (object) array ( ) = true +array ( 'foo' => 1, 'bar' => 2 ) || (object) array ( 'foo' => 1, 'bar' => 2 ) = true +array ( 'foo' => 1, 'bar' => 2 ) || (object) array ( 'bar' => 1, 'foo' => 2 ) = true +array ( 'foo' => 1, 'bar' => 2 ) || DateTime = true +array ( 'foo' => 1, 'bar' => 2 ) || resource = true +array ( 'foo' => 1, 'bar' => 2 ) || NULL = true +array ( 'bar' => 1, 'foo' => 2 ) || false = true +array ( 'bar' => 1, 'foo' => 2 ) || true = true +array ( 'bar' => 1, 'foo' => 2 ) || 0 = true +array ( 'bar' => 1, 'foo' => 2 ) || 10 = true +array ( 'bar' => 1, 'foo' => 2 ) || 0.0 = true +array ( 'bar' => 1, 'foo' => 2 ) || 10.0 = true +array ( 'bar' => 1, 'foo' => 2 ) || 3.14 = true +array ( 'bar' => 1, 'foo' => 2 ) || '0' = true +array ( 'bar' => 1, 'foo' => 2 ) || '10' = true +array ( 'bar' => 1, 'foo' => 2 ) || '010' = true +array ( 'bar' => 1, 'foo' => 2 ) || '10 elephants' = true +array ( 'bar' => 1, 'foo' => 2 ) || 'foo' = true +array ( 'bar' => 1, 'foo' => 2 ) || array ( ) = true +array ( 'bar' => 1, 'foo' => 2 ) || array ( 0 => 1 ) = true +array ( 'bar' => 1, 'foo' => 2 ) || array ( 0 => 1, 1 => 100 ) = true +array ( 'bar' => 1, 'foo' => 2 ) || array ( 'foo' => 1, 'bar' => 2 ) = true +array ( 'bar' => 1, 'foo' => 2 ) || array ( 'bar' => 1, 'foo' => 2 ) = true +array ( 'bar' => 1, 'foo' => 2 ) || (object) array ( ) = true +array ( 'bar' => 1, 'foo' => 2 ) || (object) array ( 'foo' => 1, 'bar' => 2 ) = true +array ( 'bar' => 1, 'foo' => 2 ) || (object) array ( 'bar' => 1, 'foo' => 2 ) = true +array ( 'bar' => 1, 'foo' => 2 ) || DateTime = true +array ( 'bar' => 1, 'foo' => 2 ) || resource = true +array ( 'bar' => 1, 'foo' => 2 ) || NULL = true +(object) array ( ) || false = true +(object) array ( ) || true = true +(object) array ( ) || 0 = true +(object) array ( ) || 10 = true +(object) array ( ) || 0.0 = true +(object) array ( ) || 10.0 = true +(object) array ( ) || 3.14 = true +(object) array ( ) || '0' = true +(object) array ( ) || '10' = true +(object) array ( ) || '010' = true +(object) array ( ) || '10 elephants' = true +(object) array ( ) || 'foo' = true +(object) array ( ) || array ( ) = true +(object) array ( ) || array ( 0 => 1 ) = true +(object) array ( ) || array ( 0 => 1, 1 => 100 ) = true +(object) array ( ) || array ( 'foo' => 1, 'bar' => 2 ) = true +(object) array ( ) || array ( 'bar' => 1, 'foo' => 2 ) = true +(object) array ( ) || (object) array ( ) = true +(object) array ( ) || (object) array ( 'foo' => 1, 'bar' => 2 ) = true +(object) array ( ) || (object) array ( 'bar' => 1, 'foo' => 2 ) = true +(object) array ( ) || DateTime = true +(object) array ( ) || resource = true +(object) array ( ) || NULL = true +(object) array ( 'foo' => 1, 'bar' => 2 ) || false = true +(object) array ( 'foo' => 1, 'bar' => 2 ) || true = true +(object) array ( 'foo' => 1, 'bar' => 2 ) || 0 = true +(object) array ( 'foo' => 1, 'bar' => 2 ) || 10 = true +(object) array ( 'foo' => 1, 'bar' => 2 ) || 0.0 = true +(object) array ( 'foo' => 1, 'bar' => 2 ) || 10.0 = true +(object) array ( 'foo' => 1, 'bar' => 2 ) || 3.14 = true +(object) array ( 'foo' => 1, 'bar' => 2 ) || '0' = true +(object) array ( 'foo' => 1, 'bar' => 2 ) || '10' = true +(object) array ( 'foo' => 1, 'bar' => 2 ) || '010' = true +(object) array ( 'foo' => 1, 'bar' => 2 ) || '10 elephants' = true +(object) array ( 'foo' => 1, 'bar' => 2 ) || 'foo' = true +(object) array ( 'foo' => 1, 'bar' => 2 ) || array ( ) = true +(object) array ( 'foo' => 1, 'bar' => 2 ) || array ( 0 => 1 ) = true +(object) array ( 'foo' => 1, 'bar' => 2 ) || array ( 0 => 1, 1 => 100 ) = true +(object) array ( 'foo' => 1, 'bar' => 2 ) || array ( 'foo' => 1, 'bar' => 2 ) = true +(object) array ( 'foo' => 1, 'bar' => 2 ) || array ( 'bar' => 1, 'foo' => 2 ) = true +(object) array ( 'foo' => 1, 'bar' => 2 ) || (object) array ( ) = true +(object) array ( 'foo' => 1, 'bar' => 2 ) || (object) array ( 'foo' => 1, 'bar' => 2 ) = true +(object) array ( 'foo' => 1, 'bar' => 2 ) || (object) array ( 'bar' => 1, 'foo' => 2 ) = true +(object) array ( 'foo' => 1, 'bar' => 2 ) || DateTime = true +(object) array ( 'foo' => 1, 'bar' => 2 ) || resource = true +(object) array ( 'foo' => 1, 'bar' => 2 ) || NULL = true +(object) array ( 'bar' => 1, 'foo' => 2 ) || false = true +(object) array ( 'bar' => 1, 'foo' => 2 ) || true = true +(object) array ( 'bar' => 1, 'foo' => 2 ) || 0 = true +(object) array ( 'bar' => 1, 'foo' => 2 ) || 10 = true +(object) array ( 'bar' => 1, 'foo' => 2 ) || 0.0 = true +(object) array ( 'bar' => 1, 'foo' => 2 ) || 10.0 = true +(object) array ( 'bar' => 1, 'foo' => 2 ) || 3.14 = true +(object) array ( 'bar' => 1, 'foo' => 2 ) || '0' = true +(object) array ( 'bar' => 1, 'foo' => 2 ) || '10' = true +(object) array ( 'bar' => 1, 'foo' => 2 ) || '010' = true +(object) array ( 'bar' => 1, 'foo' => 2 ) || '10 elephants' = true +(object) array ( 'bar' => 1, 'foo' => 2 ) || 'foo' = true +(object) array ( 'bar' => 1, 'foo' => 2 ) || array ( ) = true +(object) array ( 'bar' => 1, 'foo' => 2 ) || array ( 0 => 1 ) = true +(object) array ( 'bar' => 1, 'foo' => 2 ) || array ( 0 => 1, 1 => 100 ) = true +(object) array ( 'bar' => 1, 'foo' => 2 ) || array ( 'foo' => 1, 'bar' => 2 ) = true +(object) array ( 'bar' => 1, 'foo' => 2 ) || array ( 'bar' => 1, 'foo' => 2 ) = true +(object) array ( 'bar' => 1, 'foo' => 2 ) || (object) array ( ) = true +(object) array ( 'bar' => 1, 'foo' => 2 ) || (object) array ( 'foo' => 1, 'bar' => 2 ) = true +(object) array ( 'bar' => 1, 'foo' => 2 ) || (object) array ( 'bar' => 1, 'foo' => 2 ) = true +(object) array ( 'bar' => 1, 'foo' => 2 ) || DateTime = true +(object) array ( 'bar' => 1, 'foo' => 2 ) || resource = true +(object) array ( 'bar' => 1, 'foo' => 2 ) || NULL = true +DateTime || false = true +DateTime || true = true +DateTime || 0 = true +DateTime || 10 = true +DateTime || 0.0 = true +DateTime || 10.0 = true +DateTime || 3.14 = true +DateTime || '0' = true +DateTime || '10' = true +DateTime || '010' = true +DateTime || '10 elephants' = true +DateTime || 'foo' = true +DateTime || array ( ) = true +DateTime || array ( 0 => 1 ) = true +DateTime || array ( 0 => 1, 1 => 100 ) = true +DateTime || array ( 'foo' => 1, 'bar' => 2 ) = true +DateTime || array ( 'bar' => 1, 'foo' => 2 ) = true +DateTime || (object) array ( ) = true +DateTime || (object) array ( 'foo' => 1, 'bar' => 2 ) = true +DateTime || (object) array ( 'bar' => 1, 'foo' => 2 ) = true +DateTime || DateTime = true +DateTime || resource = true +DateTime || NULL = true +resource || false = true +resource || true = true +resource || 0 = true +resource || 10 = true +resource || 0.0 = true +resource || 10.0 = true +resource || 3.14 = true +resource || '0' = true +resource || '10' = true +resource || '010' = true +resource || '10 elephants' = true +resource || 'foo' = true +resource || array ( ) = true +resource || array ( 0 => 1 ) = true +resource || array ( 0 => 1, 1 => 100 ) = true +resource || array ( 'foo' => 1, 'bar' => 2 ) = true +resource || array ( 'bar' => 1, 'foo' => 2 ) = true +resource || (object) array ( ) = true +resource || (object) array ( 'foo' => 1, 'bar' => 2 ) = true +resource || (object) array ( 'bar' => 1, 'foo' => 2 ) = true +resource || DateTime = true +resource || resource = true +resource || NULL = true +NULL || false = false +NULL || true = true +NULL || 0 = false +NULL || 10 = true +NULL || 0.0 = false +NULL || 10.0 = true +NULL || 3.14 = true +NULL || '0' = false +NULL || '10' = true +NULL || '010' = true +NULL || '10 elephants' = true +NULL || 'foo' = true +NULL || array ( ) = false +NULL || array ( 0 => 1 ) = true +NULL || array ( 0 => 1, 1 => 100 ) = true +NULL || array ( 'foo' => 1, 'bar' => 2 ) = true +NULL || array ( 'bar' => 1, 'foo' => 2 ) = true +NULL || (object) array ( ) = true +NULL || (object) array ( 'foo' => 1, 'bar' => 2 ) = true +NULL || (object) array ( 'bar' => 1, 'foo' => 2 ) = true +NULL || DateTime = true +NULL || resource = true +NULL || NULL = false \ No newline at end of file diff --git a/Zend/tests/operators/logical/xor.phpt b/Zend/tests/operators/logical/xor.phpt new file mode 100644 index 000000000000..03f7711db6eb --- /dev/null +++ b/Zend/tests/operators/logical/xor.phpt @@ -0,0 +1,540 @@ +--TEST-- +logical xor operator +--FILE-- + 1 ) = true +false xor array ( 0 => 1, 1 => 100 ) = true +false xor array ( 'foo' => 1, 'bar' => 2 ) = true +false xor array ( 'bar' => 1, 'foo' => 2 ) = true +false xor (object) array ( ) = true +false xor (object) array ( 'foo' => 1, 'bar' => 2 ) = true +false xor (object) array ( 'bar' => 1, 'foo' => 2 ) = true +false xor DateTime = true +false xor resource = true +false xor NULL = false +true xor false = true +true xor true = false +true xor 0 = true +true xor 10 = false +true xor 0.0 = true +true xor 10.0 = false +true xor 3.14 = false +true xor '0' = true +true xor '10' = false +true xor '010' = false +true xor '10 elephants' = false +true xor 'foo' = false +true xor array ( ) = true +true xor array ( 0 => 1 ) = false +true xor array ( 0 => 1, 1 => 100 ) = false +true xor array ( 'foo' => 1, 'bar' => 2 ) = false +true xor array ( 'bar' => 1, 'foo' => 2 ) = false +true xor (object) array ( ) = false +true xor (object) array ( 'foo' => 1, 'bar' => 2 ) = false +true xor (object) array ( 'bar' => 1, 'foo' => 2 ) = false +true xor DateTime = false +true xor resource = false +true xor NULL = true +0 xor false = false +0 xor true = true +0 xor 0 = false +0 xor 10 = true +0 xor 0.0 = false +0 xor 10.0 = true +0 xor 3.14 = true +0 xor '0' = false +0 xor '10' = true +0 xor '010' = true +0 xor '10 elephants' = true +0 xor 'foo' = true +0 xor array ( ) = false +0 xor array ( 0 => 1 ) = true +0 xor array ( 0 => 1, 1 => 100 ) = true +0 xor array ( 'foo' => 1, 'bar' => 2 ) = true +0 xor array ( 'bar' => 1, 'foo' => 2 ) = true +0 xor (object) array ( ) = true +0 xor (object) array ( 'foo' => 1, 'bar' => 2 ) = true +0 xor (object) array ( 'bar' => 1, 'foo' => 2 ) = true +0 xor DateTime = true +0 xor resource = true +0 xor NULL = false +10 xor false = true +10 xor true = false +10 xor 0 = true +10 xor 10 = false +10 xor 0.0 = true +10 xor 10.0 = false +10 xor 3.14 = false +10 xor '0' = true +10 xor '10' = false +10 xor '010' = false +10 xor '10 elephants' = false +10 xor 'foo' = false +10 xor array ( ) = true +10 xor array ( 0 => 1 ) = false +10 xor array ( 0 => 1, 1 => 100 ) = false +10 xor array ( 'foo' => 1, 'bar' => 2 ) = false +10 xor array ( 'bar' => 1, 'foo' => 2 ) = false +10 xor (object) array ( ) = false +10 xor (object) array ( 'foo' => 1, 'bar' => 2 ) = false +10 xor (object) array ( 'bar' => 1, 'foo' => 2 ) = false +10 xor DateTime = false +10 xor resource = false +10 xor NULL = true +0.0 xor false = false +0.0 xor true = true +0.0 xor 0 = false +0.0 xor 10 = true +0.0 xor 0.0 = false +0.0 xor 10.0 = true +0.0 xor 3.14 = true +0.0 xor '0' = false +0.0 xor '10' = true +0.0 xor '010' = true +0.0 xor '10 elephants' = true +0.0 xor 'foo' = true +0.0 xor array ( ) = false +0.0 xor array ( 0 => 1 ) = true +0.0 xor array ( 0 => 1, 1 => 100 ) = true +0.0 xor array ( 'foo' => 1, 'bar' => 2 ) = true +0.0 xor array ( 'bar' => 1, 'foo' => 2 ) = true +0.0 xor (object) array ( ) = true +0.0 xor (object) array ( 'foo' => 1, 'bar' => 2 ) = true +0.0 xor (object) array ( 'bar' => 1, 'foo' => 2 ) = true +0.0 xor DateTime = true +0.0 xor resource = true +0.0 xor NULL = false +10.0 xor false = true +10.0 xor true = false +10.0 xor 0 = true +10.0 xor 10 = false +10.0 xor 0.0 = true +10.0 xor 10.0 = false +10.0 xor 3.14 = false +10.0 xor '0' = true +10.0 xor '10' = false +10.0 xor '010' = false +10.0 xor '10 elephants' = false +10.0 xor 'foo' = false +10.0 xor array ( ) = true +10.0 xor array ( 0 => 1 ) = false +10.0 xor array ( 0 => 1, 1 => 100 ) = false +10.0 xor array ( 'foo' => 1, 'bar' => 2 ) = false +10.0 xor array ( 'bar' => 1, 'foo' => 2 ) = false +10.0 xor (object) array ( ) = false +10.0 xor (object) array ( 'foo' => 1, 'bar' => 2 ) = false +10.0 xor (object) array ( 'bar' => 1, 'foo' => 2 ) = false +10.0 xor DateTime = false +10.0 xor resource = false +10.0 xor NULL = true +3.14 xor false = true +3.14 xor true = false +3.14 xor 0 = true +3.14 xor 10 = false +3.14 xor 0.0 = true +3.14 xor 10.0 = false +3.14 xor 3.14 = false +3.14 xor '0' = true +3.14 xor '10' = false +3.14 xor '010' = false +3.14 xor '10 elephants' = false +3.14 xor 'foo' = false +3.14 xor array ( ) = true +3.14 xor array ( 0 => 1 ) = false +3.14 xor array ( 0 => 1, 1 => 100 ) = false +3.14 xor array ( 'foo' => 1, 'bar' => 2 ) = false +3.14 xor array ( 'bar' => 1, 'foo' => 2 ) = false +3.14 xor (object) array ( ) = false +3.14 xor (object) array ( 'foo' => 1, 'bar' => 2 ) = false +3.14 xor (object) array ( 'bar' => 1, 'foo' => 2 ) = false +3.14 xor DateTime = false +3.14 xor resource = false +3.14 xor NULL = true +'0' xor false = false +'0' xor true = true +'0' xor 0 = false +'0' xor 10 = true +'0' xor 0.0 = false +'0' xor 10.0 = true +'0' xor 3.14 = true +'0' xor '0' = false +'0' xor '10' = true +'0' xor '010' = true +'0' xor '10 elephants' = true +'0' xor 'foo' = true +'0' xor array ( ) = false +'0' xor array ( 0 => 1 ) = true +'0' xor array ( 0 => 1, 1 => 100 ) = true +'0' xor array ( 'foo' => 1, 'bar' => 2 ) = true +'0' xor array ( 'bar' => 1, 'foo' => 2 ) = true +'0' xor (object) array ( ) = true +'0' xor (object) array ( 'foo' => 1, 'bar' => 2 ) = true +'0' xor (object) array ( 'bar' => 1, 'foo' => 2 ) = true +'0' xor DateTime = true +'0' xor resource = true +'0' xor NULL = false +'10' xor false = true +'10' xor true = false +'10' xor 0 = true +'10' xor 10 = false +'10' xor 0.0 = true +'10' xor 10.0 = false +'10' xor 3.14 = false +'10' xor '0' = true +'10' xor '10' = false +'10' xor '010' = false +'10' xor '10 elephants' = false +'10' xor 'foo' = false +'10' xor array ( ) = true +'10' xor array ( 0 => 1 ) = false +'10' xor array ( 0 => 1, 1 => 100 ) = false +'10' xor array ( 'foo' => 1, 'bar' => 2 ) = false +'10' xor array ( 'bar' => 1, 'foo' => 2 ) = false +'10' xor (object) array ( ) = false +'10' xor (object) array ( 'foo' => 1, 'bar' => 2 ) = false +'10' xor (object) array ( 'bar' => 1, 'foo' => 2 ) = false +'10' xor DateTime = false +'10' xor resource = false +'10' xor NULL = true +'010' xor false = true +'010' xor true = false +'010' xor 0 = true +'010' xor 10 = false +'010' xor 0.0 = true +'010' xor 10.0 = false +'010' xor 3.14 = false +'010' xor '0' = true +'010' xor '10' = false +'010' xor '010' = false +'010' xor '10 elephants' = false +'010' xor 'foo' = false +'010' xor array ( ) = true +'010' xor array ( 0 => 1 ) = false +'010' xor array ( 0 => 1, 1 => 100 ) = false +'010' xor array ( 'foo' => 1, 'bar' => 2 ) = false +'010' xor array ( 'bar' => 1, 'foo' => 2 ) = false +'010' xor (object) array ( ) = false +'010' xor (object) array ( 'foo' => 1, 'bar' => 2 ) = false +'010' xor (object) array ( 'bar' => 1, 'foo' => 2 ) = false +'010' xor DateTime = false +'010' xor resource = false +'010' xor NULL = true +'10 elephants' xor false = true +'10 elephants' xor true = false +'10 elephants' xor 0 = true +'10 elephants' xor 10 = false +'10 elephants' xor 0.0 = true +'10 elephants' xor 10.0 = false +'10 elephants' xor 3.14 = false +'10 elephants' xor '0' = true +'10 elephants' xor '10' = false +'10 elephants' xor '010' = false +'10 elephants' xor '10 elephants' = false +'10 elephants' xor 'foo' = false +'10 elephants' xor array ( ) = true +'10 elephants' xor array ( 0 => 1 ) = false +'10 elephants' xor array ( 0 => 1, 1 => 100 ) = false +'10 elephants' xor array ( 'foo' => 1, 'bar' => 2 ) = false +'10 elephants' xor array ( 'bar' => 1, 'foo' => 2 ) = false +'10 elephants' xor (object) array ( ) = false +'10 elephants' xor (object) array ( 'foo' => 1, 'bar' => 2 ) = false +'10 elephants' xor (object) array ( 'bar' => 1, 'foo' => 2 ) = false +'10 elephants' xor DateTime = false +'10 elephants' xor resource = false +'10 elephants' xor NULL = true +'foo' xor false = true +'foo' xor true = false +'foo' xor 0 = true +'foo' xor 10 = false +'foo' xor 0.0 = true +'foo' xor 10.0 = false +'foo' xor 3.14 = false +'foo' xor '0' = true +'foo' xor '10' = false +'foo' xor '010' = false +'foo' xor '10 elephants' = false +'foo' xor 'foo' = false +'foo' xor array ( ) = true +'foo' xor array ( 0 => 1 ) = false +'foo' xor array ( 0 => 1, 1 => 100 ) = false +'foo' xor array ( 'foo' => 1, 'bar' => 2 ) = false +'foo' xor array ( 'bar' => 1, 'foo' => 2 ) = false +'foo' xor (object) array ( ) = false +'foo' xor (object) array ( 'foo' => 1, 'bar' => 2 ) = false +'foo' xor (object) array ( 'bar' => 1, 'foo' => 2 ) = false +'foo' xor DateTime = false +'foo' xor resource = false +'foo' xor NULL = true +array ( ) xor false = false +array ( ) xor true = true +array ( ) xor 0 = false +array ( ) xor 10 = true +array ( ) xor 0.0 = false +array ( ) xor 10.0 = true +array ( ) xor 3.14 = true +array ( ) xor '0' = false +array ( ) xor '10' = true +array ( ) xor '010' = true +array ( ) xor '10 elephants' = true +array ( ) xor 'foo' = true +array ( ) xor array ( ) = false +array ( ) xor array ( 0 => 1 ) = true +array ( ) xor array ( 0 => 1, 1 => 100 ) = true +array ( ) xor array ( 'foo' => 1, 'bar' => 2 ) = true +array ( ) xor array ( 'bar' => 1, 'foo' => 2 ) = true +array ( ) xor (object) array ( ) = true +array ( ) xor (object) array ( 'foo' => 1, 'bar' => 2 ) = true +array ( ) xor (object) array ( 'bar' => 1, 'foo' => 2 ) = true +array ( ) xor DateTime = true +array ( ) xor resource = true +array ( ) xor NULL = false +array ( 0 => 1 ) xor false = true +array ( 0 => 1 ) xor true = false +array ( 0 => 1 ) xor 0 = true +array ( 0 => 1 ) xor 10 = false +array ( 0 => 1 ) xor 0.0 = true +array ( 0 => 1 ) xor 10.0 = false +array ( 0 => 1 ) xor 3.14 = false +array ( 0 => 1 ) xor '0' = true +array ( 0 => 1 ) xor '10' = false +array ( 0 => 1 ) xor '010' = false +array ( 0 => 1 ) xor '10 elephants' = false +array ( 0 => 1 ) xor 'foo' = false +array ( 0 => 1 ) xor array ( ) = true +array ( 0 => 1 ) xor array ( 0 => 1 ) = false +array ( 0 => 1 ) xor array ( 0 => 1, 1 => 100 ) = false +array ( 0 => 1 ) xor array ( 'foo' => 1, 'bar' => 2 ) = false +array ( 0 => 1 ) xor array ( 'bar' => 1, 'foo' => 2 ) = false +array ( 0 => 1 ) xor (object) array ( ) = false +array ( 0 => 1 ) xor (object) array ( 'foo' => 1, 'bar' => 2 ) = false +array ( 0 => 1 ) xor (object) array ( 'bar' => 1, 'foo' => 2 ) = false +array ( 0 => 1 ) xor DateTime = false +array ( 0 => 1 ) xor resource = false +array ( 0 => 1 ) xor NULL = true +array ( 0 => 1, 1 => 100 ) xor false = true +array ( 0 => 1, 1 => 100 ) xor true = false +array ( 0 => 1, 1 => 100 ) xor 0 = true +array ( 0 => 1, 1 => 100 ) xor 10 = false +array ( 0 => 1, 1 => 100 ) xor 0.0 = true +array ( 0 => 1, 1 => 100 ) xor 10.0 = false +array ( 0 => 1, 1 => 100 ) xor 3.14 = false +array ( 0 => 1, 1 => 100 ) xor '0' = true +array ( 0 => 1, 1 => 100 ) xor '10' = false +array ( 0 => 1, 1 => 100 ) xor '010' = false +array ( 0 => 1, 1 => 100 ) xor '10 elephants' = false +array ( 0 => 1, 1 => 100 ) xor 'foo' = false +array ( 0 => 1, 1 => 100 ) xor array ( ) = true +array ( 0 => 1, 1 => 100 ) xor array ( 0 => 1 ) = false +array ( 0 => 1, 1 => 100 ) xor array ( 0 => 1, 1 => 100 ) = false +array ( 0 => 1, 1 => 100 ) xor array ( 'foo' => 1, 'bar' => 2 ) = false +array ( 0 => 1, 1 => 100 ) xor array ( 'bar' => 1, 'foo' => 2 ) = false +array ( 0 => 1, 1 => 100 ) xor (object) array ( ) = false +array ( 0 => 1, 1 => 100 ) xor (object) array ( 'foo' => 1, 'bar' => 2 ) = false +array ( 0 => 1, 1 => 100 ) xor (object) array ( 'bar' => 1, 'foo' => 2 ) = false +array ( 0 => 1, 1 => 100 ) xor DateTime = false +array ( 0 => 1, 1 => 100 ) xor resource = false +array ( 0 => 1, 1 => 100 ) xor NULL = true +array ( 'foo' => 1, 'bar' => 2 ) xor false = true +array ( 'foo' => 1, 'bar' => 2 ) xor true = false +array ( 'foo' => 1, 'bar' => 2 ) xor 0 = true +array ( 'foo' => 1, 'bar' => 2 ) xor 10 = false +array ( 'foo' => 1, 'bar' => 2 ) xor 0.0 = true +array ( 'foo' => 1, 'bar' => 2 ) xor 10.0 = false +array ( 'foo' => 1, 'bar' => 2 ) xor 3.14 = false +array ( 'foo' => 1, 'bar' => 2 ) xor '0' = true +array ( 'foo' => 1, 'bar' => 2 ) xor '10' = false +array ( 'foo' => 1, 'bar' => 2 ) xor '010' = false +array ( 'foo' => 1, 'bar' => 2 ) xor '10 elephants' = false +array ( 'foo' => 1, 'bar' => 2 ) xor 'foo' = false +array ( 'foo' => 1, 'bar' => 2 ) xor array ( ) = true +array ( 'foo' => 1, 'bar' => 2 ) xor array ( 0 => 1 ) = false +array ( 'foo' => 1, 'bar' => 2 ) xor array ( 0 => 1, 1 => 100 ) = false +array ( 'foo' => 1, 'bar' => 2 ) xor array ( 'foo' => 1, 'bar' => 2 ) = false +array ( 'foo' => 1, 'bar' => 2 ) xor array ( 'bar' => 1, 'foo' => 2 ) = false +array ( 'foo' => 1, 'bar' => 2 ) xor (object) array ( ) = false +array ( 'foo' => 1, 'bar' => 2 ) xor (object) array ( 'foo' => 1, 'bar' => 2 ) = false +array ( 'foo' => 1, 'bar' => 2 ) xor (object) array ( 'bar' => 1, 'foo' => 2 ) = false +array ( 'foo' => 1, 'bar' => 2 ) xor DateTime = false +array ( 'foo' => 1, 'bar' => 2 ) xor resource = false +array ( 'foo' => 1, 'bar' => 2 ) xor NULL = true +array ( 'bar' => 1, 'foo' => 2 ) xor false = true +array ( 'bar' => 1, 'foo' => 2 ) xor true = false +array ( 'bar' => 1, 'foo' => 2 ) xor 0 = true +array ( 'bar' => 1, 'foo' => 2 ) xor 10 = false +array ( 'bar' => 1, 'foo' => 2 ) xor 0.0 = true +array ( 'bar' => 1, 'foo' => 2 ) xor 10.0 = false +array ( 'bar' => 1, 'foo' => 2 ) xor 3.14 = false +array ( 'bar' => 1, 'foo' => 2 ) xor '0' = true +array ( 'bar' => 1, 'foo' => 2 ) xor '10' = false +array ( 'bar' => 1, 'foo' => 2 ) xor '010' = false +array ( 'bar' => 1, 'foo' => 2 ) xor '10 elephants' = false +array ( 'bar' => 1, 'foo' => 2 ) xor 'foo' = false +array ( 'bar' => 1, 'foo' => 2 ) xor array ( ) = true +array ( 'bar' => 1, 'foo' => 2 ) xor array ( 0 => 1 ) = false +array ( 'bar' => 1, 'foo' => 2 ) xor array ( 0 => 1, 1 => 100 ) = false +array ( 'bar' => 1, 'foo' => 2 ) xor array ( 'foo' => 1, 'bar' => 2 ) = false +array ( 'bar' => 1, 'foo' => 2 ) xor array ( 'bar' => 1, 'foo' => 2 ) = false +array ( 'bar' => 1, 'foo' => 2 ) xor (object) array ( ) = false +array ( 'bar' => 1, 'foo' => 2 ) xor (object) array ( 'foo' => 1, 'bar' => 2 ) = false +array ( 'bar' => 1, 'foo' => 2 ) xor (object) array ( 'bar' => 1, 'foo' => 2 ) = false +array ( 'bar' => 1, 'foo' => 2 ) xor DateTime = false +array ( 'bar' => 1, 'foo' => 2 ) xor resource = false +array ( 'bar' => 1, 'foo' => 2 ) xor NULL = true +(object) array ( ) xor false = true +(object) array ( ) xor true = false +(object) array ( ) xor 0 = true +(object) array ( ) xor 10 = false +(object) array ( ) xor 0.0 = true +(object) array ( ) xor 10.0 = false +(object) array ( ) xor 3.14 = false +(object) array ( ) xor '0' = true +(object) array ( ) xor '10' = false +(object) array ( ) xor '010' = false +(object) array ( ) xor '10 elephants' = false +(object) array ( ) xor 'foo' = false +(object) array ( ) xor array ( ) = true +(object) array ( ) xor array ( 0 => 1 ) = false +(object) array ( ) xor array ( 0 => 1, 1 => 100 ) = false +(object) array ( ) xor array ( 'foo' => 1, 'bar' => 2 ) = false +(object) array ( ) xor array ( 'bar' => 1, 'foo' => 2 ) = false +(object) array ( ) xor (object) array ( ) = false +(object) array ( ) xor (object) array ( 'foo' => 1, 'bar' => 2 ) = false +(object) array ( ) xor (object) array ( 'bar' => 1, 'foo' => 2 ) = false +(object) array ( ) xor DateTime = false +(object) array ( ) xor resource = false +(object) array ( ) xor NULL = true +(object) array ( 'foo' => 1, 'bar' => 2 ) xor false = true +(object) array ( 'foo' => 1, 'bar' => 2 ) xor true = false +(object) array ( 'foo' => 1, 'bar' => 2 ) xor 0 = true +(object) array ( 'foo' => 1, 'bar' => 2 ) xor 10 = false +(object) array ( 'foo' => 1, 'bar' => 2 ) xor 0.0 = true +(object) array ( 'foo' => 1, 'bar' => 2 ) xor 10.0 = false +(object) array ( 'foo' => 1, 'bar' => 2 ) xor 3.14 = false +(object) array ( 'foo' => 1, 'bar' => 2 ) xor '0' = true +(object) array ( 'foo' => 1, 'bar' => 2 ) xor '10' = false +(object) array ( 'foo' => 1, 'bar' => 2 ) xor '010' = false +(object) array ( 'foo' => 1, 'bar' => 2 ) xor '10 elephants' = false +(object) array ( 'foo' => 1, 'bar' => 2 ) xor 'foo' = false +(object) array ( 'foo' => 1, 'bar' => 2 ) xor array ( ) = true +(object) array ( 'foo' => 1, 'bar' => 2 ) xor array ( 0 => 1 ) = false +(object) array ( 'foo' => 1, 'bar' => 2 ) xor array ( 0 => 1, 1 => 100 ) = false +(object) array ( 'foo' => 1, 'bar' => 2 ) xor array ( 'foo' => 1, 'bar' => 2 ) = false +(object) array ( 'foo' => 1, 'bar' => 2 ) xor array ( 'bar' => 1, 'foo' => 2 ) = false +(object) array ( 'foo' => 1, 'bar' => 2 ) xor (object) array ( ) = false +(object) array ( 'foo' => 1, 'bar' => 2 ) xor (object) array ( 'foo' => 1, 'bar' => 2 ) = false +(object) array ( 'foo' => 1, 'bar' => 2 ) xor (object) array ( 'bar' => 1, 'foo' => 2 ) = false +(object) array ( 'foo' => 1, 'bar' => 2 ) xor DateTime = false +(object) array ( 'foo' => 1, 'bar' => 2 ) xor resource = false +(object) array ( 'foo' => 1, 'bar' => 2 ) xor NULL = true +(object) array ( 'bar' => 1, 'foo' => 2 ) xor false = true +(object) array ( 'bar' => 1, 'foo' => 2 ) xor true = false +(object) array ( 'bar' => 1, 'foo' => 2 ) xor 0 = true +(object) array ( 'bar' => 1, 'foo' => 2 ) xor 10 = false +(object) array ( 'bar' => 1, 'foo' => 2 ) xor 0.0 = true +(object) array ( 'bar' => 1, 'foo' => 2 ) xor 10.0 = false +(object) array ( 'bar' => 1, 'foo' => 2 ) xor 3.14 = false +(object) array ( 'bar' => 1, 'foo' => 2 ) xor '0' = true +(object) array ( 'bar' => 1, 'foo' => 2 ) xor '10' = false +(object) array ( 'bar' => 1, 'foo' => 2 ) xor '010' = false +(object) array ( 'bar' => 1, 'foo' => 2 ) xor '10 elephants' = false +(object) array ( 'bar' => 1, 'foo' => 2 ) xor 'foo' = false +(object) array ( 'bar' => 1, 'foo' => 2 ) xor array ( ) = true +(object) array ( 'bar' => 1, 'foo' => 2 ) xor array ( 0 => 1 ) = false +(object) array ( 'bar' => 1, 'foo' => 2 ) xor array ( 0 => 1, 1 => 100 ) = false +(object) array ( 'bar' => 1, 'foo' => 2 ) xor array ( 'foo' => 1, 'bar' => 2 ) = false +(object) array ( 'bar' => 1, 'foo' => 2 ) xor array ( 'bar' => 1, 'foo' => 2 ) = false +(object) array ( 'bar' => 1, 'foo' => 2 ) xor (object) array ( ) = false +(object) array ( 'bar' => 1, 'foo' => 2 ) xor (object) array ( 'foo' => 1, 'bar' => 2 ) = false +(object) array ( 'bar' => 1, 'foo' => 2 ) xor (object) array ( 'bar' => 1, 'foo' => 2 ) = false +(object) array ( 'bar' => 1, 'foo' => 2 ) xor DateTime = false +(object) array ( 'bar' => 1, 'foo' => 2 ) xor resource = false +(object) array ( 'bar' => 1, 'foo' => 2 ) xor NULL = true +DateTime xor false = true +DateTime xor true = false +DateTime xor 0 = true +DateTime xor 10 = false +DateTime xor 0.0 = true +DateTime xor 10.0 = false +DateTime xor 3.14 = false +DateTime xor '0' = true +DateTime xor '10' = false +DateTime xor '010' = false +DateTime xor '10 elephants' = false +DateTime xor 'foo' = false +DateTime xor array ( ) = true +DateTime xor array ( 0 => 1 ) = false +DateTime xor array ( 0 => 1, 1 => 100 ) = false +DateTime xor array ( 'foo' => 1, 'bar' => 2 ) = false +DateTime xor array ( 'bar' => 1, 'foo' => 2 ) = false +DateTime xor (object) array ( ) = false +DateTime xor (object) array ( 'foo' => 1, 'bar' => 2 ) = false +DateTime xor (object) array ( 'bar' => 1, 'foo' => 2 ) = false +DateTime xor DateTime = false +DateTime xor resource = false +DateTime xor NULL = true +resource xor false = true +resource xor true = false +resource xor 0 = true +resource xor 10 = false +resource xor 0.0 = true +resource xor 10.0 = false +resource xor 3.14 = false +resource xor '0' = true +resource xor '10' = false +resource xor '010' = false +resource xor '10 elephants' = false +resource xor 'foo' = false +resource xor array ( ) = true +resource xor array ( 0 => 1 ) = false +resource xor array ( 0 => 1, 1 => 100 ) = false +resource xor array ( 'foo' => 1, 'bar' => 2 ) = false +resource xor array ( 'bar' => 1, 'foo' => 2 ) = false +resource xor (object) array ( ) = false +resource xor (object) array ( 'foo' => 1, 'bar' => 2 ) = false +resource xor (object) array ( 'bar' => 1, 'foo' => 2 ) = false +resource xor DateTime = false +resource xor resource = false +resource xor NULL = true +NULL xor false = false +NULL xor true = true +NULL xor 0 = false +NULL xor 10 = true +NULL xor 0.0 = false +NULL xor 10.0 = true +NULL xor 3.14 = true +NULL xor '0' = false +NULL xor '10' = true +NULL xor '010' = true +NULL xor '10 elephants' = true +NULL xor 'foo' = true +NULL xor array ( ) = false +NULL xor array ( 0 => 1 ) = true +NULL xor array ( 0 => 1, 1 => 100 ) = true +NULL xor array ( 'foo' => 1, 'bar' => 2 ) = true +NULL xor array ( 'bar' => 1, 'foo' => 2 ) = true +NULL xor (object) array ( ) = true +NULL xor (object) array ( 'foo' => 1, 'bar' => 2 ) = true +NULL xor (object) array ( 'bar' => 1, 'foo' => 2 ) = true +NULL xor DateTime = true +NULL xor resource = true +NULL xor NULL = false \ No newline at end of file diff --git a/Zend/tests/operators/string/concatenation.phpt b/Zend/tests/operators/string/concatenation.phpt new file mode 100644 index 000000000000..58719f506bef --- /dev/null +++ b/Zend/tests/operators/string/concatenation.phpt @@ -0,0 +1,554 @@ +--TEST-- +concatenation operator +--FILE-- + 1 ) = 'Array' - Notice Array to string conversion +false . array ( 0 => 1, 1 => 100 ) = 'Array' - Notice Array to string conversion +false . array ( 'foo' => 1, 'bar' => 2 ) = 'Array' - Notice Array to string conversion +false . array ( 'bar' => 1, 'foo' => 2 ) = 'Array' - Notice Array to string conversion +false . (object) array ( ) - Error Object of class stdClass could not be converted to string +false . (object) array ( 'foo' => 1, 'bar' => 2 ) - Error Object of class stdClass could not be converted to string +false . (object) array ( 'bar' => 1, 'foo' => 2 ) - Error Object of class stdClass could not be converted to string +false . DateTime - Error Object of class DateTime could not be converted to string +false . resource = 'Resource id #%d' +false . NULL = '' +true . false = '1' +true . true = '11' +true . 0 = '10' +true . 10 = '110' +true . 0.0 = '10' +true . 10.0 = '110' +true . 3.14 = '13.14' +true . '0' = '10' +true . '10' = '110' +true . '010' = '1010' +true . '10 elephants' = '110 elephants' +true . 'foo' = '1foo' +true . array ( ) = '1Array' - Notice Array to string conversion +true . array ( 0 => 1 ) = '1Array' - Notice Array to string conversion +true . array ( 0 => 1, 1 => 100 ) = '1Array' - Notice Array to string conversion +true . array ( 'foo' => 1, 'bar' => 2 ) = '1Array' - Notice Array to string conversion +true . array ( 'bar' => 1, 'foo' => 2 ) = '1Array' - Notice Array to string conversion +true . (object) array ( ) - Error Object of class stdClass could not be converted to string +true . (object) array ( 'foo' => 1, 'bar' => 2 ) - Error Object of class stdClass could not be converted to string +true . (object) array ( 'bar' => 1, 'foo' => 2 ) - Error Object of class stdClass could not be converted to string +true . DateTime - Error Object of class DateTime could not be converted to string +true . resource = '1Resource id #%d' +true . NULL = '1' +0 . false = '0' +0 . true = '01' +0 . 0 = '00' +0 . 10 = '010' +0 . 0.0 = '00' +0 . 10.0 = '010' +0 . 3.14 = '03.14' +0 . '0' = '00' +0 . '10' = '010' +0 . '010' = '0010' +0 . '10 elephants' = '010 elephants' +0 . 'foo' = '0foo' +0 . array ( ) = '0Array' - Notice Array to string conversion +0 . array ( 0 => 1 ) = '0Array' - Notice Array to string conversion +0 . array ( 0 => 1, 1 => 100 ) = '0Array' - Notice Array to string conversion +0 . array ( 'foo' => 1, 'bar' => 2 ) = '0Array' - Notice Array to string conversion +0 . array ( 'bar' => 1, 'foo' => 2 ) = '0Array' - Notice Array to string conversion +0 . (object) array ( ) - Error Object of class stdClass could not be converted to string +0 . (object) array ( 'foo' => 1, 'bar' => 2 ) - Error Object of class stdClass could not be converted to string +0 . (object) array ( 'bar' => 1, 'foo' => 2 ) - Error Object of class stdClass could not be converted to string +0 . DateTime - Error Object of class DateTime could not be converted to string +0 . resource = '0Resource id #%d' +0 . NULL = '0' +10 . false = '10' +10 . true = '101' +10 . 0 = '100' +10 . 10 = '1010' +10 . 0.0 = '100' +10 . 10.0 = '1010' +10 . 3.14 = '103.14' +10 . '0' = '100' +10 . '10' = '1010' +10 . '010' = '10010' +10 . '10 elephants' = '1010 elephants' +10 . 'foo' = '10foo' +10 . array ( ) = '10Array' - Notice Array to string conversion +10 . array ( 0 => 1 ) = '10Array' - Notice Array to string conversion +10 . array ( 0 => 1, 1 => 100 ) = '10Array' - Notice Array to string conversion +10 . array ( 'foo' => 1, 'bar' => 2 ) = '10Array' - Notice Array to string conversion +10 . array ( 'bar' => 1, 'foo' => 2 ) = '10Array' - Notice Array to string conversion +10 . (object) array ( ) - Error Object of class stdClass could not be converted to string +10 . (object) array ( 'foo' => 1, 'bar' => 2 ) - Error Object of class stdClass could not be converted to string +10 . (object) array ( 'bar' => 1, 'foo' => 2 ) - Error Object of class stdClass could not be converted to string +10 . DateTime - Error Object of class DateTime could not be converted to string +10 . resource = '10Resource id #%d' +10 . NULL = '10' +0.0 . false = '0' +0.0 . true = '01' +0.0 . 0 = '00' +0.0 . 10 = '010' +0.0 . 0.0 = '00' +0.0 . 10.0 = '010' +0.0 . 3.14 = '03.14' +0.0 . '0' = '00' +0.0 . '10' = '010' +0.0 . '010' = '0010' +0.0 . '10 elephants' = '010 elephants' +0.0 . 'foo' = '0foo' +0.0 . array ( ) = '0Array' - Notice Array to string conversion +0.0 . array ( 0 => 1 ) = '0Array' - Notice Array to string conversion +0.0 . array ( 0 => 1, 1 => 100 ) = '0Array' - Notice Array to string conversion +0.0 . array ( 'foo' => 1, 'bar' => 2 ) = '0Array' - Notice Array to string conversion +0.0 . array ( 'bar' => 1, 'foo' => 2 ) = '0Array' - Notice Array to string conversion +0.0 . (object) array ( ) - Error Object of class stdClass could not be converted to string +0.0 . (object) array ( 'foo' => 1, 'bar' => 2 ) - Error Object of class stdClass could not be converted to string +0.0 . (object) array ( 'bar' => 1, 'foo' => 2 ) - Error Object of class stdClass could not be converted to string +0.0 . DateTime - Error Object of class DateTime could not be converted to string +0.0 . resource = '0Resource id #%d' +0.0 . NULL = '0' +10.0 . false = '10' +10.0 . true = '101' +10.0 . 0 = '100' +10.0 . 10 = '1010' +10.0 . 0.0 = '100' +10.0 . 10.0 = '1010' +10.0 . 3.14 = '103.14' +10.0 . '0' = '100' +10.0 . '10' = '1010' +10.0 . '010' = '10010' +10.0 . '10 elephants' = '1010 elephants' +10.0 . 'foo' = '10foo' +10.0 . array ( ) = '10Array' - Notice Array to string conversion +10.0 . array ( 0 => 1 ) = '10Array' - Notice Array to string conversion +10.0 . array ( 0 => 1, 1 => 100 ) = '10Array' - Notice Array to string conversion +10.0 . array ( 'foo' => 1, 'bar' => 2 ) = '10Array' - Notice Array to string conversion +10.0 . array ( 'bar' => 1, 'foo' => 2 ) = '10Array' - Notice Array to string conversion +10.0 . (object) array ( ) - Error Object of class stdClass could not be converted to string +10.0 . (object) array ( 'foo' => 1, 'bar' => 2 ) - Error Object of class stdClass could not be converted to string +10.0 . (object) array ( 'bar' => 1, 'foo' => 2 ) - Error Object of class stdClass could not be converted to string +10.0 . DateTime - Error Object of class DateTime could not be converted to string +10.0 . resource = '10Resource id #%d' +10.0 . NULL = '10' +3.14 . false = '3.14' +3.14 . true = '3.141' +3.14 . 0 = '3.140' +3.14 . 10 = '3.1410' +3.14 . 0.0 = '3.140' +3.14 . 10.0 = '3.1410' +3.14 . 3.14 = '3.143.14' +3.14 . '0' = '3.140' +3.14 . '10' = '3.1410' +3.14 . '010' = '3.14010' +3.14 . '10 elephants' = '3.1410 elephants' +3.14 . 'foo' = '3.14foo' +3.14 . array ( ) = '3.14Array' - Notice Array to string conversion +3.14 . array ( 0 => 1 ) = '3.14Array' - Notice Array to string conversion +3.14 . array ( 0 => 1, 1 => 100 ) = '3.14Array' - Notice Array to string conversion +3.14 . array ( 'foo' => 1, 'bar' => 2 ) = '3.14Array' - Notice Array to string conversion +3.14 . array ( 'bar' => 1, 'foo' => 2 ) = '3.14Array' - Notice Array to string conversion +3.14 . (object) array ( ) - Error Object of class stdClass could not be converted to string +3.14 . (object) array ( 'foo' => 1, 'bar' => 2 ) - Error Object of class stdClass could not be converted to string +3.14 . (object) array ( 'bar' => 1, 'foo' => 2 ) - Error Object of class stdClass could not be converted to string +3.14 . DateTime - Error Object of class DateTime could not be converted to string +3.14 . resource = '3.14Resource id #%d' +3.14 . NULL = '3.14' +'0' . false = '0' +'0' . true = '01' +'0' . 0 = '00' +'0' . 10 = '010' +'0' . 0.0 = '00' +'0' . 10.0 = '010' +'0' . 3.14 = '03.14' +'0' . '0' = '00' +'0' . '10' = '010' +'0' . '010' = '0010' +'0' . '10 elephants' = '010 elephants' +'0' . 'foo' = '0foo' +'0' . array ( ) = '0Array' - Notice Array to string conversion +'0' . array ( 0 => 1 ) = '0Array' - Notice Array to string conversion +'0' . array ( 0 => 1, 1 => 100 ) = '0Array' - Notice Array to string conversion +'0' . array ( 'foo' => 1, 'bar' => 2 ) = '0Array' - Notice Array to string conversion +'0' . array ( 'bar' => 1, 'foo' => 2 ) = '0Array' - Notice Array to string conversion +'0' . (object) array ( ) - Error Object of class stdClass could not be converted to string +'0' . (object) array ( 'foo' => 1, 'bar' => 2 ) - Error Object of class stdClass could not be converted to string +'0' . (object) array ( 'bar' => 1, 'foo' => 2 ) - Error Object of class stdClass could not be converted to string +'0' . DateTime - Error Object of class DateTime could not be converted to string +'0' . resource = '0Resource id #%d' +'0' . NULL = '0' +'10' . false = '10' +'10' . true = '101' +'10' . 0 = '100' +'10' . 10 = '1010' +'10' . 0.0 = '100' +'10' . 10.0 = '1010' +'10' . 3.14 = '103.14' +'10' . '0' = '100' +'10' . '10' = '1010' +'10' . '010' = '10010' +'10' . '10 elephants' = '1010 elephants' +'10' . 'foo' = '10foo' +'10' . array ( ) = '10Array' - Notice Array to string conversion +'10' . array ( 0 => 1 ) = '10Array' - Notice Array to string conversion +'10' . array ( 0 => 1, 1 => 100 ) = '10Array' - Notice Array to string conversion +'10' . array ( 'foo' => 1, 'bar' => 2 ) = '10Array' - Notice Array to string conversion +'10' . array ( 'bar' => 1, 'foo' => 2 ) = '10Array' - Notice Array to string conversion +'10' . (object) array ( ) - Error Object of class stdClass could not be converted to string +'10' . (object) array ( 'foo' => 1, 'bar' => 2 ) - Error Object of class stdClass could not be converted to string +'10' . (object) array ( 'bar' => 1, 'foo' => 2 ) - Error Object of class stdClass could not be converted to string +'10' . DateTime - Error Object of class DateTime could not be converted to string +'10' . resource = '10Resource id #%d' +'10' . NULL = '10' +'010' . false = '010' +'010' . true = '0101' +'010' . 0 = '0100' +'010' . 10 = '01010' +'010' . 0.0 = '0100' +'010' . 10.0 = '01010' +'010' . 3.14 = '0103.14' +'010' . '0' = '0100' +'010' . '10' = '01010' +'010' . '010' = '010010' +'010' . '10 elephants' = '01010 elephants' +'010' . 'foo' = '010foo' +'010' . array ( ) = '010Array' - Notice Array to string conversion +'010' . array ( 0 => 1 ) = '010Array' - Notice Array to string conversion +'010' . array ( 0 => 1, 1 => 100 ) = '010Array' - Notice Array to string conversion +'010' . array ( 'foo' => 1, 'bar' => 2 ) = '010Array' - Notice Array to string conversion +'010' . array ( 'bar' => 1, 'foo' => 2 ) = '010Array' - Notice Array to string conversion +'010' . (object) array ( ) - Error Object of class stdClass could not be converted to string +'010' . (object) array ( 'foo' => 1, 'bar' => 2 ) - Error Object of class stdClass could not be converted to string +'010' . (object) array ( 'bar' => 1, 'foo' => 2 ) - Error Object of class stdClass could not be converted to string +'010' . DateTime - Error Object of class DateTime could not be converted to string +'010' . resource = '010Resource id #%d' +'010' . NULL = '010' +'10 elephants' . false = '10 elephants' +'10 elephants' . true = '10 elephants1' +'10 elephants' . 0 = '10 elephants0' +'10 elephants' . 10 = '10 elephants10' +'10 elephants' . 0.0 = '10 elephants0' +'10 elephants' . 10.0 = '10 elephants10' +'10 elephants' . 3.14 = '10 elephants3.14' +'10 elephants' . '0' = '10 elephants0' +'10 elephants' . '10' = '10 elephants10' +'10 elephants' . '010' = '10 elephants010' +'10 elephants' . '10 elephants' = '10 elephants10 elephants' +'10 elephants' . 'foo' = '10 elephantsfoo' +'10 elephants' . array ( ) = '10 elephantsArray' - Notice Array to string conversion +'10 elephants' . array ( 0 => 1 ) = '10 elephantsArray' - Notice Array to string conversion +'10 elephants' . array ( 0 => 1, 1 => 100 ) = '10 elephantsArray' - Notice Array to string conversion +'10 elephants' . array ( 'foo' => 1, 'bar' => 2 ) = '10 elephantsArray' - Notice Array to string conversion +'10 elephants' . array ( 'bar' => 1, 'foo' => 2 ) = '10 elephantsArray' - Notice Array to string conversion +'10 elephants' . (object) array ( ) - Error Object of class stdClass could not be converted to string +'10 elephants' . (object) array ( 'foo' => 1, 'bar' => 2 ) - Error Object of class stdClass could not be converted to string +'10 elephants' . (object) array ( 'bar' => 1, 'foo' => 2 ) - Error Object of class stdClass could not be converted to string +'10 elephants' . DateTime - Error Object of class DateTime could not be converted to string +'10 elephants' . resource = '10 elephantsResource id #%d' +'10 elephants' . NULL = '10 elephants' +'foo' . false = 'foo' +'foo' . true = 'foo1' +'foo' . 0 = 'foo0' +'foo' . 10 = 'foo10' +'foo' . 0.0 = 'foo0' +'foo' . 10.0 = 'foo10' +'foo' . 3.14 = 'foo3.14' +'foo' . '0' = 'foo0' +'foo' . '10' = 'foo10' +'foo' . '010' = 'foo010' +'foo' . '10 elephants' = 'foo10 elephants' +'foo' . 'foo' = 'foofoo' +'foo' . array ( ) = 'fooArray' - Notice Array to string conversion +'foo' . array ( 0 => 1 ) = 'fooArray' - Notice Array to string conversion +'foo' . array ( 0 => 1, 1 => 100 ) = 'fooArray' - Notice Array to string conversion +'foo' . array ( 'foo' => 1, 'bar' => 2 ) = 'fooArray' - Notice Array to string conversion +'foo' . array ( 'bar' => 1, 'foo' => 2 ) = 'fooArray' - Notice Array to string conversion +'foo' . (object) array ( ) - Error Object of class stdClass could not be converted to string +'foo' . (object) array ( 'foo' => 1, 'bar' => 2 ) - Error Object of class stdClass could not be converted to string +'foo' . (object) array ( 'bar' => 1, 'foo' => 2 ) - Error Object of class stdClass could not be converted to string +'foo' . DateTime - Error Object of class DateTime could not be converted to string +'foo' . resource = 'fooResource id #%d' +'foo' . NULL = 'foo' +array ( ) . false = 'Array' - Notice Array to string conversion +array ( ) . true = 'Array1' - Notice Array to string conversion +array ( ) . 0 = 'Array0' - Notice Array to string conversion +array ( ) . 10 = 'Array10' - Notice Array to string conversion +array ( ) . 0.0 = 'Array0' - Notice Array to string conversion +array ( ) . 10.0 = 'Array10' - Notice Array to string conversion +array ( ) . 3.14 = 'Array3.14' - Notice Array to string conversion +array ( ) . '0' = 'Array0' - Notice Array to string conversion +array ( ) . '10' = 'Array10' - Notice Array to string conversion +array ( ) . '010' = 'Array010' - Notice Array to string conversion +array ( ) . '10 elephants' = 'Array10 elephants' - Notice Array to string conversion +array ( ) . 'foo' = 'Arrayfoo' - Notice Array to string conversion +array ( ) . array ( ) = 'ArrayArray' - Notice Array to string conversion +array ( ) . array ( 0 => 1 ) = 'ArrayArray' - Notice Array to string conversion +array ( ) . array ( 0 => 1, 1 => 100 ) = 'ArrayArray' - Notice Array to string conversion +array ( ) . array ( 'foo' => 1, 'bar' => 2 ) = 'ArrayArray' - Notice Array to string conversion +array ( ) . array ( 'bar' => 1, 'foo' => 2 ) = 'ArrayArray' - Notice Array to string conversion +array ( ) . (object) array ( ) - Error Object of class stdClass could not be converted to string +array ( ) . (object) array ( 'foo' => 1, 'bar' => 2 ) - Error Object of class stdClass could not be converted to string +array ( ) . (object) array ( 'bar' => 1, 'foo' => 2 ) - Error Object of class stdClass could not be converted to string +array ( ) . DateTime - Error Object of class DateTime could not be converted to string +array ( ) . resource = 'ArrayResource id #%d' - Notice Array to string conversion +array ( ) . NULL = 'Array' - Notice Array to string conversion +array ( 0 => 1 ) . false = 'Array' - Notice Array to string conversion +array ( 0 => 1 ) . true = 'Array1' - Notice Array to string conversion +array ( 0 => 1 ) . 0 = 'Array0' - Notice Array to string conversion +array ( 0 => 1 ) . 10 = 'Array10' - Notice Array to string conversion +array ( 0 => 1 ) . 0.0 = 'Array0' - Notice Array to string conversion +array ( 0 => 1 ) . 10.0 = 'Array10' - Notice Array to string conversion +array ( 0 => 1 ) . 3.14 = 'Array3.14' - Notice Array to string conversion +array ( 0 => 1 ) . '0' = 'Array0' - Notice Array to string conversion +array ( 0 => 1 ) . '10' = 'Array10' - Notice Array to string conversion +array ( 0 => 1 ) . '010' = 'Array010' - Notice Array to string conversion +array ( 0 => 1 ) . '10 elephants' = 'Array10 elephants' - Notice Array to string conversion +array ( 0 => 1 ) . 'foo' = 'Arrayfoo' - Notice Array to string conversion +array ( 0 => 1 ) . array ( ) = 'ArrayArray' - Notice Array to string conversion +array ( 0 => 1 ) . array ( 0 => 1 ) = 'ArrayArray' - Notice Array to string conversion +array ( 0 => 1 ) . array ( 0 => 1, 1 => 100 ) = 'ArrayArray' - Notice Array to string conversion +array ( 0 => 1 ) . array ( 'foo' => 1, 'bar' => 2 ) = 'ArrayArray' - Notice Array to string conversion +array ( 0 => 1 ) . array ( 'bar' => 1, 'foo' => 2 ) = 'ArrayArray' - Notice Array to string conversion +array ( 0 => 1 ) . (object) array ( ) - Error Object of class stdClass could not be converted to string +array ( 0 => 1 ) . (object) array ( 'foo' => 1, 'bar' => 2 ) - Error Object of class stdClass could not be converted to string +array ( 0 => 1 ) . (object) array ( 'bar' => 1, 'foo' => 2 ) - Error Object of class stdClass could not be converted to string +array ( 0 => 1 ) . DateTime - Error Object of class DateTime could not be converted to string +array ( 0 => 1 ) . resource = 'ArrayResource id #%d' - Notice Array to string conversion +array ( 0 => 1 ) . NULL = 'Array' - Notice Array to string conversion +array ( 0 => 1, 1 => 100 ) . false = 'Array' - Notice Array to string conversion +array ( 0 => 1, 1 => 100 ) . true = 'Array1' - Notice Array to string conversion +array ( 0 => 1, 1 => 100 ) . 0 = 'Array0' - Notice Array to string conversion +array ( 0 => 1, 1 => 100 ) . 10 = 'Array10' - Notice Array to string conversion +array ( 0 => 1, 1 => 100 ) . 0.0 = 'Array0' - Notice Array to string conversion +array ( 0 => 1, 1 => 100 ) . 10.0 = 'Array10' - Notice Array to string conversion +array ( 0 => 1, 1 => 100 ) . 3.14 = 'Array3.14' - Notice Array to string conversion +array ( 0 => 1, 1 => 100 ) . '0' = 'Array0' - Notice Array to string conversion +array ( 0 => 1, 1 => 100 ) . '10' = 'Array10' - Notice Array to string conversion +array ( 0 => 1, 1 => 100 ) . '010' = 'Array010' - Notice Array to string conversion +array ( 0 => 1, 1 => 100 ) . '10 elephants' = 'Array10 elephants' - Notice Array to string conversion +array ( 0 => 1, 1 => 100 ) . 'foo' = 'Arrayfoo' - Notice Array to string conversion +array ( 0 => 1, 1 => 100 ) . array ( ) = 'ArrayArray' - Notice Array to string conversion +array ( 0 => 1, 1 => 100 ) . array ( 0 => 1 ) = 'ArrayArray' - Notice Array to string conversion +array ( 0 => 1, 1 => 100 ) . array ( 0 => 1, 1 => 100 ) = 'ArrayArray' - Notice Array to string conversion +array ( 0 => 1, 1 => 100 ) . array ( 'foo' => 1, 'bar' => 2 ) = 'ArrayArray' - Notice Array to string conversion +array ( 0 => 1, 1 => 100 ) . array ( 'bar' => 1, 'foo' => 2 ) = 'ArrayArray' - Notice Array to string conversion +array ( 0 => 1, 1 => 100 ) . (object) array ( ) - Error Object of class stdClass could not be converted to string +array ( 0 => 1, 1 => 100 ) . (object) array ( 'foo' => 1, 'bar' => 2 ) - Error Object of class stdClass could not be converted to string +array ( 0 => 1, 1 => 100 ) . (object) array ( 'bar' => 1, 'foo' => 2 ) - Error Object of class stdClass could not be converted to string +array ( 0 => 1, 1 => 100 ) . DateTime - Error Object of class DateTime could not be converted to string +array ( 0 => 1, 1 => 100 ) . resource = 'ArrayResource id #%d' - Notice Array to string conversion +array ( 0 => 1, 1 => 100 ) . NULL = 'Array' - Notice Array to string conversion +array ( 'foo' => 1, 'bar' => 2 ) . false = 'Array' - Notice Array to string conversion +array ( 'foo' => 1, 'bar' => 2 ) . true = 'Array1' - Notice Array to string conversion +array ( 'foo' => 1, 'bar' => 2 ) . 0 = 'Array0' - Notice Array to string conversion +array ( 'foo' => 1, 'bar' => 2 ) . 10 = 'Array10' - Notice Array to string conversion +array ( 'foo' => 1, 'bar' => 2 ) . 0.0 = 'Array0' - Notice Array to string conversion +array ( 'foo' => 1, 'bar' => 2 ) . 10.0 = 'Array10' - Notice Array to string conversion +array ( 'foo' => 1, 'bar' => 2 ) . 3.14 = 'Array3.14' - Notice Array to string conversion +array ( 'foo' => 1, 'bar' => 2 ) . '0' = 'Array0' - Notice Array to string conversion +array ( 'foo' => 1, 'bar' => 2 ) . '10' = 'Array10' - Notice Array to string conversion +array ( 'foo' => 1, 'bar' => 2 ) . '010' = 'Array010' - Notice Array to string conversion +array ( 'foo' => 1, 'bar' => 2 ) . '10 elephants' = 'Array10 elephants' - Notice Array to string conversion +array ( 'foo' => 1, 'bar' => 2 ) . 'foo' = 'Arrayfoo' - Notice Array to string conversion +array ( 'foo' => 1, 'bar' => 2 ) . array ( ) = 'ArrayArray' - Notice Array to string conversion +array ( 'foo' => 1, 'bar' => 2 ) . array ( 0 => 1 ) = 'ArrayArray' - Notice Array to string conversion +array ( 'foo' => 1, 'bar' => 2 ) . array ( 0 => 1, 1 => 100 ) = 'ArrayArray' - Notice Array to string conversion +array ( 'foo' => 1, 'bar' => 2 ) . array ( 'foo' => 1, 'bar' => 2 ) = 'ArrayArray' - Notice Array to string conversion +array ( 'foo' => 1, 'bar' => 2 ) . array ( 'bar' => 1, 'foo' => 2 ) = 'ArrayArray' - Notice Array to string conversion +array ( 'foo' => 1, 'bar' => 2 ) . (object) array ( ) - Error Object of class stdClass could not be converted to string +array ( 'foo' => 1, 'bar' => 2 ) . (object) array ( 'foo' => 1, 'bar' => 2 ) - Error Object of class stdClass could not be converted to string +array ( 'foo' => 1, 'bar' => 2 ) . (object) array ( 'bar' => 1, 'foo' => 2 ) - Error Object of class stdClass could not be converted to string +array ( 'foo' => 1, 'bar' => 2 ) . DateTime - Error Object of class DateTime could not be converted to string +array ( 'foo' => 1, 'bar' => 2 ) . resource = 'ArrayResource id #%d' - Notice Array to string conversion +array ( 'foo' => 1, 'bar' => 2 ) . NULL = 'Array' - Notice Array to string conversion +array ( 'bar' => 1, 'foo' => 2 ) . false = 'Array' - Notice Array to string conversion +array ( 'bar' => 1, 'foo' => 2 ) . true = 'Array1' - Notice Array to string conversion +array ( 'bar' => 1, 'foo' => 2 ) . 0 = 'Array0' - Notice Array to string conversion +array ( 'bar' => 1, 'foo' => 2 ) . 10 = 'Array10' - Notice Array to string conversion +array ( 'bar' => 1, 'foo' => 2 ) . 0.0 = 'Array0' - Notice Array to string conversion +array ( 'bar' => 1, 'foo' => 2 ) . 10.0 = 'Array10' - Notice Array to string conversion +array ( 'bar' => 1, 'foo' => 2 ) . 3.14 = 'Array3.14' - Notice Array to string conversion +array ( 'bar' => 1, 'foo' => 2 ) . '0' = 'Array0' - Notice Array to string conversion +array ( 'bar' => 1, 'foo' => 2 ) . '10' = 'Array10' - Notice Array to string conversion +array ( 'bar' => 1, 'foo' => 2 ) . '010' = 'Array010' - Notice Array to string conversion +array ( 'bar' => 1, 'foo' => 2 ) . '10 elephants' = 'Array10 elephants' - Notice Array to string conversion +array ( 'bar' => 1, 'foo' => 2 ) . 'foo' = 'Arrayfoo' - Notice Array to string conversion +array ( 'bar' => 1, 'foo' => 2 ) . array ( ) = 'ArrayArray' - Notice Array to string conversion +array ( 'bar' => 1, 'foo' => 2 ) . array ( 0 => 1 ) = 'ArrayArray' - Notice Array to string conversion +array ( 'bar' => 1, 'foo' => 2 ) . array ( 0 => 1, 1 => 100 ) = 'ArrayArray' - Notice Array to string conversion +array ( 'bar' => 1, 'foo' => 2 ) . array ( 'foo' => 1, 'bar' => 2 ) = 'ArrayArray' - Notice Array to string conversion +array ( 'bar' => 1, 'foo' => 2 ) . array ( 'bar' => 1, 'foo' => 2 ) = 'ArrayArray' - Notice Array to string conversion +array ( 'bar' => 1, 'foo' => 2 ) . (object) array ( ) - Error Object of class stdClass could not be converted to string +array ( 'bar' => 1, 'foo' => 2 ) . (object) array ( 'foo' => 1, 'bar' => 2 ) - Error Object of class stdClass could not be converted to string +array ( 'bar' => 1, 'foo' => 2 ) . (object) array ( 'bar' => 1, 'foo' => 2 ) - Error Object of class stdClass could not be converted to string +array ( 'bar' => 1, 'foo' => 2 ) . DateTime - Error Object of class DateTime could not be converted to string +array ( 'bar' => 1, 'foo' => 2 ) . resource = 'ArrayResource id #%d' - Notice Array to string conversion +array ( 'bar' => 1, 'foo' => 2 ) . NULL = 'Array' - Notice Array to string conversion +(object) array ( ) . false - Error Object of class stdClass could not be converted to string +(object) array ( ) . true - Error Object of class stdClass could not be converted to string +(object) array ( ) . 0 - Error Object of class stdClass could not be converted to string +(object) array ( ) . 10 - Error Object of class stdClass could not be converted to string +(object) array ( ) . 0.0 - Error Object of class stdClass could not be converted to string +(object) array ( ) . 10.0 - Error Object of class stdClass could not be converted to string +(object) array ( ) . 3.14 - Error Object of class stdClass could not be converted to string +(object) array ( ) . '0' - Error Object of class stdClass could not be converted to string +(object) array ( ) . '10' - Error Object of class stdClass could not be converted to string +(object) array ( ) . '010' - Error Object of class stdClass could not be converted to string +(object) array ( ) . '10 elephants' - Error Object of class stdClass could not be converted to string +(object) array ( ) . 'foo' - Error Object of class stdClass could not be converted to string +(object) array ( ) . array ( ) - Error Object of class stdClass could not be converted to string +(object) array ( ) . array ( 0 => 1 ) - Error Object of class stdClass could not be converted to string +(object) array ( ) . array ( 0 => 1, 1 => 100 ) - Error Object of class stdClass could not be converted to string +(object) array ( ) . array ( 'foo' => 1, 'bar' => 2 ) - Error Object of class stdClass could not be converted to string +(object) array ( ) . array ( 'bar' => 1, 'foo' => 2 ) - Error Object of class stdClass could not be converted to string +(object) array ( ) . (object) array ( ) - Error Object of class stdClass could not be converted to string +(object) array ( ) . (object) array ( 'foo' => 1, 'bar' => 2 ) - Error Object of class stdClass could not be converted to string +(object) array ( ) . (object) array ( 'bar' => 1, 'foo' => 2 ) - Error Object of class stdClass could not be converted to string +(object) array ( ) . DateTime - Error Object of class stdClass could not be converted to string +(object) array ( ) . resource - Error Object of class stdClass could not be converted to string +(object) array ( ) . NULL - Error Object of class stdClass could not be converted to string +(object) array ( 'foo' => 1, 'bar' => 2 ) . false - Error Object of class stdClass could not be converted to string +(object) array ( 'foo' => 1, 'bar' => 2 ) . true - Error Object of class stdClass could not be converted to string +(object) array ( 'foo' => 1, 'bar' => 2 ) . 0 - Error Object of class stdClass could not be converted to string +(object) array ( 'foo' => 1, 'bar' => 2 ) . 10 - Error Object of class stdClass could not be converted to string +(object) array ( 'foo' => 1, 'bar' => 2 ) . 0.0 - Error Object of class stdClass could not be converted to string +(object) array ( 'foo' => 1, 'bar' => 2 ) . 10.0 - Error Object of class stdClass could not be converted to string +(object) array ( 'foo' => 1, 'bar' => 2 ) . 3.14 - Error Object of class stdClass could not be converted to string +(object) array ( 'foo' => 1, 'bar' => 2 ) . '0' - Error Object of class stdClass could not be converted to string +(object) array ( 'foo' => 1, 'bar' => 2 ) . '10' - Error Object of class stdClass could not be converted to string +(object) array ( 'foo' => 1, 'bar' => 2 ) . '010' - Error Object of class stdClass could not be converted to string +(object) array ( 'foo' => 1, 'bar' => 2 ) . '10 elephants' - Error Object of class stdClass could not be converted to string +(object) array ( 'foo' => 1, 'bar' => 2 ) . 'foo' - Error Object of class stdClass could not be converted to string +(object) array ( 'foo' => 1, 'bar' => 2 ) . array ( ) - Error Object of class stdClass could not be converted to string +(object) array ( 'foo' => 1, 'bar' => 2 ) . array ( 0 => 1 ) - Error Object of class stdClass could not be converted to string +(object) array ( 'foo' => 1, 'bar' => 2 ) . array ( 0 => 1, 1 => 100 ) - Error Object of class stdClass could not be converted to string +(object) array ( 'foo' => 1, 'bar' => 2 ) . array ( 'foo' => 1, 'bar' => 2 ) - Error Object of class stdClass could not be converted to string +(object) array ( 'foo' => 1, 'bar' => 2 ) . array ( 'bar' => 1, 'foo' => 2 ) - Error Object of class stdClass could not be converted to string +(object) array ( 'foo' => 1, 'bar' => 2 ) . (object) array ( ) - Error Object of class stdClass could not be converted to string +(object) array ( 'foo' => 1, 'bar' => 2 ) . (object) array ( 'foo' => 1, 'bar' => 2 ) - Error Object of class stdClass could not be converted to string +(object) array ( 'foo' => 1, 'bar' => 2 ) . (object) array ( 'bar' => 1, 'foo' => 2 ) - Error Object of class stdClass could not be converted to string +(object) array ( 'foo' => 1, 'bar' => 2 ) . DateTime - Error Object of class stdClass could not be converted to string +(object) array ( 'foo' => 1, 'bar' => 2 ) . resource - Error Object of class stdClass could not be converted to string +(object) array ( 'foo' => 1, 'bar' => 2 ) . NULL - Error Object of class stdClass could not be converted to string +(object) array ( 'bar' => 1, 'foo' => 2 ) . false - Error Object of class stdClass could not be converted to string +(object) array ( 'bar' => 1, 'foo' => 2 ) . true - Error Object of class stdClass could not be converted to string +(object) array ( 'bar' => 1, 'foo' => 2 ) . 0 - Error Object of class stdClass could not be converted to string +(object) array ( 'bar' => 1, 'foo' => 2 ) . 10 - Error Object of class stdClass could not be converted to string +(object) array ( 'bar' => 1, 'foo' => 2 ) . 0.0 - Error Object of class stdClass could not be converted to string +(object) array ( 'bar' => 1, 'foo' => 2 ) . 10.0 - Error Object of class stdClass could not be converted to string +(object) array ( 'bar' => 1, 'foo' => 2 ) . 3.14 - Error Object of class stdClass could not be converted to string +(object) array ( 'bar' => 1, 'foo' => 2 ) . '0' - Error Object of class stdClass could not be converted to string +(object) array ( 'bar' => 1, 'foo' => 2 ) . '10' - Error Object of class stdClass could not be converted to string +(object) array ( 'bar' => 1, 'foo' => 2 ) . '010' - Error Object of class stdClass could not be converted to string +(object) array ( 'bar' => 1, 'foo' => 2 ) . '10 elephants' - Error Object of class stdClass could not be converted to string +(object) array ( 'bar' => 1, 'foo' => 2 ) . 'foo' - Error Object of class stdClass could not be converted to string +(object) array ( 'bar' => 1, 'foo' => 2 ) . array ( ) - Error Object of class stdClass could not be converted to string +(object) array ( 'bar' => 1, 'foo' => 2 ) . array ( 0 => 1 ) - Error Object of class stdClass could not be converted to string +(object) array ( 'bar' => 1, 'foo' => 2 ) . array ( 0 => 1, 1 => 100 ) - Error Object of class stdClass could not be converted to string +(object) array ( 'bar' => 1, 'foo' => 2 ) . array ( 'foo' => 1, 'bar' => 2 ) - Error Object of class stdClass could not be converted to string +(object) array ( 'bar' => 1, 'foo' => 2 ) . array ( 'bar' => 1, 'foo' => 2 ) - Error Object of class stdClass could not be converted to string +(object) array ( 'bar' => 1, 'foo' => 2 ) . (object) array ( ) - Error Object of class stdClass could not be converted to string +(object) array ( 'bar' => 1, 'foo' => 2 ) . (object) array ( 'foo' => 1, 'bar' => 2 ) - Error Object of class stdClass could not be converted to string +(object) array ( 'bar' => 1, 'foo' => 2 ) . (object) array ( 'bar' => 1, 'foo' => 2 ) - Error Object of class stdClass could not be converted to string +(object) array ( 'bar' => 1, 'foo' => 2 ) . DateTime - Error Object of class stdClass could not be converted to string +(object) array ( 'bar' => 1, 'foo' => 2 ) . resource - Error Object of class stdClass could not be converted to string +(object) array ( 'bar' => 1, 'foo' => 2 ) . NULL - Error Object of class stdClass could not be converted to string +DateTime . false - Error Object of class DateTime could not be converted to string +DateTime . true - Error Object of class DateTime could not be converted to string +DateTime . 0 - Error Object of class DateTime could not be converted to string +DateTime . 10 - Error Object of class DateTime could not be converted to string +DateTime . 0.0 - Error Object of class DateTime could not be converted to string +DateTime . 10.0 - Error Object of class DateTime could not be converted to string +DateTime . 3.14 - Error Object of class DateTime could not be converted to string +DateTime . '0' - Error Object of class DateTime could not be converted to string +DateTime . '10' - Error Object of class DateTime could not be converted to string +DateTime . '010' - Error Object of class DateTime could not be converted to string +DateTime . '10 elephants' - Error Object of class DateTime could not be converted to string +DateTime . 'foo' - Error Object of class DateTime could not be converted to string +DateTime . array ( ) - Error Object of class DateTime could not be converted to string +DateTime . array ( 0 => 1 ) - Error Object of class DateTime could not be converted to string +DateTime . array ( 0 => 1, 1 => 100 ) - Error Object of class DateTime could not be converted to string +DateTime . array ( 'foo' => 1, 'bar' => 2 ) - Error Object of class DateTime could not be converted to string +DateTime . array ( 'bar' => 1, 'foo' => 2 ) - Error Object of class DateTime could not be converted to string +DateTime . (object) array ( ) - Error Object of class DateTime could not be converted to string +DateTime . (object) array ( 'foo' => 1, 'bar' => 2 ) - Error Object of class DateTime could not be converted to string +DateTime . (object) array ( 'bar' => 1, 'foo' => 2 ) - Error Object of class DateTime could not be converted to string +DateTime . DateTime - Error Object of class DateTime could not be converted to string +DateTime . resource - Error Object of class DateTime could not be converted to string +DateTime . NULL - Error Object of class DateTime could not be converted to string +resource . false = 'Resource id #%d' +resource . true = 'Resource id #%d1' +resource . 0 = 'Resource id #%d0' +resource . 10 = 'Resource id #%d10' +resource . 0.0 = 'Resource id #%d0' +resource . 10.0 = 'Resource id #%d10' +resource . 3.14 = 'Resource id #%d3.14' +resource . '0' = 'Resource id #%d0' +resource . '10' = 'Resource id #%d10' +resource . '010' = 'Resource id #%d010' +resource . '10 elephants' = 'Resource id #%d10 elephants' +resource . 'foo' = 'Resource id #%dfoo' +resource . array ( ) = 'Resource id #%dArray' - Notice Array to string conversion +resource . array ( 0 => 1 ) = 'Resource id #%dArray' - Notice Array to string conversion +resource . array ( 0 => 1, 1 => 100 ) = 'Resource id #%dArray' - Notice Array to string conversion +resource . array ( 'foo' => 1, 'bar' => 2 ) = 'Resource id #%dArray' - Notice Array to string conversion +resource . array ( 'bar' => 1, 'foo' => 2 ) = 'Resource id #%dArray' - Notice Array to string conversion +resource . (object) array ( ) - Error Object of class stdClass could not be converted to string +resource . (object) array ( 'foo' => 1, 'bar' => 2 ) - Error Object of class stdClass could not be converted to string +resource . (object) array ( 'bar' => 1, 'foo' => 2 ) - Error Object of class stdClass could not be converted to string +resource . DateTime - Error Object of class DateTime could not be converted to string +resource . resource = 'Resource id #%dResource id #%d' +resource . NULL = 'Resource id #%d' +NULL . false = '' +NULL . true = '1' +NULL . 0 = '0' +NULL . 10 = '10' +NULL . 0.0 = '0' +NULL . 10.0 = '10' +NULL . 3.14 = '3.14' +NULL . '0' = '0' +NULL . '10' = '10' +NULL . '010' = '010' +NULL . '10 elephants' = '10 elephants' +NULL . 'foo' = 'foo' +NULL . array ( ) = 'Array' - Notice Array to string conversion +NULL . array ( 0 => 1 ) = 'Array' - Notice Array to string conversion +NULL . array ( 0 => 1, 1 => 100 ) = 'Array' - Notice Array to string conversion +NULL . array ( 'foo' => 1, 'bar' => 2 ) = 'Array' - Notice Array to string conversion +NULL . array ( 'bar' => 1, 'foo' => 2 ) = 'Array' - Notice Array to string conversion +NULL . (object) array ( ) - Error Object of class stdClass could not be converted to string +NULL . (object) array ( 'foo' => 1, 'bar' => 2 ) - Error Object of class stdClass could not be converted to string +NULL . (object) array ( 'bar' => 1, 'foo' => 2 ) - Error Object of class stdClass could not be converted to string +NULL . DateTime - Error Object of class DateTime could not be converted to string +NULL . resource = 'Resource id #%d' +NULL . NULL = '' \ No newline at end of file diff --git a/Zend/tests/operators/string/concatenation_strict.phpt b/Zend/tests/operators/string/concatenation_strict.phpt new file mode 100644 index 000000000000..6473b5c9fc18 --- /dev/null +++ b/Zend/tests/operators/string/concatenation_strict.phpt @@ -0,0 +1,542 @@ +--TEST-- +concatenation operator with strict_operators +--FILE-- + 1 ) - TypeError Unsupported operand type bool for concatenation +false . array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type bool for concatenation +false . array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type bool for concatenation +false . array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type bool for concatenation +false . (object) array ( ) - TypeError Unsupported operand type bool for concatenation +false . (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type bool for concatenation +false . (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type bool for concatenation +false . DateTime - TypeError Unsupported operand type bool for concatenation +false . resource - TypeError Unsupported operand type bool for concatenation +false . NULL - TypeError Unsupported operand type bool for concatenation +true . false - TypeError Unsupported operand type bool for concatenation +true . true - TypeError Unsupported operand type bool for concatenation +true . 0 - TypeError Unsupported operand type bool for concatenation +true . 10 - TypeError Unsupported operand type bool for concatenation +true . 0.0 - TypeError Unsupported operand type bool for concatenation +true . 10.0 - TypeError Unsupported operand type bool for concatenation +true . 3.14 - TypeError Unsupported operand type bool for concatenation +true . '0' - TypeError Unsupported operand type bool for concatenation +true . '10' - TypeError Unsupported operand type bool for concatenation +true . '010' - TypeError Unsupported operand type bool for concatenation +true . '10 elephants' - TypeError Unsupported operand type bool for concatenation +true . 'foo' - TypeError Unsupported operand type bool for concatenation +true . array ( ) - TypeError Unsupported operand type bool for concatenation +true . array ( 0 => 1 ) - TypeError Unsupported operand type bool for concatenation +true . array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type bool for concatenation +true . array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type bool for concatenation +true . array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type bool for concatenation +true . (object) array ( ) - TypeError Unsupported operand type bool for concatenation +true . (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type bool for concatenation +true . (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type bool for concatenation +true . DateTime - TypeError Unsupported operand type bool for concatenation +true . resource - TypeError Unsupported operand type bool for concatenation +true . NULL - TypeError Unsupported operand type bool for concatenation +0 . false - TypeError Unsupported operand type bool for concatenation +0 . true - TypeError Unsupported operand type bool for concatenation +0 . 0 = '00' +0 . 10 = '010' +0 . 0.0 = '00' +0 . 10.0 = '010' +0 . 3.14 = '03.14' +0 . '0' = '00' +0 . '10' = '010' +0 . '010' = '0010' +0 . '10 elephants' = '010 elephants' +0 . 'foo' = '0foo' +0 . array ( ) - TypeError Unsupported operand type array for concatenation +0 . array ( 0 => 1 ) - TypeError Unsupported operand type array for concatenation +0 . array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for concatenation +0 . array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for concatenation +0 . array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for concatenation +0 . (object) array ( ) - TypeError Object of class stdClass could not be converted to string +0 . (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Object of class stdClass could not be converted to string +0 . (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Object of class stdClass could not be converted to string +0 . DateTime - TypeError Object of class DateTime could not be converted to string +0 . resource - TypeError Unsupported operand type resource for concatenation +0 . NULL - TypeError Unsupported operand type null for concatenation +10 . false - TypeError Unsupported operand type bool for concatenation +10 . true - TypeError Unsupported operand type bool for concatenation +10 . 0 = '100' +10 . 10 = '1010' +10 . 0.0 = '100' +10 . 10.0 = '1010' +10 . 3.14 = '103.14' +10 . '0' = '100' +10 . '10' = '1010' +10 . '010' = '10010' +10 . '10 elephants' = '1010 elephants' +10 . 'foo' = '10foo' +10 . array ( ) - TypeError Unsupported operand type array for concatenation +10 . array ( 0 => 1 ) - TypeError Unsupported operand type array for concatenation +10 . array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for concatenation +10 . array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for concatenation +10 . array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for concatenation +10 . (object) array ( ) - TypeError Object of class stdClass could not be converted to string +10 . (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Object of class stdClass could not be converted to string +10 . (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Object of class stdClass could not be converted to string +10 . DateTime - TypeError Object of class DateTime could not be converted to string +10 . resource - TypeError Unsupported operand type resource for concatenation +10 . NULL - TypeError Unsupported operand type null for concatenation +0.0 . false - TypeError Unsupported operand type bool for concatenation +0.0 . true - TypeError Unsupported operand type bool for concatenation +0.0 . 0 = '00' +0.0 . 10 = '010' +0.0 . 0.0 = '00' +0.0 . 10.0 = '010' +0.0 . 3.14 = '03.14' +0.0 . '0' = '00' +0.0 . '10' = '010' +0.0 . '010' = '0010' +0.0 . '10 elephants' = '010 elephants' +0.0 . 'foo' = '0foo' +0.0 . array ( ) - TypeError Unsupported operand type array for concatenation +0.0 . array ( 0 => 1 ) - TypeError Unsupported operand type array for concatenation +0.0 . array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for concatenation +0.0 . array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for concatenation +0.0 . array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for concatenation +0.0 . (object) array ( ) - TypeError Object of class stdClass could not be converted to string +0.0 . (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Object of class stdClass could not be converted to string +0.0 . (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Object of class stdClass could not be converted to string +0.0 . DateTime - TypeError Object of class DateTime could not be converted to string +0.0 . resource - TypeError Unsupported operand type resource for concatenation +0.0 . NULL - TypeError Unsupported operand type null for concatenation +10.0 . false - TypeError Unsupported operand type bool for concatenation +10.0 . true - TypeError Unsupported operand type bool for concatenation +10.0 . 0 = '100' +10.0 . 10 = '1010' +10.0 . 0.0 = '100' +10.0 . 10.0 = '1010' +10.0 . 3.14 = '103.14' +10.0 . '0' = '100' +10.0 . '10' = '1010' +10.0 . '010' = '10010' +10.0 . '10 elephants' = '1010 elephants' +10.0 . 'foo' = '10foo' +10.0 . array ( ) - TypeError Unsupported operand type array for concatenation +10.0 . array ( 0 => 1 ) - TypeError Unsupported operand type array for concatenation +10.0 . array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for concatenation +10.0 . array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for concatenation +10.0 . array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for concatenation +10.0 . (object) array ( ) - TypeError Object of class stdClass could not be converted to string +10.0 . (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Object of class stdClass could not be converted to string +10.0 . (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Object of class stdClass could not be converted to string +10.0 . DateTime - TypeError Object of class DateTime could not be converted to string +10.0 . resource - TypeError Unsupported operand type resource for concatenation +10.0 . NULL - TypeError Unsupported operand type null for concatenation +3.14 . false - TypeError Unsupported operand type bool for concatenation +3.14 . true - TypeError Unsupported operand type bool for concatenation +3.14 . 0 = '3.140' +3.14 . 10 = '3.1410' +3.14 . 0.0 = '3.140' +3.14 . 10.0 = '3.1410' +3.14 . 3.14 = '3.143.14' +3.14 . '0' = '3.140' +3.14 . '10' = '3.1410' +3.14 . '010' = '3.14010' +3.14 . '10 elephants' = '3.1410 elephants' +3.14 . 'foo' = '3.14foo' +3.14 . array ( ) - TypeError Unsupported operand type array for concatenation +3.14 . array ( 0 => 1 ) - TypeError Unsupported operand type array for concatenation +3.14 . array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for concatenation +3.14 . array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for concatenation +3.14 . array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for concatenation +3.14 . (object) array ( ) - TypeError Object of class stdClass could not be converted to string +3.14 . (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Object of class stdClass could not be converted to string +3.14 . (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Object of class stdClass could not be converted to string +3.14 . DateTime - TypeError Object of class DateTime could not be converted to string +3.14 . resource - TypeError Unsupported operand type resource for concatenation +3.14 . NULL - TypeError Unsupported operand type null for concatenation +'0' . false - TypeError Unsupported operand type bool for concatenation +'0' . true - TypeError Unsupported operand type bool for concatenation +'0' . 0 = '00' +'0' . 10 = '010' +'0' . 0.0 = '00' +'0' . 10.0 = '010' +'0' . 3.14 = '03.14' +'0' . '0' = '00' +'0' . '10' = '010' +'0' . '010' = '0010' +'0' . '10 elephants' = '010 elephants' +'0' . 'foo' = '0foo' +'0' . array ( ) - TypeError Unsupported operand type array for concatenation +'0' . array ( 0 => 1 ) - TypeError Unsupported operand type array for concatenation +'0' . array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for concatenation +'0' . array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for concatenation +'0' . array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for concatenation +'0' . (object) array ( ) - TypeError Object of class stdClass could not be converted to string +'0' . (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Object of class stdClass could not be converted to string +'0' . (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Object of class stdClass could not be converted to string +'0' . DateTime - TypeError Object of class DateTime could not be converted to string +'0' . resource - TypeError Unsupported operand type resource for concatenation +'0' . NULL - TypeError Unsupported operand type null for concatenation +'10' . false - TypeError Unsupported operand type bool for concatenation +'10' . true - TypeError Unsupported operand type bool for concatenation +'10' . 0 = '100' +'10' . 10 = '1010' +'10' . 0.0 = '100' +'10' . 10.0 = '1010' +'10' . 3.14 = '103.14' +'10' . '0' = '100' +'10' . '10' = '1010' +'10' . '010' = '10010' +'10' . '10 elephants' = '1010 elephants' +'10' . 'foo' = '10foo' +'10' . array ( ) - TypeError Unsupported operand type array for concatenation +'10' . array ( 0 => 1 ) - TypeError Unsupported operand type array for concatenation +'10' . array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for concatenation +'10' . array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for concatenation +'10' . array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for concatenation +'10' . (object) array ( ) - TypeError Object of class stdClass could not be converted to string +'10' . (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Object of class stdClass could not be converted to string +'10' . (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Object of class stdClass could not be converted to string +'10' . DateTime - TypeError Object of class DateTime could not be converted to string +'10' . resource - TypeError Unsupported operand type resource for concatenation +'10' . NULL - TypeError Unsupported operand type null for concatenation +'010' . false - TypeError Unsupported operand type bool for concatenation +'010' . true - TypeError Unsupported operand type bool for concatenation +'010' . 0 = '0100' +'010' . 10 = '01010' +'010' . 0.0 = '0100' +'010' . 10.0 = '01010' +'010' . 3.14 = '0103.14' +'010' . '0' = '0100' +'010' . '10' = '01010' +'010' . '010' = '010010' +'010' . '10 elephants' = '01010 elephants' +'010' . 'foo' = '010foo' +'010' . array ( ) - TypeError Unsupported operand type array for concatenation +'010' . array ( 0 => 1 ) - TypeError Unsupported operand type array for concatenation +'010' . array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for concatenation +'010' . array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for concatenation +'010' . array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for concatenation +'010' . (object) array ( ) - TypeError Object of class stdClass could not be converted to string +'010' . (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Object of class stdClass could not be converted to string +'010' . (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Object of class stdClass could not be converted to string +'010' . DateTime - TypeError Object of class DateTime could not be converted to string +'010' . resource - TypeError Unsupported operand type resource for concatenation +'010' . NULL - TypeError Unsupported operand type null for concatenation +'10 elephants' . false - TypeError Unsupported operand type bool for concatenation +'10 elephants' . true - TypeError Unsupported operand type bool for concatenation +'10 elephants' . 0 = '10 elephants0' +'10 elephants' . 10 = '10 elephants10' +'10 elephants' . 0.0 = '10 elephants0' +'10 elephants' . 10.0 = '10 elephants10' +'10 elephants' . 3.14 = '10 elephants3.14' +'10 elephants' . '0' = '10 elephants0' +'10 elephants' . '10' = '10 elephants10' +'10 elephants' . '010' = '10 elephants010' +'10 elephants' . '10 elephants' = '10 elephants10 elephants' +'10 elephants' . 'foo' = '10 elephantsfoo' +'10 elephants' . array ( ) - TypeError Unsupported operand type array for concatenation +'10 elephants' . array ( 0 => 1 ) - TypeError Unsupported operand type array for concatenation +'10 elephants' . array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for concatenation +'10 elephants' . array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for concatenation +'10 elephants' . array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for concatenation +'10 elephants' . (object) array ( ) - TypeError Object of class stdClass could not be converted to string +'10 elephants' . (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Object of class stdClass could not be converted to string +'10 elephants' . (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Object of class stdClass could not be converted to string +'10 elephants' . DateTime - TypeError Object of class DateTime could not be converted to string +'10 elephants' . resource - TypeError Unsupported operand type resource for concatenation +'10 elephants' . NULL - TypeError Unsupported operand type null for concatenation +'foo' . false - TypeError Unsupported operand type bool for concatenation +'foo' . true - TypeError Unsupported operand type bool for concatenation +'foo' . 0 = 'foo0' +'foo' . 10 = 'foo10' +'foo' . 0.0 = 'foo0' +'foo' . 10.0 = 'foo10' +'foo' . 3.14 = 'foo3.14' +'foo' . '0' = 'foo0' +'foo' . '10' = 'foo10' +'foo' . '010' = 'foo010' +'foo' . '10 elephants' = 'foo10 elephants' +'foo' . 'foo' = 'foofoo' +'foo' . array ( ) - TypeError Unsupported operand type array for concatenation +'foo' . array ( 0 => 1 ) - TypeError Unsupported operand type array for concatenation +'foo' . array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for concatenation +'foo' . array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for concatenation +'foo' . array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for concatenation +'foo' . (object) array ( ) - TypeError Object of class stdClass could not be converted to string +'foo' . (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Object of class stdClass could not be converted to string +'foo' . (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Object of class stdClass could not be converted to string +'foo' . DateTime - TypeError Object of class DateTime could not be converted to string +'foo' . resource - TypeError Unsupported operand type resource for concatenation +'foo' . NULL - TypeError Unsupported operand type null for concatenation +array ( ) . false - TypeError Unsupported operand type array for concatenation +array ( ) . true - TypeError Unsupported operand type array for concatenation +array ( ) . 0 - TypeError Unsupported operand type array for concatenation +array ( ) . 10 - TypeError Unsupported operand type array for concatenation +array ( ) . 0.0 - TypeError Unsupported operand type array for concatenation +array ( ) . 10.0 - TypeError Unsupported operand type array for concatenation +array ( ) . 3.14 - TypeError Unsupported operand type array for concatenation +array ( ) . '0' - TypeError Unsupported operand type array for concatenation +array ( ) . '10' - TypeError Unsupported operand type array for concatenation +array ( ) . '010' - TypeError Unsupported operand type array for concatenation +array ( ) . '10 elephants' - TypeError Unsupported operand type array for concatenation +array ( ) . 'foo' - TypeError Unsupported operand type array for concatenation +array ( ) . array ( ) - TypeError Unsupported operand type array for concatenation +array ( ) . array ( 0 => 1 ) - TypeError Unsupported operand type array for concatenation +array ( ) . array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for concatenation +array ( ) . array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for concatenation +array ( ) . array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for concatenation +array ( ) . (object) array ( ) - TypeError Unsupported operand type array for concatenation +array ( ) . (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for concatenation +array ( ) . (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for concatenation +array ( ) . DateTime - TypeError Unsupported operand type array for concatenation +array ( ) . resource - TypeError Unsupported operand type array for concatenation +array ( ) . NULL - TypeError Unsupported operand type array for concatenation +array ( 0 => 1 ) . false - TypeError Unsupported operand type array for concatenation +array ( 0 => 1 ) . true - TypeError Unsupported operand type array for concatenation +array ( 0 => 1 ) . 0 - TypeError Unsupported operand type array for concatenation +array ( 0 => 1 ) . 10 - TypeError Unsupported operand type array for concatenation +array ( 0 => 1 ) . 0.0 - TypeError Unsupported operand type array for concatenation +array ( 0 => 1 ) . 10.0 - TypeError Unsupported operand type array for concatenation +array ( 0 => 1 ) . 3.14 - TypeError Unsupported operand type array for concatenation +array ( 0 => 1 ) . '0' - TypeError Unsupported operand type array for concatenation +array ( 0 => 1 ) . '10' - TypeError Unsupported operand type array for concatenation +array ( 0 => 1 ) . '010' - TypeError Unsupported operand type array for concatenation +array ( 0 => 1 ) . '10 elephants' - TypeError Unsupported operand type array for concatenation +array ( 0 => 1 ) . 'foo' - TypeError Unsupported operand type array for concatenation +array ( 0 => 1 ) . array ( ) - TypeError Unsupported operand type array for concatenation +array ( 0 => 1 ) . array ( 0 => 1 ) - TypeError Unsupported operand type array for concatenation +array ( 0 => 1 ) . array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for concatenation +array ( 0 => 1 ) . array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for concatenation +array ( 0 => 1 ) . array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for concatenation +array ( 0 => 1 ) . (object) array ( ) - TypeError Unsupported operand type array for concatenation +array ( 0 => 1 ) . (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for concatenation +array ( 0 => 1 ) . (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for concatenation +array ( 0 => 1 ) . DateTime - TypeError Unsupported operand type array for concatenation +array ( 0 => 1 ) . resource - TypeError Unsupported operand type array for concatenation +array ( 0 => 1 ) . NULL - TypeError Unsupported operand type array for concatenation +array ( 0 => 1, 1 => 100 ) . false - TypeError Unsupported operand type array for concatenation +array ( 0 => 1, 1 => 100 ) . true - TypeError Unsupported operand type array for concatenation +array ( 0 => 1, 1 => 100 ) . 0 - TypeError Unsupported operand type array for concatenation +array ( 0 => 1, 1 => 100 ) . 10 - TypeError Unsupported operand type array for concatenation +array ( 0 => 1, 1 => 100 ) . 0.0 - TypeError Unsupported operand type array for concatenation +array ( 0 => 1, 1 => 100 ) . 10.0 - TypeError Unsupported operand type array for concatenation +array ( 0 => 1, 1 => 100 ) . 3.14 - TypeError Unsupported operand type array for concatenation +array ( 0 => 1, 1 => 100 ) . '0' - TypeError Unsupported operand type array for concatenation +array ( 0 => 1, 1 => 100 ) . '10' - TypeError Unsupported operand type array for concatenation +array ( 0 => 1, 1 => 100 ) . '010' - TypeError Unsupported operand type array for concatenation +array ( 0 => 1, 1 => 100 ) . '10 elephants' - TypeError Unsupported operand type array for concatenation +array ( 0 => 1, 1 => 100 ) . 'foo' - TypeError Unsupported operand type array for concatenation +array ( 0 => 1, 1 => 100 ) . array ( ) - TypeError Unsupported operand type array for concatenation +array ( 0 => 1, 1 => 100 ) . array ( 0 => 1 ) - TypeError Unsupported operand type array for concatenation +array ( 0 => 1, 1 => 100 ) . array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for concatenation +array ( 0 => 1, 1 => 100 ) . array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for concatenation +array ( 0 => 1, 1 => 100 ) . array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for concatenation +array ( 0 => 1, 1 => 100 ) . (object) array ( ) - TypeError Unsupported operand type array for concatenation +array ( 0 => 1, 1 => 100 ) . (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for concatenation +array ( 0 => 1, 1 => 100 ) . (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for concatenation +array ( 0 => 1, 1 => 100 ) . DateTime - TypeError Unsupported operand type array for concatenation +array ( 0 => 1, 1 => 100 ) . resource - TypeError Unsupported operand type array for concatenation +array ( 0 => 1, 1 => 100 ) . NULL - TypeError Unsupported operand type array for concatenation +array ( 'foo' => 1, 'bar' => 2 ) . false - TypeError Unsupported operand type array for concatenation +array ( 'foo' => 1, 'bar' => 2 ) . true - TypeError Unsupported operand type array for concatenation +array ( 'foo' => 1, 'bar' => 2 ) . 0 - TypeError Unsupported operand type array for concatenation +array ( 'foo' => 1, 'bar' => 2 ) . 10 - TypeError Unsupported operand type array for concatenation +array ( 'foo' => 1, 'bar' => 2 ) . 0.0 - TypeError Unsupported operand type array for concatenation +array ( 'foo' => 1, 'bar' => 2 ) . 10.0 - TypeError Unsupported operand type array for concatenation +array ( 'foo' => 1, 'bar' => 2 ) . 3.14 - TypeError Unsupported operand type array for concatenation +array ( 'foo' => 1, 'bar' => 2 ) . '0' - TypeError Unsupported operand type array for concatenation +array ( 'foo' => 1, 'bar' => 2 ) . '10' - TypeError Unsupported operand type array for concatenation +array ( 'foo' => 1, 'bar' => 2 ) . '010' - TypeError Unsupported operand type array for concatenation +array ( 'foo' => 1, 'bar' => 2 ) . '10 elephants' - TypeError Unsupported operand type array for concatenation +array ( 'foo' => 1, 'bar' => 2 ) . 'foo' - TypeError Unsupported operand type array for concatenation +array ( 'foo' => 1, 'bar' => 2 ) . array ( ) - TypeError Unsupported operand type array for concatenation +array ( 'foo' => 1, 'bar' => 2 ) . array ( 0 => 1 ) - TypeError Unsupported operand type array for concatenation +array ( 'foo' => 1, 'bar' => 2 ) . array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for concatenation +array ( 'foo' => 1, 'bar' => 2 ) . array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for concatenation +array ( 'foo' => 1, 'bar' => 2 ) . array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for concatenation +array ( 'foo' => 1, 'bar' => 2 ) . (object) array ( ) - TypeError Unsupported operand type array for concatenation +array ( 'foo' => 1, 'bar' => 2 ) . (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for concatenation +array ( 'foo' => 1, 'bar' => 2 ) . (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for concatenation +array ( 'foo' => 1, 'bar' => 2 ) . DateTime - TypeError Unsupported operand type array for concatenation +array ( 'foo' => 1, 'bar' => 2 ) . resource - TypeError Unsupported operand type array for concatenation +array ( 'foo' => 1, 'bar' => 2 ) . NULL - TypeError Unsupported operand type array for concatenation +array ( 'bar' => 1, 'foo' => 2 ) . false - TypeError Unsupported operand type array for concatenation +array ( 'bar' => 1, 'foo' => 2 ) . true - TypeError Unsupported operand type array for concatenation +array ( 'bar' => 1, 'foo' => 2 ) . 0 - TypeError Unsupported operand type array for concatenation +array ( 'bar' => 1, 'foo' => 2 ) . 10 - TypeError Unsupported operand type array for concatenation +array ( 'bar' => 1, 'foo' => 2 ) . 0.0 - TypeError Unsupported operand type array for concatenation +array ( 'bar' => 1, 'foo' => 2 ) . 10.0 - TypeError Unsupported operand type array for concatenation +array ( 'bar' => 1, 'foo' => 2 ) . 3.14 - TypeError Unsupported operand type array for concatenation +array ( 'bar' => 1, 'foo' => 2 ) . '0' - TypeError Unsupported operand type array for concatenation +array ( 'bar' => 1, 'foo' => 2 ) . '10' - TypeError Unsupported operand type array for concatenation +array ( 'bar' => 1, 'foo' => 2 ) . '010' - TypeError Unsupported operand type array for concatenation +array ( 'bar' => 1, 'foo' => 2 ) . '10 elephants' - TypeError Unsupported operand type array for concatenation +array ( 'bar' => 1, 'foo' => 2 ) . 'foo' - TypeError Unsupported operand type array for concatenation +array ( 'bar' => 1, 'foo' => 2 ) . array ( ) - TypeError Unsupported operand type array for concatenation +array ( 'bar' => 1, 'foo' => 2 ) . array ( 0 => 1 ) - TypeError Unsupported operand type array for concatenation +array ( 'bar' => 1, 'foo' => 2 ) . array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for concatenation +array ( 'bar' => 1, 'foo' => 2 ) . array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for concatenation +array ( 'bar' => 1, 'foo' => 2 ) . array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for concatenation +array ( 'bar' => 1, 'foo' => 2 ) . (object) array ( ) - TypeError Unsupported operand type array for concatenation +array ( 'bar' => 1, 'foo' => 2 ) . (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for concatenation +array ( 'bar' => 1, 'foo' => 2 ) . (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for concatenation +array ( 'bar' => 1, 'foo' => 2 ) . DateTime - TypeError Unsupported operand type array for concatenation +array ( 'bar' => 1, 'foo' => 2 ) . resource - TypeError Unsupported operand type array for concatenation +array ( 'bar' => 1, 'foo' => 2 ) . NULL - TypeError Unsupported operand type array for concatenation +(object) array ( ) . false - TypeError Unsupported operand type bool for concatenation +(object) array ( ) . true - TypeError Unsupported operand type bool for concatenation +(object) array ( ) . 0 - TypeError Object of class stdClass could not be converted to string +(object) array ( ) . 10 - TypeError Object of class stdClass could not be converted to string +(object) array ( ) . 0.0 - TypeError Object of class stdClass could not be converted to string +(object) array ( ) . 10.0 - TypeError Object of class stdClass could not be converted to string +(object) array ( ) . 3.14 - TypeError Object of class stdClass could not be converted to string +(object) array ( ) . '0' - TypeError Object of class stdClass could not be converted to string +(object) array ( ) . '10' - TypeError Object of class stdClass could not be converted to string +(object) array ( ) . '010' - TypeError Object of class stdClass could not be converted to string +(object) array ( ) . '10 elephants' - TypeError Object of class stdClass could not be converted to string +(object) array ( ) . 'foo' - TypeError Object of class stdClass could not be converted to string +(object) array ( ) . array ( ) - TypeError Unsupported operand type array for concatenation +(object) array ( ) . array ( 0 => 1 ) - TypeError Unsupported operand type array for concatenation +(object) array ( ) . array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for concatenation +(object) array ( ) . array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for concatenation +(object) array ( ) . array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for concatenation +(object) array ( ) . (object) array ( ) - TypeError Object of class stdClass could not be converted to string +(object) array ( ) . (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Object of class stdClass could not be converted to string +(object) array ( ) . (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Object of class stdClass could not be converted to string +(object) array ( ) . DateTime - TypeError Object of class stdClass could not be converted to string +(object) array ( ) . resource - TypeError Unsupported operand type resource for concatenation +(object) array ( ) . NULL - TypeError Unsupported operand type null for concatenation +(object) array ( 'foo' => 1, 'bar' => 2 ) . false - TypeError Unsupported operand type bool for concatenation +(object) array ( 'foo' => 1, 'bar' => 2 ) . true - TypeError Unsupported operand type bool for concatenation +(object) array ( 'foo' => 1, 'bar' => 2 ) . 0 - TypeError Object of class stdClass could not be converted to string +(object) array ( 'foo' => 1, 'bar' => 2 ) . 10 - TypeError Object of class stdClass could not be converted to string +(object) array ( 'foo' => 1, 'bar' => 2 ) . 0.0 - TypeError Object of class stdClass could not be converted to string +(object) array ( 'foo' => 1, 'bar' => 2 ) . 10.0 - TypeError Object of class stdClass could not be converted to string +(object) array ( 'foo' => 1, 'bar' => 2 ) . 3.14 - TypeError Object of class stdClass could not be converted to string +(object) array ( 'foo' => 1, 'bar' => 2 ) . '0' - TypeError Object of class stdClass could not be converted to string +(object) array ( 'foo' => 1, 'bar' => 2 ) . '10' - TypeError Object of class stdClass could not be converted to string +(object) array ( 'foo' => 1, 'bar' => 2 ) . '010' - TypeError Object of class stdClass could not be converted to string +(object) array ( 'foo' => 1, 'bar' => 2 ) . '10 elephants' - TypeError Object of class stdClass could not be converted to string +(object) array ( 'foo' => 1, 'bar' => 2 ) . 'foo' - TypeError Object of class stdClass could not be converted to string +(object) array ( 'foo' => 1, 'bar' => 2 ) . array ( ) - TypeError Unsupported operand type array for concatenation +(object) array ( 'foo' => 1, 'bar' => 2 ) . array ( 0 => 1 ) - TypeError Unsupported operand type array for concatenation +(object) array ( 'foo' => 1, 'bar' => 2 ) . array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for concatenation +(object) array ( 'foo' => 1, 'bar' => 2 ) . array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for concatenation +(object) array ( 'foo' => 1, 'bar' => 2 ) . array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for concatenation +(object) array ( 'foo' => 1, 'bar' => 2 ) . (object) array ( ) - TypeError Object of class stdClass could not be converted to string +(object) array ( 'foo' => 1, 'bar' => 2 ) . (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Object of class stdClass could not be converted to string +(object) array ( 'foo' => 1, 'bar' => 2 ) . (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Object of class stdClass could not be converted to string +(object) array ( 'foo' => 1, 'bar' => 2 ) . DateTime - TypeError Object of class stdClass could not be converted to string +(object) array ( 'foo' => 1, 'bar' => 2 ) . resource - TypeError Unsupported operand type resource for concatenation +(object) array ( 'foo' => 1, 'bar' => 2 ) . NULL - TypeError Unsupported operand type null for concatenation +(object) array ( 'bar' => 1, 'foo' => 2 ) . false - TypeError Unsupported operand type bool for concatenation +(object) array ( 'bar' => 1, 'foo' => 2 ) . true - TypeError Unsupported operand type bool for concatenation +(object) array ( 'bar' => 1, 'foo' => 2 ) . 0 - TypeError Object of class stdClass could not be converted to string +(object) array ( 'bar' => 1, 'foo' => 2 ) . 10 - TypeError Object of class stdClass could not be converted to string +(object) array ( 'bar' => 1, 'foo' => 2 ) . 0.0 - TypeError Object of class stdClass could not be converted to string +(object) array ( 'bar' => 1, 'foo' => 2 ) . 10.0 - TypeError Object of class stdClass could not be converted to string +(object) array ( 'bar' => 1, 'foo' => 2 ) . 3.14 - TypeError Object of class stdClass could not be converted to string +(object) array ( 'bar' => 1, 'foo' => 2 ) . '0' - TypeError Object of class stdClass could not be converted to string +(object) array ( 'bar' => 1, 'foo' => 2 ) . '10' - TypeError Object of class stdClass could not be converted to string +(object) array ( 'bar' => 1, 'foo' => 2 ) . '010' - TypeError Object of class stdClass could not be converted to string +(object) array ( 'bar' => 1, 'foo' => 2 ) . '10 elephants' - TypeError Object of class stdClass could not be converted to string +(object) array ( 'bar' => 1, 'foo' => 2 ) . 'foo' - TypeError Object of class stdClass could not be converted to string +(object) array ( 'bar' => 1, 'foo' => 2 ) . array ( ) - TypeError Unsupported operand type array for concatenation +(object) array ( 'bar' => 1, 'foo' => 2 ) . array ( 0 => 1 ) - TypeError Unsupported operand type array for concatenation +(object) array ( 'bar' => 1, 'foo' => 2 ) . array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for concatenation +(object) array ( 'bar' => 1, 'foo' => 2 ) . array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for concatenation +(object) array ( 'bar' => 1, 'foo' => 2 ) . array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for concatenation +(object) array ( 'bar' => 1, 'foo' => 2 ) . (object) array ( ) - TypeError Object of class stdClass could not be converted to string +(object) array ( 'bar' => 1, 'foo' => 2 ) . (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Object of class stdClass could not be converted to string +(object) array ( 'bar' => 1, 'foo' => 2 ) . (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Object of class stdClass could not be converted to string +(object) array ( 'bar' => 1, 'foo' => 2 ) . DateTime - TypeError Object of class stdClass could not be converted to string +(object) array ( 'bar' => 1, 'foo' => 2 ) . resource - TypeError Unsupported operand type resource for concatenation +(object) array ( 'bar' => 1, 'foo' => 2 ) . NULL - TypeError Unsupported operand type null for concatenation +DateTime . false - TypeError Unsupported operand type bool for concatenation +DateTime . true - TypeError Unsupported operand type bool for concatenation +DateTime . 0 - TypeError Object of class DateTime could not be converted to string +DateTime . 10 - TypeError Object of class DateTime could not be converted to string +DateTime . 0.0 - TypeError Object of class DateTime could not be converted to string +DateTime . 10.0 - TypeError Object of class DateTime could not be converted to string +DateTime . 3.14 - TypeError Object of class DateTime could not be converted to string +DateTime . '0' - TypeError Object of class DateTime could not be converted to string +DateTime . '10' - TypeError Object of class DateTime could not be converted to string +DateTime . '010' - TypeError Object of class DateTime could not be converted to string +DateTime . '10 elephants' - TypeError Object of class DateTime could not be converted to string +DateTime . 'foo' - TypeError Object of class DateTime could not be converted to string +DateTime . array ( ) - TypeError Unsupported operand type array for concatenation +DateTime . array ( 0 => 1 ) - TypeError Unsupported operand type array for concatenation +DateTime . array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type array for concatenation +DateTime . array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type array for concatenation +DateTime . array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type array for concatenation +DateTime . (object) array ( ) - TypeError Object of class DateTime could not be converted to string +DateTime . (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Object of class DateTime could not be converted to string +DateTime . (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Object of class DateTime could not be converted to string +DateTime . DateTime - TypeError Object of class DateTime could not be converted to string +DateTime . resource - TypeError Unsupported operand type resource for concatenation +DateTime . NULL - TypeError Unsupported operand type null for concatenation +resource . false - TypeError Unsupported operand type resource for concatenation +resource . true - TypeError Unsupported operand type resource for concatenation +resource . 0 - TypeError Unsupported operand type resource for concatenation +resource . 10 - TypeError Unsupported operand type resource for concatenation +resource . 0.0 - TypeError Unsupported operand type resource for concatenation +resource . 10.0 - TypeError Unsupported operand type resource for concatenation +resource . 3.14 - TypeError Unsupported operand type resource for concatenation +resource . '0' - TypeError Unsupported operand type resource for concatenation +resource . '10' - TypeError Unsupported operand type resource for concatenation +resource . '010' - TypeError Unsupported operand type resource for concatenation +resource . '10 elephants' - TypeError Unsupported operand type resource for concatenation +resource . 'foo' - TypeError Unsupported operand type resource for concatenation +resource . array ( ) - TypeError Unsupported operand type resource for concatenation +resource . array ( 0 => 1 ) - TypeError Unsupported operand type resource for concatenation +resource . array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type resource for concatenation +resource . array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type resource for concatenation +resource . array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type resource for concatenation +resource . (object) array ( ) - TypeError Unsupported operand type resource for concatenation +resource . (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type resource for concatenation +resource . (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type resource for concatenation +resource . DateTime - TypeError Unsupported operand type resource for concatenation +resource . resource - TypeError Unsupported operand type resource for concatenation +resource . NULL - TypeError Unsupported operand type resource for concatenation +NULL . false - TypeError Unsupported operand type null for concatenation +NULL . true - TypeError Unsupported operand type null for concatenation +NULL . 0 - TypeError Unsupported operand type null for concatenation +NULL . 10 - TypeError Unsupported operand type null for concatenation +NULL . 0.0 - TypeError Unsupported operand type null for concatenation +NULL . 10.0 - TypeError Unsupported operand type null for concatenation +NULL . 3.14 - TypeError Unsupported operand type null for concatenation +NULL . '0' - TypeError Unsupported operand type null for concatenation +NULL . '10' - TypeError Unsupported operand type null for concatenation +NULL . '010' - TypeError Unsupported operand type null for concatenation +NULL . '10 elephants' - TypeError Unsupported operand type null for concatenation +NULL . 'foo' - TypeError Unsupported operand type null for concatenation +NULL . array ( ) - TypeError Unsupported operand type null for concatenation +NULL . array ( 0 => 1 ) - TypeError Unsupported operand type null for concatenation +NULL . array ( 0 => 1, 1 => 100 ) - TypeError Unsupported operand type null for concatenation +NULL . array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type null for concatenation +NULL . array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type null for concatenation +NULL . (object) array ( ) - TypeError Unsupported operand type null for concatenation +NULL . (object) array ( 'foo' => 1, 'bar' => 2 ) - TypeError Unsupported operand type null for concatenation +NULL . (object) array ( 'bar' => 1, 'foo' => 2 ) - TypeError Unsupported operand type null for concatenation +NULL . DateTime - TypeError Unsupported operand type null for concatenation +NULL . resource - TypeError Unsupported operand type null for concatenation +NULL . NULL - TypeError Unsupported operand type null for concatenation \ No newline at end of file diff --git a/Zend/tests/switch_strict_operators.phpt b/Zend/tests/switch_strict_operators.phpt new file mode 100644 index 000000000000..62dbcf49741c --- /dev/null +++ b/Zend/tests/switch_strict_operators.phpt @@ -0,0 +1,40 @@ +--TEST-- +Switch with strict_operators +--FILE-- + +--EXPECT-- +int(1) +string(1) "1" +string(1) "2" +string(4) "10.0" +string(3) "1e1" +string(7) "default" \ No newline at end of file diff --git a/Zend/zend_compile.c b/Zend/zend_compile.c index a8b831fef221..4f0b89bbbbb7 100644 --- a/Zend/zend_compile.c +++ b/Zend/zend_compile.c @@ -4793,9 +4793,7 @@ void zend_compile_switch(zend_ast *ast) /* {{{ */ && Z_TYPE(expr_node.u.constant) == IS_TRUE) { jmpnz_opnums[i] = zend_emit_cond_jump(ZEND_JMPNZ, &cond_node, 0); } else { - opline = zend_emit_op(NULL, - (expr_node.op_type & (IS_VAR|IS_TMP_VAR)) ? ZEND_CASE : ZEND_IS_EQUAL, - &expr_node, &cond_node); + opline = zend_emit_op(NULL, ZEND_CASE, &expr_node, &cond_node); SET_NODE(opline->result, &case_node); if (opline->op1_type == IS_CONST) { Z_TRY_ADDREF_P(CT_CONSTANT(opline->op1)); @@ -5161,6 +5159,28 @@ void zend_compile_declare(zend_ast *ast) /* {{{ */ if (Z_LVAL(value_zv) == 1) { CG(active_op_array)->fn_flags |= ZEND_ACC_STRICT_TYPES; } + } else if (zend_string_equals_literal_ci(name, "strict_operators")) { + zval value_zv; + + if (FAILURE == zend_declare_is_first_statement(ast)) { + zend_error_noreturn(E_COMPILE_ERROR, "strict_operators declaration must be " + "the very first statement in the script"); + } + + if (ast->child[1] != NULL) { + zend_error_noreturn(E_COMPILE_ERROR, "strict_operators declaration must not " + "use block mode"); + } + + zend_const_expr_to_zval(&value_zv, value_ast); + + if (Z_TYPE(value_zv) != IS_LONG || (Z_LVAL(value_zv) != 0 && Z_LVAL(value_zv) != 1)) { + zend_error_noreturn(E_COMPILE_ERROR, "strict_operators declaration must have 0 or 1 as its value"); + } + + if (Z_LVAL(value_zv) == 1) { + CG(active_op_array)->fn_flags |= ZEND_ACC_STRICT_OPERATORS; + } } else { zend_error(E_COMPILE_WARNING, "Unsupported declare '%s'", ZSTR_VAL(name)); @@ -5893,7 +5913,7 @@ void zend_compile_func_decl(znode *result, zend_ast *ast, zend_bool toplevel) /* ZEND_MAP_PTR_SET(op_array->run_time_cache, NULL); } - op_array->fn_flags |= (orig_op_array->fn_flags & ZEND_ACC_STRICT_TYPES); + op_array->fn_flags |= (orig_op_array->fn_flags & (ZEND_ACC_STRICT_TYPES | ZEND_ACC_STRICT_OPERATORS)); op_array->fn_flags |= decl->flags; op_array->line_start = decl->start_lineno; op_array->line_end = decl->end_lineno; diff --git a/Zend/zend_compile.h b/Zend/zend_compile.h index c9b827041373..65e41010c463 100644 --- a/Zend/zend_compile.h +++ b/Zend/zend_compile.h @@ -337,6 +337,9 @@ typedef struct _zend_oparray_context { /* function is a destructor | | | */ #define ZEND_ACC_DTOR (1 << 29) /* | X | | */ /* | | | */ +/* op_array uses strict operators | | | */ +#define ZEND_ACC_STRICT_OPERATORS (1U << 30) /* | X | | */ +/* | | | */ /* op_array uses strict mode types | | | */ #define ZEND_ACC_STRICT_TYPES (1U << 31) /* | X | | */ @@ -583,6 +586,10 @@ struct _zend_execute_data { #define ZEND_RET_USES_STRICT_TYPES() \ ZEND_CALL_USES_STRICT_TYPES(EG(current_execute_data)) +#define ZEND_USES_STRICT_OPERATORS() \ + ((EG(current_execute_data) && (EG(current_execute_data)->func->common.fn_flags & ZEND_ACC_STRICT_OPERATORS) != 0) || \ + (!EG(current_execute_data) && CG(active_op_array) && (CG(active_op_array)->fn_flags & ZEND_ACC_STRICT_OPERATORS) != 0)) + #define EX_VAR(n) ZEND_CALL_VAR(execute_data, n) #define EX_VAR_NUM(n) ZEND_CALL_VAR_NUM(execute_data, n) diff --git a/Zend/zend_object_handlers.c b/Zend/zend_object_handlers.c index 3f8be6f707c3..a24f62e4b1ce 100644 --- a/Zend/zend_object_handlers.c +++ b/Zend/zend_object_handlers.c @@ -1608,7 +1608,7 @@ ZEND_API int zend_std_compare_objects(zval *o1, zval *o2) /* {{{ */ if (Z_TYPE_P(p2) != IS_UNDEF) { zval result; - if (compare_function(&result, p1, p2)==FAILURE) { + if (operator_compare_function(&result, p1, p2)==FAILURE) { Z_UNPROTECT_RECURSION_P(o1); return 1; } diff --git a/Zend/zend_opcode.c b/Zend/zend_opcode.c index 0d2608816720..7a63f109b7c0 100644 --- a/Zend/zend_opcode.c +++ b/Zend/zend_opcode.c @@ -1052,6 +1052,7 @@ ZEND_API binary_op_type get_binary_op(int opcode) case ZEND_IS_NOT_IDENTICAL: return (binary_op_type) is_not_identical_function; case ZEND_IS_EQUAL: + return (binary_op_type) case_equal_function; case ZEND_CASE: return (binary_op_type) is_equal_function; case ZEND_IS_NOT_EQUAL: diff --git a/Zend/zend_operators.c b/Zend/zend_operators.c index f1ebb2e5df48..bb68ab9dafd0 100644 --- a/Zend/zend_operators.c +++ b/Zend/zend_operators.c @@ -62,8 +62,11 @@ static const unsigned char tolower_map[256] = { #define zend_tolower_ascii(c) (tolower_map[(unsigned char)(c)]) +/* Declare here as strict_equals_function calls hash_zval_strict_equals_function and visa versa */ +static int hash_zval_strict_equals_function(zval *z1, zval *z2); + /** - * Functions using locale lowercase: + * Functions using locale loweris_smaller_or_equal_functioncase: zend_binary_strncasecmp_l zend_binary_strcasecmp_l zend_binary_zval_strcasecmp @@ -866,7 +869,7 @@ ZEND_API double ZEND_FASTCALL zval_get_double_func(zval *op) /* {{{ */ } /* }}} */ -static zend_always_inline zend_string* __zval_get_string_func(zval *op, zend_bool try) /* {{{ */ +static zend_always_inline zend_string* __zval_get_string_func(zval *op, zend_bool try, zend_class_entry *object_exception_ce) /* {{{ */ { try_again: switch (Z_TYPE_P(op)) { @@ -905,7 +908,7 @@ static zend_always_inline zend_string* __zval_get_string_func(zval *op, zend_boo zval_ptr_dtor(z); } if (!EG(exception)) { - zend_throw_error(NULL, "Object of class %s could not be converted to string", ZSTR_VAL(Z_OBJCE_P(op)->name)); + zend_throw_error(object_exception_ce, "Object of class %s could not be converted to string", ZSTR_VAL(Z_OBJCE_P(op)->name)); } return try ? NULL : ZSTR_EMPTY_ALLOC(); } @@ -922,13 +925,25 @@ static zend_always_inline zend_string* __zval_get_string_func(zval *op, zend_boo ZEND_API zend_string* ZEND_FASTCALL zval_get_string_func(zval *op) /* {{{ */ { - return __zval_get_string_func(op, 0); + return __zval_get_string_func(op, 0, NULL); } /* }}} */ ZEND_API zend_string* ZEND_FASTCALL zval_try_get_string_func(zval *op) /* {{{ */ { - return __zval_get_string_func(op, 1); + return __zval_get_string_func(op, 1, NULL); +} +/* }}} */ + +static zend_always_inline void zend_throw_error_unsupported_operand(const char* format, zval *operand) /* {{{ */ +{ + zend_throw_error(zend_ce_type_error, format, zend_zval_type_name(operand)); +} +/* }}} */ + +static zend_always_inline void zend_throw_error_type_mismatch(const char* format, zval *op1, zval *op2) /* {{{ */ +{ + zend_throw_error(zend_ce_type_error, format, zend_zval_type_name(op1), zend_zval_type_name(op2)); } /* }}} */ @@ -1015,8 +1030,12 @@ ZEND_API int ZEND_FASTCALL add_function(zval *result, zval *op1, zval *op2) /* { { if (add_function_fast(result, op1, op2) == SUCCESS) { return SUCCESS; - } else { + } else if (!ZEND_USES_STRICT_OPERATORS()) { return add_function_slow(result, op1, op2); + } else { + zend_throw_error_unsupported_operand("Unsupported operand type %s for addition", + Z_TYPE_P(op1) != IS_LONG && Z_TYPE_P(op1) != IS_DOUBLE ? op1 : op2); + return FAILURE; } } /* }}} */ @@ -1088,305 +1107,389 @@ ZEND_API int ZEND_FASTCALL sub_function(zval *result, zval *op1, zval *op2) /* { { if (sub_function_fast(result, op1, op2) == SUCCESS) { return SUCCESS; - } else { + } else if (!ZEND_USES_STRICT_OPERATORS()) { return sub_function_slow(result, op1, op2); + } else { + zend_throw_error_unsupported_operand("Unsupported operand type %s for subtraction", + Z_TYPE_P(op1) != IS_LONG && Z_TYPE_P(op1) != IS_DOUBLE ? op1 : op2); + return FAILURE; } } /* }}} */ -ZEND_API int ZEND_FASTCALL mul_function(zval *result, zval *op1, zval *op2) /* {{{ */ +static zend_always_inline int mul_function_fast(zval *result, zval *op1, zval *op2) /* {{{ */ { - zval op1_copy, op2_copy; - int converted = 0; - - while (1) { - zend_uchar type_pair = TYPE_PAIR(Z_TYPE_P(op1), Z_TYPE_P(op2)); - - if (EXPECTED(type_pair == TYPE_PAIR(IS_LONG, IS_LONG))) { - zend_long overflow; - - ZEND_SIGNED_MULTIPLY_LONG(Z_LVAL_P(op1),Z_LVAL_P(op2), Z_LVAL_P(result),Z_DVAL_P(result),overflow); - Z_TYPE_INFO_P(result) = overflow ? IS_DOUBLE : IS_LONG; - return SUCCESS; + zend_uchar type_pair = TYPE_PAIR(Z_TYPE_P(op1), Z_TYPE_P(op2)); - } else if (EXPECTED(type_pair == TYPE_PAIR(IS_DOUBLE, IS_DOUBLE))) { - ZVAL_DOUBLE(result, Z_DVAL_P(op1) * Z_DVAL_P(op2)); - return SUCCESS; + if (EXPECTED(type_pair == TYPE_PAIR(IS_LONG, IS_LONG))) { + zend_long overflow; - } else if (EXPECTED(type_pair == TYPE_PAIR(IS_LONG, IS_DOUBLE))) { - ZVAL_DOUBLE(result, ((double)Z_LVAL_P(op1)) * Z_DVAL_P(op2)); - return SUCCESS; + ZEND_SIGNED_MULTIPLY_LONG(Z_LVAL_P(op1),Z_LVAL_P(op2), Z_LVAL_P(result),Z_DVAL_P(result),overflow); + Z_TYPE_INFO_P(result) = overflow ? IS_DOUBLE : IS_LONG; + return SUCCESS; + } else if (EXPECTED(type_pair == TYPE_PAIR(IS_DOUBLE, IS_DOUBLE))) { + ZVAL_DOUBLE(result, Z_DVAL_P(op1) * Z_DVAL_P(op2)); + return SUCCESS; + } else if (EXPECTED(type_pair == TYPE_PAIR(IS_LONG, IS_DOUBLE))) { + ZVAL_DOUBLE(result, ((double)Z_LVAL_P(op1)) * Z_DVAL_P(op2)); + return SUCCESS; + } else if (EXPECTED(type_pair == TYPE_PAIR(IS_DOUBLE, IS_LONG))) { + ZVAL_DOUBLE(result, Z_DVAL_P(op1) * ((double)Z_LVAL_P(op2))); + return SUCCESS; + } else { + return FAILURE; + } +} +/* }}} */ - } else if (EXPECTED(type_pair == TYPE_PAIR(IS_DOUBLE, IS_LONG))) { - ZVAL_DOUBLE(result, Z_DVAL_P(op1) * ((double)Z_LVAL_P(op2))); - return SUCCESS; +static zend_never_inline int ZEND_FASTCALL mul_function_slow(zval *result, zval *op1, zval *op2) /* {{{ */ +{ + zval op1_copy, op2_copy; + int converted = 0; - } else { - if (Z_ISREF_P(op1)) { - op1 = Z_REFVAL_P(op1); - } else if (Z_ISREF_P(op2)) { - op2 = Z_REFVAL_P(op2); - } else if (!converted) { - ZEND_TRY_BINARY_OBJECT_OPERATION(ZEND_MUL, mul_function); + while (1) { + if (Z_ISREF_P(op1)) { + op1 = Z_REFVAL_P(op1); + } else if (Z_ISREF_P(op2)) { + op2 = Z_REFVAL_P(op2); + } else if (!converted) { + ZEND_TRY_BINARY_OBJECT_OPERATION(ZEND_MUL, mul_function); - if (EXPECTED(op1 != op2)) { - op1 = zendi_convert_scalar_to_number(op1, &op1_copy, result, 0); - op2 = zendi_convert_scalar_to_number(op2, &op2_copy, result, 0); - } else { - op1 = zendi_convert_scalar_to_number(op1, &op1_copy, result, 0); - op2 = op1; - } - if (EG(exception)) { - if (result != op1) { - ZVAL_UNDEF(result); - } - return FAILURE; - } - converted = 1; + if (EXPECTED(op1 != op2)) { + op1 = zendi_convert_scalar_to_number(op1, &op1_copy, result, 0); + op2 = zendi_convert_scalar_to_number(op2, &op2_copy, result, 0); } else { + op1 = zendi_convert_scalar_to_number(op1, &op1_copy, result, 0); + op2 = op1; + } + if (EG(exception)) { if (result != op1) { ZVAL_UNDEF(result); } - zend_throw_error(NULL, "Unsupported operand types"); - return FAILURE; /* unknown datatype */ + return FAILURE; + } + converted = 1; + } else { + if (result != op1) { + ZVAL_UNDEF(result); } + zend_throw_error(NULL, "Unsupported operand types"); + return FAILURE; /* unknown datatype */ + } + + if (mul_function_fast(result, op1, op2) == SUCCESS) { + return SUCCESS; } } } /* }}} */ -ZEND_API int ZEND_FASTCALL pow_function(zval *result, zval *op1, zval *op2) /* {{{ */ +ZEND_API int ZEND_FASTCALL mul_function(zval *result, zval *op1, zval *op2) /* {{{ */ { - zval op1_copy, op2_copy; - int converted = 0; - - while (1) { - zend_uchar type_pair = TYPE_PAIR(Z_TYPE_P(op1), Z_TYPE_P(op2)); - - if (EXPECTED(type_pair == TYPE_PAIR(IS_LONG, IS_LONG))) { - if (Z_LVAL_P(op2) >= 0) { - zend_long l1 = 1, l2 = Z_LVAL_P(op1), i = Z_LVAL_P(op2); + if (mul_function_fast(result, op1, op2) == SUCCESS) { + return SUCCESS; + } else if (!ZEND_USES_STRICT_OPERATORS()) { + return mul_function_slow(result, op1, op2); + } else { + zend_throw_error_unsupported_operand("Unsupported operand type %s for multiplication", + Z_TYPE_P(op1) != IS_LONG && Z_TYPE_P(op1) != IS_DOUBLE ? op1 : op2); + return FAILURE; + } +} +/* }}} */ - if (i == 0) { - ZVAL_LONG(result, 1L); - return SUCCESS; - } else if (l2 == 0) { - ZVAL_LONG(result, 0); - return SUCCESS; - } +static zend_always_inline int pow_function_fast(zval *result, zval *op1, zval *op2) /* {{{ */ +{ + zend_uchar type_pair = TYPE_PAIR(Z_TYPE_P(op1), Z_TYPE_P(op2)); - while (i >= 1) { - zend_long overflow; - double dval = 0.0; + if (EXPECTED(type_pair == TYPE_PAIR(IS_LONG, IS_LONG))) { + if (Z_LVAL_P(op2) >= 0) { + zend_long l1 = 1, l2 = Z_LVAL_P(op1), i = Z_LVAL_P(op2); - if (i % 2) { - --i; - ZEND_SIGNED_MULTIPLY_LONG(l1, l2, l1, dval, overflow); - if (overflow) { - ZVAL_DOUBLE(result, dval * pow(l2, i)); - return SUCCESS; - } - } else { - i /= 2; - ZEND_SIGNED_MULTIPLY_LONG(l2, l2, l2, dval, overflow); - if (overflow) { - ZVAL_DOUBLE(result, (double)l1 * pow(dval, i)); - return SUCCESS; - } - } - } - /* i == 0 */ - ZVAL_LONG(result, l1); - } else { - ZVAL_DOUBLE(result, pow((double)Z_LVAL_P(op1), (double)Z_LVAL_P(op2))); + if (i == 0) { + ZVAL_LONG(result, 1L); + return SUCCESS; + } else if (l2 == 0) { + ZVAL_LONG(result, 0); + return SUCCESS; } - return SUCCESS; - - } else if (EXPECTED(type_pair == TYPE_PAIR(IS_DOUBLE, IS_DOUBLE))) { - ZVAL_DOUBLE(result, pow(Z_DVAL_P(op1), Z_DVAL_P(op2))); - return SUCCESS; - - } else if (EXPECTED(type_pair == TYPE_PAIR(IS_LONG, IS_DOUBLE))) { - ZVAL_DOUBLE(result, pow((double)Z_LVAL_P(op1), Z_DVAL_P(op2))); - return SUCCESS; - } else if (EXPECTED(type_pair == TYPE_PAIR(IS_DOUBLE, IS_LONG))) { - ZVAL_DOUBLE(result, pow(Z_DVAL_P(op1), (double)Z_LVAL_P(op2))); - return SUCCESS; - - } else { - if (Z_ISREF_P(op1)) { - op1 = Z_REFVAL_P(op1); - } else if (Z_ISREF_P(op2)) { - op2 = Z_REFVAL_P(op2); - } else if (!converted) { - ZEND_TRY_BINARY_OBJECT_OPERATION(ZEND_POW, pow_function); + while (i >= 1) { + zend_long overflow; + double dval = 0.0; - if (EXPECTED(op1 != op2)) { - if (Z_TYPE_P(op1) == IS_ARRAY) { - ZVAL_LONG(result, 0); - return SUCCESS; - } else { - op1 = zendi_convert_scalar_to_number(op1, &op1_copy, result, 0); - } - if (Z_TYPE_P(op2) == IS_ARRAY) { - ZVAL_LONG(result, 1L); + if (i % 2) { + --i; + ZEND_SIGNED_MULTIPLY_LONG(l1, l2, l1, dval, overflow); + if (overflow) { + ZVAL_DOUBLE(result, dval * pow(l2, i)); return SUCCESS; - } else { - op2 = zendi_convert_scalar_to_number(op2, &op2_copy, result, 0); } } else { - if (Z_TYPE_P(op1) == IS_ARRAY) { - ZVAL_LONG(result, 0); + i /= 2; + ZEND_SIGNED_MULTIPLY_LONG(l2, l2, l2, dval, overflow); + if (overflow) { + ZVAL_DOUBLE(result, (double)l1 * pow(dval, i)); return SUCCESS; - } else { - op1 = zendi_convert_scalar_to_number(op1, &op1_copy, result, 0); - } - op2 = op1; - } - if (EG(exception)) { - if (result != op1) { - ZVAL_UNDEF(result); } - return FAILURE; - } - converted = 1; - } else { - if (result != op1) { - ZVAL_UNDEF(result); } - zend_throw_error(NULL, "Unsupported operand types"); - return FAILURE; } + /* i == 0 */ + ZVAL_LONG(result, l1); + } else { + ZVAL_DOUBLE(result, pow((double)Z_LVAL_P(op1), (double)Z_LVAL_P(op2))); } + return SUCCESS; + + } else if (EXPECTED(type_pair == TYPE_PAIR(IS_DOUBLE, IS_DOUBLE))) { + ZVAL_DOUBLE(result, pow(Z_DVAL_P(op1), Z_DVAL_P(op2))); + return SUCCESS; + } else if (EXPECTED(type_pair == TYPE_PAIR(IS_LONG, IS_DOUBLE))) { + ZVAL_DOUBLE(result, pow((double)Z_LVAL_P(op1), Z_DVAL_P(op2))); + return SUCCESS; + } else if (EXPECTED(type_pair == TYPE_PAIR(IS_DOUBLE, IS_LONG))) { + ZVAL_DOUBLE(result, pow(Z_DVAL_P(op1), (double)Z_LVAL_P(op2))); + return SUCCESS; + } else { + return FAILURE; } } /* }}} */ -#ifdef __clang__ -__attribute__((no_sanitize("float-divide-by-zero"))) -#endif -ZEND_API int ZEND_FASTCALL div_function(zval *result, zval *op1, zval *op2) /* {{{ */ +static zend_never_inline int ZEND_FASTCALL pow_function_slow(zval *result, zval *op1, zval *op2) /* {{{ */ { zval op1_copy, op2_copy; int converted = 0; while (1) { - zend_uchar type_pair = TYPE_PAIR(Z_TYPE_P(op1), Z_TYPE_P(op2)); - - if (EXPECTED(type_pair == TYPE_PAIR(IS_LONG, IS_LONG))) { - if (Z_LVAL_P(op2) == 0) { - zend_error(E_WARNING, "Division by zero"); - ZVAL_DOUBLE(result, ((double) Z_LVAL_P(op1) / (double) Z_LVAL_P(op2))); - return SUCCESS; - } else if (Z_LVAL_P(op2) == -1 && Z_LVAL_P(op1) == ZEND_LONG_MIN) { - /* Prevent overflow error/crash */ - ZVAL_DOUBLE(result, (double) ZEND_LONG_MIN / -1); - return SUCCESS; - } - if (Z_LVAL_P(op1) % Z_LVAL_P(op2) == 0) { /* integer */ - ZVAL_LONG(result, Z_LVAL_P(op1) / Z_LVAL_P(op2)); - } else { - ZVAL_DOUBLE(result, ((double) Z_LVAL_P(op1)) / Z_LVAL_P(op2)); - } - return SUCCESS; - - } else if (EXPECTED(type_pair == TYPE_PAIR(IS_DOUBLE, IS_DOUBLE))) { - if (Z_DVAL_P(op2) == 0) { - zend_error(E_WARNING, "Division by zero"); - } - ZVAL_DOUBLE(result, Z_DVAL_P(op1) / Z_DVAL_P(op2)); - return SUCCESS; - - } else if (EXPECTED(type_pair == TYPE_PAIR(IS_DOUBLE, IS_LONG))) { - if (Z_LVAL_P(op2) == 0) { - zend_error(E_WARNING, "Division by zero"); - } - ZVAL_DOUBLE(result, Z_DVAL_P(op1) / (double)Z_LVAL_P(op2)); - return SUCCESS; - - } else if (EXPECTED(type_pair == TYPE_PAIR(IS_LONG, IS_DOUBLE))) { - if (Z_DVAL_P(op2) == 0) { - zend_error(E_WARNING, "Division by zero"); - } - ZVAL_DOUBLE(result, (double)Z_LVAL_P(op1) / Z_DVAL_P(op2)); - return SUCCESS; - - } else { - if (Z_ISREF_P(op1)) { - op1 = Z_REFVAL_P(op1); - } else if (Z_ISREF_P(op2)) { - op2 = Z_REFVAL_P(op2); - } else if (!converted) { - ZEND_TRY_BINARY_OBJECT_OPERATION(ZEND_DIV, div_function); + if (Z_ISREF_P(op1)) { + op1 = Z_REFVAL_P(op1); + } else if (Z_ISREF_P(op2)) { + op2 = Z_REFVAL_P(op2); + } else if (!converted) { + ZEND_TRY_BINARY_OBJECT_OPERATION(ZEND_POW, pow_function); - if (EXPECTED(op1 != op2)) { - op1 = zendi_convert_scalar_to_number(op1, &op1_copy, result, 0); - op2 = zendi_convert_scalar_to_number(op2, &op2_copy, result, 0); + if (EXPECTED(op1 != op2)) { + if (Z_TYPE_P(op1) == IS_ARRAY) { + ZVAL_LONG(result, 0); + return SUCCESS; } else { op1 = zendi_convert_scalar_to_number(op1, &op1_copy, result, 0); - op2 = op1; } - if (EG(exception)) { - if (result != op1) { - ZVAL_UNDEF(result); - } - return FAILURE; + if (Z_TYPE_P(op2) == IS_ARRAY) { + ZVAL_LONG(result, 1L); + return SUCCESS; + } else { + op2 = zendi_convert_scalar_to_number(op2, &op2_copy, result, 0); } - converted = 1; } else { + if (Z_TYPE_P(op1) == IS_ARRAY) { + ZVAL_LONG(result, 0); + return SUCCESS; + } else { + op1 = zendi_convert_scalar_to_number(op1, &op1_copy, result, 0); + } + op2 = op1; + } + if (EG(exception)) { if (result != op1) { ZVAL_UNDEF(result); } - zend_throw_error(NULL, "Unsupported operand types"); - return FAILURE; /* unknown datatype */ + return FAILURE; } + converted = 1; + } else { + if (result != op1) { + ZVAL_UNDEF(result); + } + zend_throw_error(NULL, "Unsupported operand types"); + return FAILURE; + } + + if (pow_function_fast(result, op1, op2) == SUCCESS) { + return SUCCESS; } } } /* }}} */ -ZEND_API int ZEND_FASTCALL mod_function(zval *result, zval *op1, zval *op2) /* {{{ */ +ZEND_API int ZEND_FASTCALL pow_function(zval *result, zval *op1, zval *op2) /* {{{ */ { - zend_long op1_lval, op2_lval; - - convert_op1_op2_long(op1, op1_lval, op2, op2_lval, result, ZEND_MOD, mod_function); - - if (op2_lval == 0) { - /* modulus by zero */ - if (EG(current_execute_data) && !CG(in_compilation)) { - zend_throw_exception_ex(zend_ce_division_by_zero_error, 0, "Modulo by zero"); - } else { - zend_error_noreturn(E_ERROR, "Modulo by zero"); - } - if (op1 != result) { - ZVAL_UNDEF(result); - } - return FAILURE; - } - - if (op1 == result) { - zval_ptr_dtor(result); - } - - if (op2_lval == -1) { - /* Prevent overflow error/crash if op1==LONG_MIN */ - ZVAL_LONG(result, 0); + if (pow_function_fast(result, op1, op2) == SUCCESS) { return SUCCESS; + } else if (!ZEND_USES_STRICT_OPERATORS()) { + return pow_function_slow(result, op1, op2); + } else { + zend_throw_error_unsupported_operand("Unsupported operand type %s for exponentiation", + Z_TYPE_P(op1) != IS_LONG && Z_TYPE_P(op1) != IS_DOUBLE ? op1 : op2); + return FAILURE; } - - ZVAL_LONG(result, op1_lval % op2_lval); - return SUCCESS; } /* }}} */ -ZEND_API int ZEND_FASTCALL boolean_xor_function(zval *result, zval *op1, zval *op2) /* {{{ */ +#ifdef __clang__ +__attribute__((no_sanitize("float-divide-by-zero"))) +#endif +static zend_always_inline int div_function_fast(zval *result, zval *op1, zval *op2) /* {{{ */ { - int op1_val, op2_val; + zend_uchar type_pair = TYPE_PAIR(Z_TYPE_P(op1), Z_TYPE_P(op2)); - do { - if (Z_TYPE_P(op1) == IS_FALSE) { - op1_val = 0; + if (EXPECTED(type_pair == TYPE_PAIR(IS_LONG, IS_LONG))) { + if (Z_LVAL_P(op2) == 0) { + zend_error(E_WARNING, "Division by zero"); + ZVAL_DOUBLE(result, ((double) Z_LVAL_P(op1) / (double) Z_LVAL_P(op2))); + return SUCCESS; + } else if (Z_LVAL_P(op2) == -1 && Z_LVAL_P(op1) == ZEND_LONG_MIN) { + /* Prevent overflow error/crash */ + ZVAL_DOUBLE(result, (double) ZEND_LONG_MIN / -1); + return SUCCESS; + } + if (Z_LVAL_P(op1) % Z_LVAL_P(op2) == 0) { /* integer */ + ZVAL_LONG(result, Z_LVAL_P(op1) / Z_LVAL_P(op2)); + } else { + ZVAL_DOUBLE(result, ((double) Z_LVAL_P(op1)) / Z_LVAL_P(op2)); + } + return SUCCESS; + + } else if (EXPECTED(type_pair == TYPE_PAIR(IS_DOUBLE, IS_DOUBLE))) { + if (Z_DVAL_P(op2) == 0) { + zend_error(E_WARNING, "Division by zero"); + } + ZVAL_DOUBLE(result, Z_DVAL_P(op1) / Z_DVAL_P(op2)); + return SUCCESS; + + } else if (EXPECTED(type_pair == TYPE_PAIR(IS_DOUBLE, IS_LONG))) { + if (Z_LVAL_P(op2) == 0) { + zend_error(E_WARNING, "Division by zero"); + } + ZVAL_DOUBLE(result, Z_DVAL_P(op1) / (double)Z_LVAL_P(op2)); + return SUCCESS; + + } else if (EXPECTED(type_pair == TYPE_PAIR(IS_LONG, IS_DOUBLE))) { + if (Z_DVAL_P(op2) == 0) { + zend_error(E_WARNING, "Division by zero"); + } + ZVAL_DOUBLE(result, (double)Z_LVAL_P(op1) / Z_DVAL_P(op2)); + return SUCCESS; + + } else { + return FAILURE; + } +} +/* }}} */ + +static zend_never_inline int ZEND_FASTCALL div_function_slow(zval *result, zval *op1, zval *op2) /* {{{ */ +{ + zval op1_copy, op2_copy; + int converted = 0; + + while (1) { + if (Z_ISREF_P(op1)) { + op1 = Z_REFVAL_P(op1); + } else if (Z_ISREF_P(op2)) { + op2 = Z_REFVAL_P(op2); + } else if (!converted) { + ZEND_TRY_BINARY_OBJECT_OPERATION(ZEND_DIV, div_function); + + if (EXPECTED(op1 != op2)) { + op1 = zendi_convert_scalar_to_number(op1, &op1_copy, result, 0); + op2 = zendi_convert_scalar_to_number(op2, &op2_copy, result, 0); + } else { + op1 = zendi_convert_scalar_to_number(op1, &op1_copy, result, 0); + op2 = op1; + } + if (EG(exception)) { + if (result != op1) { + ZVAL_UNDEF(result); + } + return FAILURE; + } + converted = 1; + } else { + if (result != op1) { + ZVAL_UNDEF(result); + } + zend_throw_error(NULL, "Unsupported operand types"); + return FAILURE; /* unknown datatype */ + } + + if (div_function_fast(result, op1, op2) == SUCCESS) { + return SUCCESS; + } + } +} +/* }}} */ + +ZEND_API int ZEND_FASTCALL div_function(zval *result, zval *op1, zval *op2) /* {{{ */ +{ + if (div_function_fast(result, op1, op2) == SUCCESS) { + return SUCCESS; + } else if (!ZEND_USES_STRICT_OPERATORS()) { + return div_function_slow(result, op1, op2); + } else { + zend_throw_error_unsupported_operand("Unsupported operand type %s for division", + Z_TYPE_P(op1) != IS_LONG && Z_TYPE_P(op1) != IS_DOUBLE ? op1 : op2); + return FAILURE; + } +} +/* }}} */ + +static zend_always_inline int mod_function_long(zval *result, zend_long op1_lval, zend_long op2_lval, zend_bool assign) /* {{{ */ +{ + if (op2_lval == 0) { + /* modulus by zero */ + if (EG(current_execute_data) && !CG(in_compilation)) { + zend_throw_exception_ex(zend_ce_division_by_zero_error, 0, "Modulo by zero"); + } else { + zend_error_noreturn(E_ERROR, "Modulo by zero"); + } + if (!assign) { + ZVAL_UNDEF(result); + } + return FAILURE; + } + + if (assign) { + zval_ptr_dtor(result); + } + + if (op2_lval == -1) { + /* Prevent overflow error/crash if op1==LONG_MIN */ + ZVAL_LONG(result, 0); + return SUCCESS; + } + + ZVAL_LONG(result, op1_lval % op2_lval); + return SUCCESS; +} +/* }}} */ + +ZEND_API int ZEND_FASTCALL mod_function(zval *result, zval *op1, zval *op2) /* {{{ */ +{ + zend_long op1_lval, op2_lval; + + if (EXPECTED(Z_TYPE_P(op1) == IS_LONG && Z_TYPE_P(op2) == IS_LONG)) { + op1_lval = Z_LVAL_P(op1); + op2_lval = Z_LVAL_P(op2); + } else if (!ZEND_USES_STRICT_OPERATORS()) { + convert_op1_op2_long(op1, op1_lval, op2, op2_lval, result, ZEND_MOD, mod_function); + } else { + zend_throw_error_unsupported_operand("Unsupported operand type %s for modulo", + Z_TYPE_P(op1) != IS_LONG && Z_TYPE_P(op1) != IS_DOUBLE ? op1 : op2); + return FAILURE; + } + + return mod_function_long(result, op1_lval, op2_lval, op1 == result); +} +/* }}} */ + +ZEND_API int ZEND_FASTCALL boolean_xor_function(zval *result, zval *op1, zval *op2) /* {{{ */ +{ + int op1_val, op2_val; + + do { + if (Z_TYPE_P(op1) == IS_FALSE) { + op1_val = 0; } else if (EXPECTED(Z_TYPE_P(op1) == IS_TRUE)) { op1_val = 1; } else { @@ -1489,7 +1592,13 @@ ZEND_API int ZEND_FASTCALL bitwise_not_function(zval *result, zval *op1) /* {{{ if (result != op1) { ZVAL_UNDEF(result); } - zend_throw_error(NULL, "Unsupported operand types"); + + if (ZEND_USES_STRICT_OPERATORS()) { + zend_throw_error_unsupported_operand("Unsupported operand type %s for bitwise not", op1); + } else { + zend_throw_error(NULL, "Unsupported operand types"); + } + return FAILURE; } } @@ -1540,6 +1649,21 @@ ZEND_API int ZEND_FASTCALL bitwise_or_function(zval *result, zval *op1, zval *op return SUCCESS; } + if (ZEND_USES_STRICT_OPERATORS()) { + ZEND_TRY_BINARY_OP1_OBJECT_OPERATION(ZEND_BW_OR, bitwise_or_function); + ZEND_TRY_BINARY_OP2_OBJECT_OPERATION(ZEND_BW_OR); + + if (Z_TYPE_P(op1) != IS_STRING && Z_TYPE_P(op1) != IS_LONG) { + zend_throw_error_unsupported_operand("Unsupported operand type %s for bitwise or", op1); + } else if (Z_TYPE_P(op2) != IS_STRING && Z_TYPE_P(op2) != IS_LONG) { + zend_throw_error_unsupported_operand("Unsupported operand type %s for bitwise or", op2); + } else { + zend_throw_error_type_mismatch("Operand type mismatch %s and %s for bitwise or", op1, op2); + } + + return FAILURE; + } + if (UNEXPECTED(Z_TYPE_P(op1) != IS_LONG)) { ZEND_TRY_BINARY_OP1_OBJECT_OPERATION(ZEND_BW_OR, bitwise_or_function); op1_lval = _zval_get_long_func_noisy(op1); @@ -1618,6 +1742,21 @@ ZEND_API int ZEND_FASTCALL bitwise_and_function(zval *result, zval *op1, zval *o return SUCCESS; } + if (ZEND_USES_STRICT_OPERATORS()) { + ZEND_TRY_BINARY_OP1_OBJECT_OPERATION(ZEND_BW_OR, bitwise_and_function); + ZEND_TRY_BINARY_OP2_OBJECT_OPERATION(ZEND_BW_OR); + + if (Z_TYPE_P(op1) != IS_STRING && Z_TYPE_P(op1) != IS_LONG) { + zend_throw_error_unsupported_operand("Unsupported operand type %s for bitwise and", op1); + } else if (Z_TYPE_P(op2) != IS_STRING && Z_TYPE_P(op2) != IS_LONG) { + zend_throw_error_unsupported_operand("Unsupported operand type %s for bitwise and", op2); + } else { + zend_throw_error_type_mismatch("Operand type mismatch %s and %s for bitwise and", op1, op2); + } + + return FAILURE; + } + if (UNEXPECTED(Z_TYPE_P(op1) != IS_LONG)) { ZEND_TRY_BINARY_OP1_OBJECT_OPERATION(ZEND_BW_AND, bitwise_and_function); op1_lval = _zval_get_long_func_noisy(op1); @@ -1696,6 +1835,21 @@ ZEND_API int ZEND_FASTCALL bitwise_xor_function(zval *result, zval *op1, zval *o return SUCCESS; } + if (ZEND_USES_STRICT_OPERATORS()) { + ZEND_TRY_BINARY_OP1_OBJECT_OPERATION(ZEND_BW_OR, bitwise_xor_function); + ZEND_TRY_BINARY_OP2_OBJECT_OPERATION(ZEND_BW_OR); + + if (Z_TYPE_P(op1) != IS_STRING && Z_TYPE_P(op1) != IS_LONG) { + zend_throw_error_unsupported_operand("Unsupported operand type %s for bitwise xor", op1); + } else if (Z_TYPE_P(op2) != IS_STRING && Z_TYPE_P(op2) != IS_LONG) { + zend_throw_error_unsupported_operand("Unsupported operand type %s for bitwise xor", op2); + } else { + zend_throw_error_type_mismatch("Operand type mismatch %s and %s for bitwise xor", op1, op2); + } + + return FAILURE; + } + if (UNEXPECTED(Z_TYPE_P(op1) != IS_LONG)) { ZEND_TRY_BINARY_OP1_OBJECT_OPERATION(ZEND_BW_XOR, bitwise_xor_function); op1_lval = _zval_get_long_func_noisy(op1); @@ -1733,7 +1887,21 @@ ZEND_API int ZEND_FASTCALL shift_left_function(zval *result, zval *op1, zval *op { zend_long op1_lval, op2_lval; - convert_op1_op2_long(op1, op1_lval, op2, op2_lval, result, ZEND_SL, shift_left_function); + if (ZEND_USES_STRICT_OPERATORS()) { + if (Z_TYPE_P(op1) != IS_LONG) { + zend_throw_error_unsupported_operand("Unsupported operand type %s for bit shift left", op1); + return FAILURE; + } + if (Z_TYPE_P(op2) != IS_LONG) { + zend_throw_error_unsupported_operand("Unsupported operand type %s for bit shift left", op2); + return FAILURE; + } + + op1_lval = Z_LVAL_P(op1); + op2_lval = Z_LVAL_P(op2); + } else { + convert_op1_op2_long(op1, op1_lval, op2, op2_lval, result, ZEND_SL, shift_left_function); + } /* prevent wrapping quirkiness on some processors where << 64 + x == << x */ if (UNEXPECTED((zend_ulong)op2_lval >= SIZEOF_ZEND_LONG * 8)) { @@ -1770,7 +1938,21 @@ ZEND_API int ZEND_FASTCALL shift_right_function(zval *result, zval *op1, zval *o { zend_long op1_lval, op2_lval; - convert_op1_op2_long(op1, op1_lval, op2, op2_lval, result, ZEND_SR, shift_right_function); + if (ZEND_USES_STRICT_OPERATORS()) { + if (Z_TYPE_P(op1) != IS_LONG) { + zend_throw_error_unsupported_operand("Unsupported operand type %s for bit shift right", op1); + return FAILURE; + } + if (Z_TYPE_P(op2) != IS_LONG) { + zend_throw_error_unsupported_operand("Unsupported operand type %s for bit shift right", op2); + return FAILURE; + } + + op1_lval = Z_LVAL_P(op1); + op2_lval = Z_LVAL_P(op2); + } else { + convert_op1_op2_long(op1, op1_lval, op2, op2_lval, result, ZEND_SR, shift_right_function); + } /* prevent wrapping quirkiness on some processors where >> 64 + x == >> x */ if (UNEXPECTED((zend_ulong)op2_lval >= SIZEOF_ZEND_LONG * 8)) { @@ -1807,9 +1989,24 @@ ZEND_API int ZEND_FASTCALL concat_function(zval *result, zval *op1, zval *op2) / zval *orig_op1 = op1; zval op1_copy, op2_copy; + zend_class_entry *object_exception_ce = NULL; + ZVAL_UNDEF(&op1_copy); ZVAL_UNDEF(&op2_copy); + if (ZEND_USES_STRICT_OPERATORS()) { + if (UNEXPECTED(Z_TYPE_P(op1) <= IS_TRUE || Z_TYPE_P(op1) == IS_ARRAY || Z_TYPE_P(op1) == IS_RESOURCE)) { + zend_throw_error_unsupported_operand("Unsupported operand type %s for concatenation", op1); + return FAILURE; + } + if (UNEXPECTED(Z_TYPE_P(op2) <= IS_TRUE || Z_TYPE_P(op2) == IS_ARRAY || Z_TYPE_P(op2) == IS_RESOURCE)) { + zend_throw_error_unsupported_operand("Unsupported operand type %s for concatenation", op2); + return FAILURE; + } + + object_exception_ce = zend_ce_type_error; + } + do { if (UNEXPECTED(Z_TYPE_P(op1) != IS_STRING)) { if (Z_ISREF_P(op1)) { @@ -1817,7 +2014,7 @@ ZEND_API int ZEND_FASTCALL concat_function(zval *result, zval *op1, zval *op2) / if (Z_TYPE_P(op1) == IS_STRING) break; } ZEND_TRY_BINARY_OBJECT_OPERATION(ZEND_CONCAT, concat_function); - ZVAL_STR(&op1_copy, zval_get_string_func(op1)); + ZVAL_STR(&op1_copy, __zval_get_string_func(op1, 0, object_exception_ce)); if (UNEXPECTED(EG(exception))) { zval_ptr_dtor_str(&op1_copy); if (orig_op1 != result) { @@ -1840,7 +2037,7 @@ ZEND_API int ZEND_FASTCALL concat_function(zval *result, zval *op1, zval *op2) / if (Z_TYPE_P(op2) == IS_STRING) break; } ZEND_TRY_BINARY_OP2_OBJECT_OPERATION(ZEND_CONCAT); - ZVAL_STR(&op2_copy, zval_get_string_func(op2)); + ZVAL_STR(&op2_copy, __zval_get_string_func(op2, 0, object_exception_ce)); if (UNEXPECTED(EG(exception))) { zval_ptr_dtor_str(&op1_copy); zval_ptr_dtor_str(&op2_copy); @@ -2204,6 +2401,169 @@ ZEND_API int ZEND_FASTCALL compare_function(zval *result, zval *op1, zval *op2) } /* }}} */ +static zend_always_inline int strict_scalar_compare_function(zval *result, zval *op1, zval *op2) /* {{{ */ +{ + switch (TYPE_PAIR(Z_TYPE_P(op1), Z_TYPE_P(op2))) { + case TYPE_PAIR(IS_LONG, IS_LONG): + ZVAL_LONG(result, Z_LVAL_P(op1)>Z_LVAL_P(op2)?1:(Z_LVAL_P(op1)= IS_ARRAY) { + zend_throw_error_unsupported_operand("Unsupported operand type %s for comparison", op1); + } else if (Z_TYPE_P(op2) <= IS_NULL || Z_TYPE_P(op2) >= IS_ARRAY) { + zend_throw_error_unsupported_operand("Unsupported operand type %s for comparison", op2); + } else { + zend_throw_error_type_mismatch("Operand type mismatch %s and %s for comparison", op1, op2); + } + + if (result != op1) { + ZVAL_UNDEF(result); + } + return FAILURE; + } + + return SUCCESS; +} +/* }}} */ + + static int hash_zval_identical_function(zval *z1, zval *z2) /* {{{ */ { /* is_identical_function() returns 1 in case of identity and 0 in case @@ -2262,9 +2622,20 @@ ZEND_API int ZEND_FASTCALL is_not_identical_function(zval *result, zval *op1, zv ZEND_API int ZEND_FASTCALL is_equal_function(zval *result, zval *op1, zval *op2) /* {{{ */ { - if (compare_function(result, op1, op2) == FAILURE) { - return FAILURE; + if (!ZEND_USES_STRICT_OPERATORS()) { + if (UNEXPECTED(compare_function(result, op1, op2) == FAILURE)) { + return FAILURE; + } + } else { + if (UNEXPECTED(strict_equals_function(result, op1, op2) == FAILURE)) { + zend_throw_error_type_mismatch("Operand type mismatch %s and %s for comparison", op1, op2); + if (result != op1) { + ZVAL_UNDEF(result); + } + return FAILURE; + } } + ZVAL_BOOL(result, (Z_LVAL_P(result) == 0)); return SUCCESS; } @@ -2272,17 +2643,31 @@ ZEND_API int ZEND_FASTCALL is_equal_function(zval *result, zval *op1, zval *op2) ZEND_API int ZEND_FASTCALL is_not_equal_function(zval *result, zval *op1, zval *op2) /* {{{ */ { - if (compare_function(result, op1, op2) == FAILURE) { + if (!ZEND_USES_STRICT_OPERATORS()) { + if (EXPECTED(compare_function(result, op1, op2) == SUCCESS)) { + ZVAL_BOOL(result, (Z_LVAL_P(result) != 0)); + return SUCCESS; + } else { + return FAILURE; + } + } + + if (UNEXPECTED(strict_equals_function(result, op1, op2) == FAILURE)) { + zend_throw_error_type_mismatch("Operand type mismatch %s and %s for comparison", op1, op2); + if (result != op1) { + ZVAL_UNDEF(result); + } return FAILURE; } - ZVAL_BOOL(result, (Z_LVAL_P(result) != 0)); + + ZVAL_BOOL(result, (Z_TYPE_P(result) == IS_FALSE)); return SUCCESS; } /* }}} */ ZEND_API int ZEND_FASTCALL is_smaller_function(zval *result, zval *op1, zval *op2) /* {{{ */ { - if (compare_function(result, op1, op2) == FAILURE) { + if (operator_compare_function(result, op1, op2) == FAILURE) { return FAILURE; } ZVAL_BOOL(result, (Z_LVAL_P(result) < 0)); @@ -2292,7 +2677,7 @@ ZEND_API int ZEND_FASTCALL is_smaller_function(zval *result, zval *op1, zval *op ZEND_API int ZEND_FASTCALL is_smaller_or_equal_function(zval *result, zval *op1, zval *op2) /* {{{ */ { - if (compare_function(result, op1, op2) == FAILURE) { + if (operator_compare_function(result, op1, op2) == FAILURE) { return FAILURE; } ZVAL_BOOL(result, (Z_LVAL_P(result) <= 0)); @@ -2300,6 +2685,26 @@ ZEND_API int ZEND_FASTCALL is_smaller_or_equal_function(zval *result, zval *op1, } /* }}} */ +ZEND_API int ZEND_FASTCALL case_equal_function(zval *result, zval *op1, zval *op2) /* {{{ */ +{ + if (!ZEND_USES_STRICT_OPERATORS()) { + if (UNEXPECTED(compare_function(result, op1, op2) == FAILURE)) { + return FAILURE; + } + } else { + if (UNEXPECTED(strict_equals_function(result, op1, op2) == FAILURE)) { + if (result != op1) { + ZVAL_UNDEF(result); + } + return FAILURE; + } + } + + ZVAL_BOOL(result, (Z_LVAL_P(result) == 0)); + return SUCCESS; +} +/* }}} */ + static zend_bool ZEND_FASTCALL instanceof_interface_only(const zend_class_entry *instance_ce, const zend_class_entry *ce) /* {{{ */ { uint32_t i; @@ -2461,7 +2866,38 @@ static void ZEND_FASTCALL increment_string(zval *str) /* {{{ */ } /* }}} */ -ZEND_API int ZEND_FASTCALL increment_function(zval *op1) /* {{{ */ +static zend_always_inline int increment_object(zval *op1) /* {{{ */ +{ + if (Z_OBJ_HANDLER_P(op1, get) + && Z_OBJ_HANDLER_P(op1, set)) { + /* proxy object */ + zval rv; + zval *val; + + val = Z_OBJ_HANDLER_P(op1, get)(op1, &rv); + Z_TRY_ADDREF_P(val); + increment_function(val); + Z_OBJ_HANDLER_P(op1, set)(op1, val); + zval_ptr_dtor(val); + + return SUCCESS; + } + + if (Z_OBJ_HANDLER_P(op1, do_operation)) { + zval op2; + int res; + + ZVAL_LONG(&op2, 1); + res = Z_OBJ_HANDLER_P(op1, do_operation)(ZEND_ADD, op1, op1, &op2); + + return res; + } + + return FAILURE; +} +/* }}} */ + +static zend_always_inline int standard_increment_function(zval *op1) /* {{{ */ { try_again: switch (Z_TYPE_P(op1)) { @@ -2501,27 +2937,33 @@ ZEND_API int ZEND_FASTCALL increment_function(zval *op1) /* {{{ */ } break; case IS_OBJECT: - if (Z_OBJ_HANDLER_P(op1, get) - && Z_OBJ_HANDLER_P(op1, set)) { - /* proxy object */ - zval rv; - zval *val; - - val = Z_OBJ_HANDLER_P(op1, get)(op1, &rv); - Z_TRY_ADDREF_P(val); - increment_function(val); - Z_OBJ_HANDLER_P(op1, set)(op1, val); - zval_ptr_dtor(val); - } else if (Z_OBJ_HANDLER_P(op1, do_operation)) { - zval op2; - int res; - - ZVAL_LONG(&op2, 1); - res = Z_OBJ_HANDLER_P(op1, do_operation)(ZEND_ADD, op1, op1, &op2); - - return res; - } + return increment_object(op1); + case IS_REFERENCE: + op1 = Z_REFVAL_P(op1); + goto try_again; + default: return FAILURE; + } + return SUCCESS; +} +/* }}} */ + +static zend_always_inline int strict_increment_function(zval *op1) /* {{{ */ +{ +try_again: + switch (Z_TYPE_P(op1)) { + case IS_LONG: + fast_long_increment_function(op1); + break; + case IS_DOUBLE: + Z_DVAL_P(op1) = Z_DVAL_P(op1) + 1; + break; + case IS_STRING: + /* Perl style string increment */ + increment_string(op1); + break; + case IS_OBJECT: + return increment_object(op1); case IS_REFERENCE: op1 = Z_REFVAL_P(op1); goto try_again; @@ -2532,7 +2974,51 @@ ZEND_API int ZEND_FASTCALL increment_function(zval *op1) /* {{{ */ } /* }}} */ -ZEND_API int ZEND_FASTCALL decrement_function(zval *op1) /* {{{ */ +ZEND_API int ZEND_FASTCALL increment_function(zval *op1) /* {{{ */ +{ + if (ZEND_USES_STRICT_OPERATORS()) { + if (UNEXPECTED(strict_increment_function(op1) == FAILURE)) { + zend_throw_error_unsupported_operand("Unsupported operand type %s for increment operation", op1); + return FAILURE; + } + return SUCCESS; + } else { + return standard_increment_function(op1); + } +} +/* }}} */ + +static zend_always_inline int decrement_object(zval *op1) /* {{{ */ +{ + if (Z_OBJ_HANDLER_P(op1, get) + && Z_OBJ_HANDLER_P(op1, set)) { + /* proxy object */ + zval rv; + zval *val; + + val = Z_OBJ_HANDLER_P(op1, get)(op1, &rv); + Z_TRY_ADDREF_P(val); + decrement_function(val); + Z_OBJ_HANDLER_P(op1, set)(op1, val); + zval_ptr_dtor(val); + return SUCCESS; + } + + if (Z_OBJ_HANDLER_P(op1, do_operation)) { + zval op2; + int res; + + ZVAL_LONG(&op2, 1); + res = Z_OBJ_HANDLER_P(op1, do_operation)(ZEND_SUB, op1, op1, &op2); + + return res; + } + + return FAILURE; +} +/* }}} */ + +static zend_always_inline int standard_decrement_function(zval *op1) /* {{{ */ { zend_long lval; double dval; @@ -2568,27 +3054,30 @@ ZEND_API int ZEND_FASTCALL decrement_function(zval *op1) /* {{{ */ } break; case IS_OBJECT: - if (Z_OBJ_HANDLER_P(op1, get) - && Z_OBJ_HANDLER_P(op1, set)) { - /* proxy object */ - zval rv; - zval *val; - - val = Z_OBJ_HANDLER_P(op1, get)(op1, &rv); - Z_TRY_ADDREF_P(val); - decrement_function(val); - Z_OBJ_HANDLER_P(op1, set)(op1, val); - zval_ptr_dtor(val); - } else if (Z_OBJ_HANDLER_P(op1, do_operation)) { - zval op2; - int res; - - ZVAL_LONG(&op2, 1); - res = Z_OBJ_HANDLER_P(op1, do_operation)(ZEND_SUB, op1, op1, &op2); - - return res; - } + return decrement_object(op1); + case IS_REFERENCE: + op1 = Z_REFVAL_P(op1); + goto try_again; + default: return FAILURE; + } + + return SUCCESS; +} +/* }}} */ + +static zend_always_inline int strict_decrement_function(zval *op1) /* {{{ */ +{ +try_again: + switch (Z_TYPE_P(op1)) { + case IS_LONG: + fast_long_decrement_function(op1); + break; + case IS_DOUBLE: + Z_DVAL_P(op1) = Z_DVAL_P(op1) - 1; + break; + case IS_OBJECT: + return decrement_object(op1); case IS_REFERENCE: op1 = Z_REFVAL_P(op1); goto try_again; @@ -2600,6 +3089,20 @@ ZEND_API int ZEND_FASTCALL decrement_function(zval *op1) /* {{{ */ } /* }}} */ +ZEND_API int ZEND_FASTCALL decrement_function(zval *op1) /* {{{ */ +{ + if (ZEND_USES_STRICT_OPERATORS()) { + if (UNEXPECTED(strict_decrement_function(op1) == FAILURE)) { + zend_throw_error_unsupported_operand("Unsupported operand type %s for decrement operation", op1); + return FAILURE; + } + return SUCCESS; + } else { + return standard_decrement_function(op1); + } +} +/* }}} */ + ZEND_API int ZEND_FASTCALL zend_is_true(zval *op) /* {{{ */ { return i_zend_is_true(op); @@ -2869,6 +3372,16 @@ ZEND_API int ZEND_FASTCALL zend_binary_zval_strncasecmp(zval *s1, zval *s2, zval } /* }}} */ +ZEND_API int ZEND_FASTCALL zend_equal_string(zend_string *s1, zend_string *s2) /* {{{ */ +{ + if (ZEND_USES_STRICT_OPERATORS()) { + return zend_string_equal_content(s1, s2); + } else { + return zendi_smart_streq(s1, s2); + } +} +/* }}} */ + ZEND_API int ZEND_FASTCALL zendi_smart_streq(zend_string *s1, zend_string *s2) /* {{{ */ { int ret1, ret2; @@ -2981,7 +3494,8 @@ static int hash_zval_compare_function(zval *z1, zval *z2) /* {{{ */ ZEND_API int ZEND_FASTCALL zend_compare_symbol_tables(HashTable *ht1, HashTable *ht2) /* {{{ */ { - return ht1 == ht2 ? 0 : zend_hash_compare(ht1, ht2, (compare_func_t) hash_zval_compare_function, 0); + return ht1 == ht2 ? 0 : zend_hash_compare(ht1, ht2, ZEND_USES_STRICT_OPERATORS() ? + (compare_func_t)hash_zval_strict_equals_function : (compare_func_t)hash_zval_compare_function, 0); } /* }}} */ diff --git a/Zend/zend_operators.h b/Zend/zend_operators.h index 69f91c0225b9..db001f38770b 100644 --- a/Zend/zend_operators.h +++ b/Zend/zend_operators.h @@ -63,6 +63,8 @@ ZEND_API int ZEND_FASTCALL is_not_equal_function(zval *result, zval *op1, zval * ZEND_API int ZEND_FASTCALL is_smaller_function(zval *result, zval *op1, zval *op2); ZEND_API int ZEND_FASTCALL is_smaller_or_equal_function(zval *result, zval *op1, zval *op2); +ZEND_API int ZEND_FASTCALL case_equal_function(zval *result, zval *op1, zval *op2); + ZEND_API zend_bool ZEND_FASTCALL instanceof_function_ex(const zend_class_entry *instance_ce, const zend_class_entry *ce, zend_bool interfaces_only); ZEND_API zend_bool ZEND_FASTCALL instanceof_function(const zend_class_entry *instance_ce, const zend_class_entry *ce); @@ -389,6 +391,7 @@ static zend_always_inline int i_zend_is_true(zval *op) } ZEND_API int ZEND_FASTCALL compare_function(zval *result, zval *op1, zval *op2); +ZEND_API int ZEND_FASTCALL operator_compare_function(zval *result, zval *op1, zval *op2); ZEND_API int ZEND_FASTCALL numeric_compare_function(zval *op1, zval *op2); ZEND_API int ZEND_FASTCALL string_compare_function_ex(zval *op1, zval *op2, zend_bool case_insensitive); @@ -415,6 +418,7 @@ ZEND_API int ZEND_FASTCALL zend_binary_strncasecmp(const char *s1, size_t len1, ZEND_API int ZEND_FASTCALL zend_binary_strcasecmp_l(const char *s1, size_t len1, const char *s2, size_t len2); ZEND_API int ZEND_FASTCALL zend_binary_strncasecmp_l(const char *s1, size_t len1, const char *s2, size_t len2, size_t length); +ZEND_API int ZEND_FASTCALL zend_equal_string(zend_string *s1, zend_string *s2); ZEND_API int ZEND_FASTCALL zendi_smart_streq(zend_string *s1, zend_string *s2); ZEND_API int ZEND_FASTCALL zendi_smart_strcmp(zend_string *s1, zend_string *s2); ZEND_API int ZEND_FASTCALL zend_compare_symbol_tables(HashTable *ht1, HashTable *ht2); @@ -830,7 +834,7 @@ static zend_always_inline int zend_fast_equal_strings(zend_string *s1, zend_stri } else if (ZSTR_VAL(s1)[0] > '9' || ZSTR_VAL(s2)[0] > '9') { return zend_string_equal_content(s1, s2); } else { - return zendi_smart_streq(s1, s2); + return zend_equal_string(s1, s2); } } diff --git a/Zend/zend_vm_def.h b/Zend/zend_vm_def.h index 2d3eba044181..f1229c7e6214 100644 --- a/Zend/zend_vm_def.h +++ b/Zend/zend_vm_def.h @@ -456,13 +456,13 @@ ZEND_VM_C_LABEL(is_equal_double): if (OP2_TYPE == IS_CV && UNEXPECTED(Z_TYPE_P(op2) == IS_UNDEF)) { op2 = ZVAL_UNDEFINED_OP2(); } - compare_function(EX_VAR(opline->result.var), op1, op2); + is_equal_function(EX_VAR(opline->result.var), op1, op2); FREE_OP1(); FREE_OP2(); if (UNEXPECTED(EG(exception))) { HANDLE_EXCEPTION(); } - if (Z_LVAL_P(EX_VAR(opline->result.var)) == 0) { + if (Z_TYPE_P(EX_VAR(opline->result.var)) == IS_TRUE) { ZEND_VM_C_LABEL(is_equal_true): ZEND_VM_SMART_BRANCH_TRUE(); ZVAL_TRUE(EX_VAR(opline->result.var)); @@ -534,13 +534,13 @@ ZEND_VM_C_LABEL(is_not_equal_double): if (OP2_TYPE == IS_CV && UNEXPECTED(Z_TYPE_P(op2) == IS_UNDEF)) { op2 = ZVAL_UNDEFINED_OP2(); } - compare_function(EX_VAR(opline->result.var), op1, op2); + is_equal_function(EX_VAR(opline->result.var), op1, op2); FREE_OP1(); FREE_OP2(); if (UNEXPECTED(EG(exception))) { HANDLE_EXCEPTION(); } - if (Z_LVAL_P(EX_VAR(opline->result.var)) != 0) { + if (Z_TYPE_P(EX_VAR(opline->result.var)) == IS_FALSE) { ZEND_VM_C_LABEL(is_not_equal_true): ZEND_VM_SMART_BRANCH_TRUE(); ZVAL_TRUE(EX_VAR(opline->result.var)); @@ -597,7 +597,7 @@ ZEND_VM_C_LABEL(is_smaller_double): if (OP2_TYPE == IS_CV && UNEXPECTED(Z_TYPE_INFO_P(op2) == IS_UNDEF)) { op2 = ZVAL_UNDEFINED_OP2(); } - compare_function(EX_VAR(opline->result.var), op1, op2); + operator_compare_function(EX_VAR(opline->result.var), op1, op2); FREE_OP1(); FREE_OP2(); if (UNEXPECTED(EG(exception))) { @@ -660,7 +660,7 @@ ZEND_VM_C_LABEL(is_smaller_or_equal_double): if (OP2_TYPE == IS_CV && UNEXPECTED(Z_TYPE_INFO_P(op2) == IS_UNDEF)) { op2 = ZVAL_UNDEFINED_OP2(); } - compare_function(EX_VAR(opline->result.var), op1, op2); + operator_compare_function(EX_VAR(opline->result.var), op1, op2); FREE_OP1(); FREE_OP2(); if (UNEXPECTED(EG(exception))) { @@ -688,7 +688,7 @@ ZEND_VM_COLD_CONSTCONST_HANDLER(170, ZEND_SPACESHIP, CONST|TMPVAR|CV, CONST|TMPV SAVE_OPLINE(); op1 = GET_OP1_ZVAL_PTR(BP_VAR_R); op2 = GET_OP2_ZVAL_PTR(BP_VAR_R); - compare_function(EX_VAR(opline->result.var), op1, op2); + operator_compare_function(EX_VAR(opline->result.var), op1, op2); FREE_OP1(); FREE_OP2(); ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION(); @@ -5106,7 +5106,7 @@ ZEND_VM_COLD_CONST_HANDLER(52, ZEND_BOOL, CONST|TMPVAR|CV, ANY) ZEND_VM_NEXT_OPCODE(); } -ZEND_VM_HANDLER(48, ZEND_CASE, TMPVAR, CONST|TMPVAR|CV) +ZEND_VM_HANDLER(48, ZEND_CASE, CONST|TMPVAR|CV, CONST|TMPVAR|CV) { USE_OPLINE zend_free_op free_op1, free_op2; @@ -5145,6 +5145,9 @@ ZEND_VM_C_LABEL(case_double): } else if (EXPECTED(Z_TYPE_P(op1) == IS_STRING)) { if (EXPECTED(Z_TYPE_P(op2) == IS_STRING)) { int result = zend_fast_equal_strings(Z_STR_P(op1), Z_STR_P(op2)); + if (OP1_TYPE == IS_CV || OP1_TYPE == IS_CONST) { + FREE_OP1(); + } FREE_OP2(); if (result) { ZEND_VM_C_GOTO(case_true); @@ -5160,12 +5163,15 @@ ZEND_VM_C_LABEL(case_double): if (OP2_TYPE == IS_CV && UNEXPECTED(Z_TYPE_P(op2) == IS_UNDEF)) { op2 = ZVAL_UNDEFINED_OP2(); } - compare_function(EX_VAR(opline->result.var), op1, op2); + case_equal_function(EX_VAR(opline->result.var), op1, op2); + if (OP1_TYPE == IS_CV || OP1_TYPE == IS_CONST) { + FREE_OP1(); + } FREE_OP2(); if (UNEXPECTED(EG(exception))) { HANDLE_EXCEPTION(); } - if (Z_LVAL_P(EX_VAR(opline->result.var)) == 0) { + if (Z_TYPE_P(EX_VAR(opline->result.var)) == IS_TRUE) { ZEND_VM_C_LABEL(case_true): ZEND_VM_SMART_BRANCH_TRUE(); ZVAL_TRUE(EX_VAR(opline->result.var)); diff --git a/Zend/zend_vm_execute.h b/Zend/zend_vm_execute.h index ffb1a2768e80..ed08ebf8816f 100644 --- a/Zend/zend_vm_execute.h +++ b/Zend/zend_vm_execute.h @@ -4657,13 +4657,13 @@ static ZEND_VM_COLD ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_IS_EQUAL_SPEC_CON if (IS_CONST == IS_CV && UNEXPECTED(Z_TYPE_P(op2) == IS_UNDEF)) { op2 = ZVAL_UNDEFINED_OP2(); } - compare_function(EX_VAR(opline->result.var), op1, op2); + is_equal_function(EX_VAR(opline->result.var), op1, op2); if (UNEXPECTED(EG(exception))) { HANDLE_EXCEPTION(); } - if (Z_LVAL_P(EX_VAR(opline->result.var)) == 0) { + if (Z_TYPE_P(EX_VAR(opline->result.var)) == IS_TRUE) { is_equal_true: ZEND_VM_SMART_BRANCH_TRUE(); ZVAL_TRUE(EX_VAR(opline->result.var)); @@ -4735,13 +4735,13 @@ static ZEND_VM_COLD ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_IS_NOT_EQUAL_SPEC if (IS_CONST == IS_CV && UNEXPECTED(Z_TYPE_P(op2) == IS_UNDEF)) { op2 = ZVAL_UNDEFINED_OP2(); } - compare_function(EX_VAR(opline->result.var), op1, op2); + is_equal_function(EX_VAR(opline->result.var), op1, op2); if (UNEXPECTED(EG(exception))) { HANDLE_EXCEPTION(); } - if (Z_LVAL_P(EX_VAR(opline->result.var)) != 0) { + if (Z_TYPE_P(EX_VAR(opline->result.var)) == IS_FALSE) { is_not_equal_true: ZEND_VM_SMART_BRANCH_TRUE(); ZVAL_TRUE(EX_VAR(opline->result.var)); @@ -4798,7 +4798,7 @@ static ZEND_VM_COLD ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_IS_SMALLER_SPEC_C if (IS_CONST == IS_CV && UNEXPECTED(Z_TYPE_INFO_P(op2) == IS_UNDEF)) { op2 = ZVAL_UNDEFINED_OP2(); } - compare_function(EX_VAR(opline->result.var), op1, op2); + operator_compare_function(EX_VAR(opline->result.var), op1, op2); if (UNEXPECTED(EG(exception))) { @@ -4861,7 +4861,7 @@ static ZEND_VM_COLD ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_IS_SMALLER_OR_EQU if (IS_CONST == IS_CV && UNEXPECTED(Z_TYPE_INFO_P(op2) == IS_UNDEF)) { op2 = ZVAL_UNDEFINED_OP2(); } - compare_function(EX_VAR(opline->result.var), op1, op2); + operator_compare_function(EX_VAR(opline->result.var), op1, op2); if (UNEXPECTED(EG(exception))) { @@ -4889,7 +4889,7 @@ static ZEND_VM_COLD ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_SPACESHIP_SPEC_CO SAVE_OPLINE(); op1 = RT_CONSTANT(opline, opline->op1); op2 = RT_CONSTANT(opline, opline->op2); - compare_function(EX_VAR(opline->result.var), op1, op2); + operator_compare_function(EX_VAR(opline->result.var), op1, op2); ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION(); @@ -5781,6 +5781,84 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_INIT_USER_CALL_SPEC_CONST_CONS ZEND_VM_NEXT_OPCODE(); } +static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_CASE_SPEC_CONST_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS) +{ + USE_OPLINE + + zval *op1, *op2; + double d1, d2; + + op1 = RT_CONSTANT(opline, opline->op1); + op2 = RT_CONSTANT(opline, opline->op2); + if (EXPECTED(Z_TYPE_P(op1) == IS_LONG)) { + if (EXPECTED(Z_TYPE_P(op2) == IS_LONG)) { + if (EXPECTED(Z_LVAL_P(op1) == Z_LVAL_P(op2))) { + goto case_true; + } else { + goto case_false; + } + } else if (EXPECTED(Z_TYPE_P(op2) == IS_DOUBLE)) { + d1 = (double)Z_LVAL_P(op1); + d2 = Z_DVAL_P(op2); + goto case_double; + } + } else if (EXPECTED(Z_TYPE_P(op1) == IS_DOUBLE)) { + if (EXPECTED(Z_TYPE_P(op2) == IS_DOUBLE)) { + d1 = Z_DVAL_P(op1); + d2 = Z_DVAL_P(op2); +case_double: + if (d1 == d2) { + goto case_true; + } else { + goto case_false; + } + } else if (EXPECTED(Z_TYPE_P(op2) == IS_LONG)) { + d1 = Z_DVAL_P(op1); + d2 = (double)Z_LVAL_P(op2); + goto case_double; + } + } else if (EXPECTED(Z_TYPE_P(op1) == IS_STRING)) { + if (EXPECTED(Z_TYPE_P(op2) == IS_STRING)) { + int result = zend_fast_equal_strings(Z_STR_P(op1), Z_STR_P(op2)); + if (IS_CONST == IS_CV || IS_CONST == IS_CONST) { + + } + + if (result) { + goto case_true; + } else { + goto case_false; + } + } + } + SAVE_OPLINE(); + if (IS_CONST == IS_CV && UNEXPECTED(Z_TYPE_P(op1) == IS_UNDEF)) { + op1 = ZVAL_UNDEFINED_OP1(); + } + if (IS_CONST == IS_CV && UNEXPECTED(Z_TYPE_P(op2) == IS_UNDEF)) { + op2 = ZVAL_UNDEFINED_OP2(); + } + case_equal_function(EX_VAR(opline->result.var), op1, op2); + if (IS_CONST == IS_CV || IS_CONST == IS_CONST) { + + } + + if (UNEXPECTED(EG(exception))) { + HANDLE_EXCEPTION(); + } + if (Z_TYPE_P(EX_VAR(opline->result.var)) == IS_TRUE) { +case_true: + ZEND_VM_SMART_BRANCH_TRUE(); + ZVAL_TRUE(EX_VAR(opline->result.var)); + ZEND_VM_NEXT_OPCODE(); + } else { +case_false: + ZEND_VM_SMART_BRANCH_FALSE(); + ZVAL_FALSE(EX_VAR(opline->result.var)); + ZEND_VM_NEXT_OPCODE(); + } +} + static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_CLASS_CONSTANT_SPEC_CONST_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS) { zend_class_entry *ce, *scope; @@ -7001,7 +7079,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_IS_SMALLER_SPEC_CONST_TMPVAR_H if ((IS_TMP_VAR|IS_VAR) == IS_CV && UNEXPECTED(Z_TYPE_INFO_P(op2) == IS_UNDEF)) { op2 = ZVAL_UNDEFINED_OP2(); } - compare_function(EX_VAR(opline->result.var), op1, op2); + operator_compare_function(EX_VAR(opline->result.var), op1, op2); zval_ptr_dtor_nogc(free_op2); if (UNEXPECTED(EG(exception))) { @@ -7064,7 +7142,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_IS_SMALLER_OR_EQUAL_SPEC_CONST if ((IS_TMP_VAR|IS_VAR) == IS_CV && UNEXPECTED(Z_TYPE_INFO_P(op2) == IS_UNDEF)) { op2 = ZVAL_UNDEFINED_OP2(); } - compare_function(EX_VAR(opline->result.var), op1, op2); + operator_compare_function(EX_VAR(opline->result.var), op1, op2); zval_ptr_dtor_nogc(free_op2); if (UNEXPECTED(EG(exception))) { @@ -7092,7 +7170,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_SPACESHIP_SPEC_CONST_TMPVAR_HA SAVE_OPLINE(); op1 = RT_CONSTANT(opline, opline->op1); op2 = _get_zval_ptr_var(opline->op2.var, &free_op2 EXECUTE_DATA_CC); - compare_function(EX_VAR(opline->result.var), op1, op2); + operator_compare_function(EX_VAR(opline->result.var), op1, op2); zval_ptr_dtor_nogc(free_op2); ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION(); @@ -7889,6 +7967,84 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_INIT_USER_CALL_SPEC_CONST_TMPV ZEND_VM_NEXT_OPCODE(); } +static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_CASE_SPEC_CONST_TMPVAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS) +{ + USE_OPLINE + zend_free_op free_op2; + zval *op1, *op2; + double d1, d2; + + op1 = RT_CONSTANT(opline, opline->op1); + op2 = _get_zval_ptr_var(opline->op2.var, &free_op2 EXECUTE_DATA_CC); + if (EXPECTED(Z_TYPE_P(op1) == IS_LONG)) { + if (EXPECTED(Z_TYPE_P(op2) == IS_LONG)) { + if (EXPECTED(Z_LVAL_P(op1) == Z_LVAL_P(op2))) { + goto case_true; + } else { + goto case_false; + } + } else if (EXPECTED(Z_TYPE_P(op2) == IS_DOUBLE)) { + d1 = (double)Z_LVAL_P(op1); + d2 = Z_DVAL_P(op2); + goto case_double; + } + } else if (EXPECTED(Z_TYPE_P(op1) == IS_DOUBLE)) { + if (EXPECTED(Z_TYPE_P(op2) == IS_DOUBLE)) { + d1 = Z_DVAL_P(op1); + d2 = Z_DVAL_P(op2); +case_double: + if (d1 == d2) { + goto case_true; + } else { + goto case_false; + } + } else if (EXPECTED(Z_TYPE_P(op2) == IS_LONG)) { + d1 = Z_DVAL_P(op1); + d2 = (double)Z_LVAL_P(op2); + goto case_double; + } + } else if (EXPECTED(Z_TYPE_P(op1) == IS_STRING)) { + if (EXPECTED(Z_TYPE_P(op2) == IS_STRING)) { + int result = zend_fast_equal_strings(Z_STR_P(op1), Z_STR_P(op2)); + if (IS_CONST == IS_CV || IS_CONST == IS_CONST) { + + } + zval_ptr_dtor_nogc(free_op2); + if (result) { + goto case_true; + } else { + goto case_false; + } + } + } + SAVE_OPLINE(); + if (IS_CONST == IS_CV && UNEXPECTED(Z_TYPE_P(op1) == IS_UNDEF)) { + op1 = ZVAL_UNDEFINED_OP1(); + } + if ((IS_TMP_VAR|IS_VAR) == IS_CV && UNEXPECTED(Z_TYPE_P(op2) == IS_UNDEF)) { + op2 = ZVAL_UNDEFINED_OP2(); + } + case_equal_function(EX_VAR(opline->result.var), op1, op2); + if (IS_CONST == IS_CV || IS_CONST == IS_CONST) { + + } + zval_ptr_dtor_nogc(free_op2); + if (UNEXPECTED(EG(exception))) { + HANDLE_EXCEPTION(); + } + if (Z_TYPE_P(EX_VAR(opline->result.var)) == IS_TRUE) { +case_true: + ZEND_VM_SMART_BRANCH_TRUE(); + ZVAL_TRUE(EX_VAR(opline->result.var)); + ZEND_VM_NEXT_OPCODE(); + } else { +case_false: + ZEND_VM_SMART_BRANCH_FALSE(); + ZVAL_FALSE(EX_VAR(opline->result.var)); + ZEND_VM_NEXT_OPCODE(); + } +} + static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ADD_ARRAY_ELEMENT_SPEC_CONST_TMPVAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS) { USE_OPLINE @@ -9701,7 +9857,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_IS_SMALLER_SPEC_CONST_CV_HANDL if (IS_CV == IS_CV && UNEXPECTED(Z_TYPE_INFO_P(op2) == IS_UNDEF)) { op2 = ZVAL_UNDEFINED_OP2(); } - compare_function(EX_VAR(opline->result.var), op1, op2); + operator_compare_function(EX_VAR(opline->result.var), op1, op2); if (UNEXPECTED(EG(exception))) { @@ -9764,7 +9920,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_IS_SMALLER_OR_EQUAL_SPEC_CONST if (IS_CV == IS_CV && UNEXPECTED(Z_TYPE_INFO_P(op2) == IS_UNDEF)) { op2 = ZVAL_UNDEFINED_OP2(); } - compare_function(EX_VAR(opline->result.var), op1, op2); + operator_compare_function(EX_VAR(opline->result.var), op1, op2); if (UNEXPECTED(EG(exception))) { @@ -9792,7 +9948,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_SPACESHIP_SPEC_CONST_CV_HANDLE SAVE_OPLINE(); op1 = RT_CONSTANT(opline, opline->op1); op2 = _get_zval_ptr_cv_BP_VAR_R(opline->op2.var EXECUTE_DATA_CC); - compare_function(EX_VAR(opline->result.var), op1, op2); + operator_compare_function(EX_VAR(opline->result.var), op1, op2); ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION(); @@ -10588,6 +10744,84 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_INIT_USER_CALL_SPEC_CONST_CV_H ZEND_VM_NEXT_OPCODE(); } +static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_CASE_SPEC_CONST_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS) +{ + USE_OPLINE + + zval *op1, *op2; + double d1, d2; + + op1 = RT_CONSTANT(opline, opline->op1); + op2 = EX_VAR(opline->op2.var); + if (EXPECTED(Z_TYPE_P(op1) == IS_LONG)) { + if (EXPECTED(Z_TYPE_P(op2) == IS_LONG)) { + if (EXPECTED(Z_LVAL_P(op1) == Z_LVAL_P(op2))) { + goto case_true; + } else { + goto case_false; + } + } else if (EXPECTED(Z_TYPE_P(op2) == IS_DOUBLE)) { + d1 = (double)Z_LVAL_P(op1); + d2 = Z_DVAL_P(op2); + goto case_double; + } + } else if (EXPECTED(Z_TYPE_P(op1) == IS_DOUBLE)) { + if (EXPECTED(Z_TYPE_P(op2) == IS_DOUBLE)) { + d1 = Z_DVAL_P(op1); + d2 = Z_DVAL_P(op2); +case_double: + if (d1 == d2) { + goto case_true; + } else { + goto case_false; + } + } else if (EXPECTED(Z_TYPE_P(op2) == IS_LONG)) { + d1 = Z_DVAL_P(op1); + d2 = (double)Z_LVAL_P(op2); + goto case_double; + } + } else if (EXPECTED(Z_TYPE_P(op1) == IS_STRING)) { + if (EXPECTED(Z_TYPE_P(op2) == IS_STRING)) { + int result = zend_fast_equal_strings(Z_STR_P(op1), Z_STR_P(op2)); + if (IS_CONST == IS_CV || IS_CONST == IS_CONST) { + + } + + if (result) { + goto case_true; + } else { + goto case_false; + } + } + } + SAVE_OPLINE(); + if (IS_CONST == IS_CV && UNEXPECTED(Z_TYPE_P(op1) == IS_UNDEF)) { + op1 = ZVAL_UNDEFINED_OP1(); + } + if (IS_CV == IS_CV && UNEXPECTED(Z_TYPE_P(op2) == IS_UNDEF)) { + op2 = ZVAL_UNDEFINED_OP2(); + } + case_equal_function(EX_VAR(opline->result.var), op1, op2); + if (IS_CONST == IS_CV || IS_CONST == IS_CONST) { + + } + + if (UNEXPECTED(EG(exception))) { + HANDLE_EXCEPTION(); + } + if (Z_TYPE_P(EX_VAR(opline->result.var)) == IS_TRUE) { +case_true: + ZEND_VM_SMART_BRANCH_TRUE(); + ZVAL_TRUE(EX_VAR(opline->result.var)); + ZEND_VM_NEXT_OPCODE(); + } else { +case_false: + ZEND_VM_SMART_BRANCH_FALSE(); + ZVAL_FALSE(EX_VAR(opline->result.var)); + ZEND_VM_NEXT_OPCODE(); + } +} + static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ADD_ARRAY_ELEMENT_SPEC_CONST_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS) { USE_OPLINE @@ -13221,13 +13455,13 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_IS_EQUAL_SPEC_TMPVAR_CONST_HAN if (IS_CONST == IS_CV && UNEXPECTED(Z_TYPE_P(op2) == IS_UNDEF)) { op2 = ZVAL_UNDEFINED_OP2(); } - compare_function(EX_VAR(opline->result.var), op1, op2); + is_equal_function(EX_VAR(opline->result.var), op1, op2); zval_ptr_dtor_nogc(free_op1); if (UNEXPECTED(EG(exception))) { HANDLE_EXCEPTION(); } - if (Z_LVAL_P(EX_VAR(opline->result.var)) == 0) { + if (Z_TYPE_P(EX_VAR(opline->result.var)) == IS_TRUE) { is_equal_true: ZEND_VM_SMART_BRANCH_TRUE(); ZVAL_TRUE(EX_VAR(opline->result.var)); @@ -13299,13 +13533,13 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_IS_NOT_EQUAL_SPEC_TMPVAR_CONST if (IS_CONST == IS_CV && UNEXPECTED(Z_TYPE_P(op2) == IS_UNDEF)) { op2 = ZVAL_UNDEFINED_OP2(); } - compare_function(EX_VAR(opline->result.var), op1, op2); + is_equal_function(EX_VAR(opline->result.var), op1, op2); zval_ptr_dtor_nogc(free_op1); if (UNEXPECTED(EG(exception))) { HANDLE_EXCEPTION(); } - if (Z_LVAL_P(EX_VAR(opline->result.var)) != 0) { + if (Z_TYPE_P(EX_VAR(opline->result.var)) == IS_FALSE) { is_not_equal_true: ZEND_VM_SMART_BRANCH_TRUE(); ZVAL_TRUE(EX_VAR(opline->result.var)); @@ -13362,7 +13596,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_IS_SMALLER_SPEC_TMPVAR_CONST_H if (IS_CONST == IS_CV && UNEXPECTED(Z_TYPE_INFO_P(op2) == IS_UNDEF)) { op2 = ZVAL_UNDEFINED_OP2(); } - compare_function(EX_VAR(opline->result.var), op1, op2); + operator_compare_function(EX_VAR(opline->result.var), op1, op2); zval_ptr_dtor_nogc(free_op1); if (UNEXPECTED(EG(exception))) { @@ -13425,7 +13659,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_IS_SMALLER_OR_EQUAL_SPEC_TMPVA if (IS_CONST == IS_CV && UNEXPECTED(Z_TYPE_INFO_P(op2) == IS_UNDEF)) { op2 = ZVAL_UNDEFINED_OP2(); } - compare_function(EX_VAR(opline->result.var), op1, op2); + operator_compare_function(EX_VAR(opline->result.var), op1, op2); zval_ptr_dtor_nogc(free_op1); if (UNEXPECTED(EG(exception))) { @@ -13453,7 +13687,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_SPACESHIP_SPEC_TMPVAR_CONST_HA SAVE_OPLINE(); op1 = _get_zval_ptr_var(opline->op1.var, &free_op1 EXECUTE_DATA_CC); op2 = RT_CONSTANT(opline, opline->op2); - compare_function(EX_VAR(opline->result.var), op1, op2); + operator_compare_function(EX_VAR(opline->result.var), op1, op2); zval_ptr_dtor_nogc(free_op1); ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION(); @@ -14130,6 +14364,9 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_CASE_SPEC_TMPVAR_CONST_HANDLER } else if (EXPECTED(Z_TYPE_P(op1) == IS_STRING)) { if (EXPECTED(Z_TYPE_P(op2) == IS_STRING)) { int result = zend_fast_equal_strings(Z_STR_P(op1), Z_STR_P(op2)); + if ((IS_TMP_VAR|IS_VAR) == IS_CV || (IS_TMP_VAR|IS_VAR) == IS_CONST) { + zval_ptr_dtor_nogc(free_op1); + } if (result) { goto case_true; @@ -14145,12 +14382,15 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_CASE_SPEC_TMPVAR_CONST_HANDLER if (IS_CONST == IS_CV && UNEXPECTED(Z_TYPE_P(op2) == IS_UNDEF)) { op2 = ZVAL_UNDEFINED_OP2(); } - compare_function(EX_VAR(opline->result.var), op1, op2); + case_equal_function(EX_VAR(opline->result.var), op1, op2); + if ((IS_TMP_VAR|IS_VAR) == IS_CV || (IS_TMP_VAR|IS_VAR) == IS_CONST) { + zval_ptr_dtor_nogc(free_op1); + } if (UNEXPECTED(EG(exception))) { HANDLE_EXCEPTION(); } - if (Z_LVAL_P(EX_VAR(opline->result.var)) == 0) { + if (Z_TYPE_P(EX_VAR(opline->result.var)) == IS_TRUE) { case_true: ZEND_VM_SMART_BRANCH_TRUE(); ZVAL_TRUE(EX_VAR(opline->result.var)); @@ -14863,13 +15103,13 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_IS_EQUAL_SPEC_TMPVAR_TMPVAR_HA if ((IS_TMP_VAR|IS_VAR) == IS_CV && UNEXPECTED(Z_TYPE_P(op2) == IS_UNDEF)) { op2 = ZVAL_UNDEFINED_OP2(); } - compare_function(EX_VAR(opline->result.var), op1, op2); + is_equal_function(EX_VAR(opline->result.var), op1, op2); zval_ptr_dtor_nogc(free_op1); zval_ptr_dtor_nogc(free_op2); if (UNEXPECTED(EG(exception))) { HANDLE_EXCEPTION(); } - if (Z_LVAL_P(EX_VAR(opline->result.var)) == 0) { + if (Z_TYPE_P(EX_VAR(opline->result.var)) == IS_TRUE) { is_equal_true: ZEND_VM_SMART_BRANCH_TRUE(); ZVAL_TRUE(EX_VAR(opline->result.var)); @@ -14941,13 +15181,13 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_IS_NOT_EQUAL_SPEC_TMPVAR_TMPVA if ((IS_TMP_VAR|IS_VAR) == IS_CV && UNEXPECTED(Z_TYPE_P(op2) == IS_UNDEF)) { op2 = ZVAL_UNDEFINED_OP2(); } - compare_function(EX_VAR(opline->result.var), op1, op2); + is_equal_function(EX_VAR(opline->result.var), op1, op2); zval_ptr_dtor_nogc(free_op1); zval_ptr_dtor_nogc(free_op2); if (UNEXPECTED(EG(exception))) { HANDLE_EXCEPTION(); } - if (Z_LVAL_P(EX_VAR(opline->result.var)) != 0) { + if (Z_TYPE_P(EX_VAR(opline->result.var)) == IS_FALSE) { is_not_equal_true: ZEND_VM_SMART_BRANCH_TRUE(); ZVAL_TRUE(EX_VAR(opline->result.var)); @@ -15004,7 +15244,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_IS_SMALLER_SPEC_TMPVAR_TMPVAR_ if ((IS_TMP_VAR|IS_VAR) == IS_CV && UNEXPECTED(Z_TYPE_INFO_P(op2) == IS_UNDEF)) { op2 = ZVAL_UNDEFINED_OP2(); } - compare_function(EX_VAR(opline->result.var), op1, op2); + operator_compare_function(EX_VAR(opline->result.var), op1, op2); zval_ptr_dtor_nogc(free_op1); zval_ptr_dtor_nogc(free_op2); if (UNEXPECTED(EG(exception))) { @@ -15067,7 +15307,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_IS_SMALLER_OR_EQUAL_SPEC_TMPVA if ((IS_TMP_VAR|IS_VAR) == IS_CV && UNEXPECTED(Z_TYPE_INFO_P(op2) == IS_UNDEF)) { op2 = ZVAL_UNDEFINED_OP2(); } - compare_function(EX_VAR(opline->result.var), op1, op2); + operator_compare_function(EX_VAR(opline->result.var), op1, op2); zval_ptr_dtor_nogc(free_op1); zval_ptr_dtor_nogc(free_op2); if (UNEXPECTED(EG(exception))) { @@ -15095,7 +15335,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_SPACESHIP_SPEC_TMPVAR_TMPVAR_H SAVE_OPLINE(); op1 = _get_zval_ptr_var(opline->op1.var, &free_op1 EXECUTE_DATA_CC); op2 = _get_zval_ptr_var(opline->op2.var, &free_op2 EXECUTE_DATA_CC); - compare_function(EX_VAR(opline->result.var), op1, op2); + operator_compare_function(EX_VAR(opline->result.var), op1, op2); zval_ptr_dtor_nogc(free_op1); zval_ptr_dtor_nogc(free_op2); ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION(); @@ -15772,6 +16012,9 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_CASE_SPEC_TMPVAR_TMPVAR_HANDLE } else if (EXPECTED(Z_TYPE_P(op1) == IS_STRING)) { if (EXPECTED(Z_TYPE_P(op2) == IS_STRING)) { int result = zend_fast_equal_strings(Z_STR_P(op1), Z_STR_P(op2)); + if ((IS_TMP_VAR|IS_VAR) == IS_CV || (IS_TMP_VAR|IS_VAR) == IS_CONST) { + zval_ptr_dtor_nogc(free_op1); + } zval_ptr_dtor_nogc(free_op2); if (result) { goto case_true; @@ -15787,12 +16030,15 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_CASE_SPEC_TMPVAR_TMPVAR_HANDLE if ((IS_TMP_VAR|IS_VAR) == IS_CV && UNEXPECTED(Z_TYPE_P(op2) == IS_UNDEF)) { op2 = ZVAL_UNDEFINED_OP2(); } - compare_function(EX_VAR(opline->result.var), op1, op2); + case_equal_function(EX_VAR(opline->result.var), op1, op2); + if ((IS_TMP_VAR|IS_VAR) == IS_CV || (IS_TMP_VAR|IS_VAR) == IS_CONST) { + zval_ptr_dtor_nogc(free_op1); + } zval_ptr_dtor_nogc(free_op2); if (UNEXPECTED(EG(exception))) { HANDLE_EXCEPTION(); } - if (Z_LVAL_P(EX_VAR(opline->result.var)) == 0) { + if (Z_TYPE_P(EX_VAR(opline->result.var)) == IS_TRUE) { case_true: ZEND_VM_SMART_BRANCH_TRUE(); ZVAL_TRUE(EX_VAR(opline->result.var)); @@ -16610,7 +16856,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_IS_SMALLER_SPEC_TMPVAR_CV_HAND if (IS_CV == IS_CV && UNEXPECTED(Z_TYPE_INFO_P(op2) == IS_UNDEF)) { op2 = ZVAL_UNDEFINED_OP2(); } - compare_function(EX_VAR(opline->result.var), op1, op2); + operator_compare_function(EX_VAR(opline->result.var), op1, op2); zval_ptr_dtor_nogc(free_op1); if (UNEXPECTED(EG(exception))) { @@ -16673,7 +16919,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_IS_SMALLER_OR_EQUAL_SPEC_TMPVA if (IS_CV == IS_CV && UNEXPECTED(Z_TYPE_INFO_P(op2) == IS_UNDEF)) { op2 = ZVAL_UNDEFINED_OP2(); } - compare_function(EX_VAR(opline->result.var), op1, op2); + operator_compare_function(EX_VAR(opline->result.var), op1, op2); zval_ptr_dtor_nogc(free_op1); if (UNEXPECTED(EG(exception))) { @@ -16701,7 +16947,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_SPACESHIP_SPEC_TMPVAR_CV_HANDL SAVE_OPLINE(); op1 = _get_zval_ptr_var(opline->op1.var, &free_op1 EXECUTE_DATA_CC); op2 = _get_zval_ptr_cv_BP_VAR_R(opline->op2.var EXECUTE_DATA_CC); - compare_function(EX_VAR(opline->result.var), op1, op2); + operator_compare_function(EX_VAR(opline->result.var), op1, op2); zval_ptr_dtor_nogc(free_op1); ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION(); @@ -17282,6 +17528,9 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_CASE_SPEC_TMPVAR_CV_HANDLER(ZE } else if (EXPECTED(Z_TYPE_P(op1) == IS_STRING)) { if (EXPECTED(Z_TYPE_P(op2) == IS_STRING)) { int result = zend_fast_equal_strings(Z_STR_P(op1), Z_STR_P(op2)); + if ((IS_TMP_VAR|IS_VAR) == IS_CV || (IS_TMP_VAR|IS_VAR) == IS_CONST) { + zval_ptr_dtor_nogc(free_op1); + } if (result) { goto case_true; @@ -17297,12 +17546,15 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_CASE_SPEC_TMPVAR_CV_HANDLER(ZE if (IS_CV == IS_CV && UNEXPECTED(Z_TYPE_P(op2) == IS_UNDEF)) { op2 = ZVAL_UNDEFINED_OP2(); } - compare_function(EX_VAR(opline->result.var), op1, op2); + case_equal_function(EX_VAR(opline->result.var), op1, op2); + if ((IS_TMP_VAR|IS_VAR) == IS_CV || (IS_TMP_VAR|IS_VAR) == IS_CONST) { + zval_ptr_dtor_nogc(free_op1); + } if (UNEXPECTED(EG(exception))) { HANDLE_EXCEPTION(); } - if (Z_LVAL_P(EX_VAR(opline->result.var)) == 0) { + if (Z_TYPE_P(EX_VAR(opline->result.var)) == IS_TRUE) { case_true: ZEND_VM_SMART_BRANCH_TRUE(); ZVAL_TRUE(EX_VAR(opline->result.var)); @@ -38390,13 +38642,13 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_IS_EQUAL_SPEC_CV_CONST_HANDLER if (IS_CONST == IS_CV && UNEXPECTED(Z_TYPE_P(op2) == IS_UNDEF)) { op2 = ZVAL_UNDEFINED_OP2(); } - compare_function(EX_VAR(opline->result.var), op1, op2); + is_equal_function(EX_VAR(opline->result.var), op1, op2); if (UNEXPECTED(EG(exception))) { HANDLE_EXCEPTION(); } - if (Z_LVAL_P(EX_VAR(opline->result.var)) == 0) { + if (Z_TYPE_P(EX_VAR(opline->result.var)) == IS_TRUE) { is_equal_true: ZEND_VM_SMART_BRANCH_TRUE(); ZVAL_TRUE(EX_VAR(opline->result.var)); @@ -38468,13 +38720,13 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_IS_NOT_EQUAL_SPEC_CV_CONST_HAN if (IS_CONST == IS_CV && UNEXPECTED(Z_TYPE_P(op2) == IS_UNDEF)) { op2 = ZVAL_UNDEFINED_OP2(); } - compare_function(EX_VAR(opline->result.var), op1, op2); + is_equal_function(EX_VAR(opline->result.var), op1, op2); if (UNEXPECTED(EG(exception))) { HANDLE_EXCEPTION(); } - if (Z_LVAL_P(EX_VAR(opline->result.var)) != 0) { + if (Z_TYPE_P(EX_VAR(opline->result.var)) == IS_FALSE) { is_not_equal_true: ZEND_VM_SMART_BRANCH_TRUE(); ZVAL_TRUE(EX_VAR(opline->result.var)); @@ -38531,7 +38783,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_IS_SMALLER_SPEC_CV_CONST_HANDL if (IS_CONST == IS_CV && UNEXPECTED(Z_TYPE_INFO_P(op2) == IS_UNDEF)) { op2 = ZVAL_UNDEFINED_OP2(); } - compare_function(EX_VAR(opline->result.var), op1, op2); + operator_compare_function(EX_VAR(opline->result.var), op1, op2); if (UNEXPECTED(EG(exception))) { @@ -38594,7 +38846,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_IS_SMALLER_OR_EQUAL_SPEC_CV_CO if (IS_CONST == IS_CV && UNEXPECTED(Z_TYPE_INFO_P(op2) == IS_UNDEF)) { op2 = ZVAL_UNDEFINED_OP2(); } - compare_function(EX_VAR(opline->result.var), op1, op2); + operator_compare_function(EX_VAR(opline->result.var), op1, op2); if (UNEXPECTED(EG(exception))) { @@ -38622,7 +38874,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_SPACESHIP_SPEC_CV_CONST_HANDLE SAVE_OPLINE(); op1 = _get_zval_ptr_cv_BP_VAR_R(opline->op1.var EXECUTE_DATA_CC); op2 = RT_CONSTANT(opline, opline->op2); - compare_function(EX_VAR(opline->result.var), op1, op2); + operator_compare_function(EX_VAR(opline->result.var), op1, op2); ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION(); @@ -40905,6 +41157,84 @@ static ZEND_VM_HOT ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_INIT_METHOD_CALL_S ZEND_VM_NEXT_OPCODE(); } +static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_CASE_SPEC_CV_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS) +{ + USE_OPLINE + + zval *op1, *op2; + double d1, d2; + + op1 = EX_VAR(opline->op1.var); + op2 = RT_CONSTANT(opline, opline->op2); + if (EXPECTED(Z_TYPE_P(op1) == IS_LONG)) { + if (EXPECTED(Z_TYPE_P(op2) == IS_LONG)) { + if (EXPECTED(Z_LVAL_P(op1) == Z_LVAL_P(op2))) { + goto case_true; + } else { + goto case_false; + } + } else if (EXPECTED(Z_TYPE_P(op2) == IS_DOUBLE)) { + d1 = (double)Z_LVAL_P(op1); + d2 = Z_DVAL_P(op2); + goto case_double; + } + } else if (EXPECTED(Z_TYPE_P(op1) == IS_DOUBLE)) { + if (EXPECTED(Z_TYPE_P(op2) == IS_DOUBLE)) { + d1 = Z_DVAL_P(op1); + d2 = Z_DVAL_P(op2); +case_double: + if (d1 == d2) { + goto case_true; + } else { + goto case_false; + } + } else if (EXPECTED(Z_TYPE_P(op2) == IS_LONG)) { + d1 = Z_DVAL_P(op1); + d2 = (double)Z_LVAL_P(op2); + goto case_double; + } + } else if (EXPECTED(Z_TYPE_P(op1) == IS_STRING)) { + if (EXPECTED(Z_TYPE_P(op2) == IS_STRING)) { + int result = zend_fast_equal_strings(Z_STR_P(op1), Z_STR_P(op2)); + if (IS_CV == IS_CV || IS_CV == IS_CONST) { + + } + + if (result) { + goto case_true; + } else { + goto case_false; + } + } + } + SAVE_OPLINE(); + if (IS_CV == IS_CV && UNEXPECTED(Z_TYPE_P(op1) == IS_UNDEF)) { + op1 = ZVAL_UNDEFINED_OP1(); + } + if (IS_CONST == IS_CV && UNEXPECTED(Z_TYPE_P(op2) == IS_UNDEF)) { + op2 = ZVAL_UNDEFINED_OP2(); + } + case_equal_function(EX_VAR(opline->result.var), op1, op2); + if (IS_CV == IS_CV || IS_CV == IS_CONST) { + + } + + if (UNEXPECTED(EG(exception))) { + HANDLE_EXCEPTION(); + } + if (Z_TYPE_P(EX_VAR(opline->result.var)) == IS_TRUE) { +case_true: + ZEND_VM_SMART_BRANCH_TRUE(); + ZVAL_TRUE(EX_VAR(opline->result.var)); + ZEND_VM_NEXT_OPCODE(); + } else { +case_false: + ZEND_VM_SMART_BRANCH_FALSE(); + ZVAL_FALSE(EX_VAR(opline->result.var)); + ZEND_VM_NEXT_OPCODE(); + } +} + static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ADD_ARRAY_ELEMENT_SPEC_CV_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS) { USE_OPLINE @@ -42102,13 +42432,13 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_IS_EQUAL_SPEC_CV_TMPVAR_HANDLE if ((IS_TMP_VAR|IS_VAR) == IS_CV && UNEXPECTED(Z_TYPE_P(op2) == IS_UNDEF)) { op2 = ZVAL_UNDEFINED_OP2(); } - compare_function(EX_VAR(opline->result.var), op1, op2); + is_equal_function(EX_VAR(opline->result.var), op1, op2); zval_ptr_dtor_nogc(free_op2); if (UNEXPECTED(EG(exception))) { HANDLE_EXCEPTION(); } - if (Z_LVAL_P(EX_VAR(opline->result.var)) == 0) { + if (Z_TYPE_P(EX_VAR(opline->result.var)) == IS_TRUE) { is_equal_true: ZEND_VM_SMART_BRANCH_TRUE(); ZVAL_TRUE(EX_VAR(opline->result.var)); @@ -42180,13 +42510,13 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_IS_NOT_EQUAL_SPEC_CV_TMPVAR_HA if ((IS_TMP_VAR|IS_VAR) == IS_CV && UNEXPECTED(Z_TYPE_P(op2) == IS_UNDEF)) { op2 = ZVAL_UNDEFINED_OP2(); } - compare_function(EX_VAR(opline->result.var), op1, op2); + is_equal_function(EX_VAR(opline->result.var), op1, op2); zval_ptr_dtor_nogc(free_op2); if (UNEXPECTED(EG(exception))) { HANDLE_EXCEPTION(); } - if (Z_LVAL_P(EX_VAR(opline->result.var)) != 0) { + if (Z_TYPE_P(EX_VAR(opline->result.var)) == IS_FALSE) { is_not_equal_true: ZEND_VM_SMART_BRANCH_TRUE(); ZVAL_TRUE(EX_VAR(opline->result.var)); @@ -42243,7 +42573,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_IS_SMALLER_SPEC_CV_TMPVAR_HAND if ((IS_TMP_VAR|IS_VAR) == IS_CV && UNEXPECTED(Z_TYPE_INFO_P(op2) == IS_UNDEF)) { op2 = ZVAL_UNDEFINED_OP2(); } - compare_function(EX_VAR(opline->result.var), op1, op2); + operator_compare_function(EX_VAR(opline->result.var), op1, op2); zval_ptr_dtor_nogc(free_op2); if (UNEXPECTED(EG(exception))) { @@ -42306,7 +42636,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_IS_SMALLER_OR_EQUAL_SPEC_CV_TM if ((IS_TMP_VAR|IS_VAR) == IS_CV && UNEXPECTED(Z_TYPE_INFO_P(op2) == IS_UNDEF)) { op2 = ZVAL_UNDEFINED_OP2(); } - compare_function(EX_VAR(opline->result.var), op1, op2); + operator_compare_function(EX_VAR(opline->result.var), op1, op2); zval_ptr_dtor_nogc(free_op2); if (UNEXPECTED(EG(exception))) { @@ -42334,7 +42664,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_SPACESHIP_SPEC_CV_TMPVAR_HANDL SAVE_OPLINE(); op1 = _get_zval_ptr_cv_BP_VAR_R(opline->op1.var EXECUTE_DATA_CC); op2 = _get_zval_ptr_var(opline->op2.var, &free_op2 EXECUTE_DATA_CC); - compare_function(EX_VAR(opline->result.var), op1, op2); + operator_compare_function(EX_VAR(opline->result.var), op1, op2); zval_ptr_dtor_nogc(free_op2); ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION(); @@ -44565,6 +44895,84 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_INIT_METHOD_CALL_SPEC_CV_TMPVA ZEND_VM_NEXT_OPCODE(); } +static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_CASE_SPEC_CV_TMPVAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS) +{ + USE_OPLINE + zend_free_op free_op2; + zval *op1, *op2; + double d1, d2; + + op1 = EX_VAR(opline->op1.var); + op2 = _get_zval_ptr_var(opline->op2.var, &free_op2 EXECUTE_DATA_CC); + if (EXPECTED(Z_TYPE_P(op1) == IS_LONG)) { + if (EXPECTED(Z_TYPE_P(op2) == IS_LONG)) { + if (EXPECTED(Z_LVAL_P(op1) == Z_LVAL_P(op2))) { + goto case_true; + } else { + goto case_false; + } + } else if (EXPECTED(Z_TYPE_P(op2) == IS_DOUBLE)) { + d1 = (double)Z_LVAL_P(op1); + d2 = Z_DVAL_P(op2); + goto case_double; + } + } else if (EXPECTED(Z_TYPE_P(op1) == IS_DOUBLE)) { + if (EXPECTED(Z_TYPE_P(op2) == IS_DOUBLE)) { + d1 = Z_DVAL_P(op1); + d2 = Z_DVAL_P(op2); +case_double: + if (d1 == d2) { + goto case_true; + } else { + goto case_false; + } + } else if (EXPECTED(Z_TYPE_P(op2) == IS_LONG)) { + d1 = Z_DVAL_P(op1); + d2 = (double)Z_LVAL_P(op2); + goto case_double; + } + } else if (EXPECTED(Z_TYPE_P(op1) == IS_STRING)) { + if (EXPECTED(Z_TYPE_P(op2) == IS_STRING)) { + int result = zend_fast_equal_strings(Z_STR_P(op1), Z_STR_P(op2)); + if (IS_CV == IS_CV || IS_CV == IS_CONST) { + + } + zval_ptr_dtor_nogc(free_op2); + if (result) { + goto case_true; + } else { + goto case_false; + } + } + } + SAVE_OPLINE(); + if (IS_CV == IS_CV && UNEXPECTED(Z_TYPE_P(op1) == IS_UNDEF)) { + op1 = ZVAL_UNDEFINED_OP1(); + } + if ((IS_TMP_VAR|IS_VAR) == IS_CV && UNEXPECTED(Z_TYPE_P(op2) == IS_UNDEF)) { + op2 = ZVAL_UNDEFINED_OP2(); + } + case_equal_function(EX_VAR(opline->result.var), op1, op2); + if (IS_CV == IS_CV || IS_CV == IS_CONST) { + + } + zval_ptr_dtor_nogc(free_op2); + if (UNEXPECTED(EG(exception))) { + HANDLE_EXCEPTION(); + } + if (Z_TYPE_P(EX_VAR(opline->result.var)) == IS_TRUE) { +case_true: + ZEND_VM_SMART_BRANCH_TRUE(); + ZVAL_TRUE(EX_VAR(opline->result.var)); + ZEND_VM_NEXT_OPCODE(); + } else { +case_false: + ZEND_VM_SMART_BRANCH_FALSE(); + ZVAL_FALSE(EX_VAR(opline->result.var)); + ZEND_VM_NEXT_OPCODE(); + } +} + static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ADD_ARRAY_ELEMENT_SPEC_CV_TMPVAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS) { USE_OPLINE @@ -47391,13 +47799,13 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_IS_EQUAL_SPEC_CV_CV_HANDLER(ZE if (IS_CV == IS_CV && UNEXPECTED(Z_TYPE_P(op2) == IS_UNDEF)) { op2 = ZVAL_UNDEFINED_OP2(); } - compare_function(EX_VAR(opline->result.var), op1, op2); + is_equal_function(EX_VAR(opline->result.var), op1, op2); if (UNEXPECTED(EG(exception))) { HANDLE_EXCEPTION(); } - if (Z_LVAL_P(EX_VAR(opline->result.var)) == 0) { + if (Z_TYPE_P(EX_VAR(opline->result.var)) == IS_TRUE) { is_equal_true: ZEND_VM_SMART_BRANCH_TRUE(); ZVAL_TRUE(EX_VAR(opline->result.var)); @@ -47469,13 +47877,13 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_IS_NOT_EQUAL_SPEC_CV_CV_HANDLE if (IS_CV == IS_CV && UNEXPECTED(Z_TYPE_P(op2) == IS_UNDEF)) { op2 = ZVAL_UNDEFINED_OP2(); } - compare_function(EX_VAR(opline->result.var), op1, op2); + is_equal_function(EX_VAR(opline->result.var), op1, op2); if (UNEXPECTED(EG(exception))) { HANDLE_EXCEPTION(); } - if (Z_LVAL_P(EX_VAR(opline->result.var)) != 0) { + if (Z_TYPE_P(EX_VAR(opline->result.var)) == IS_FALSE) { is_not_equal_true: ZEND_VM_SMART_BRANCH_TRUE(); ZVAL_TRUE(EX_VAR(opline->result.var)); @@ -47532,7 +47940,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_IS_SMALLER_SPEC_CV_CV_HANDLER( if (IS_CV == IS_CV && UNEXPECTED(Z_TYPE_INFO_P(op2) == IS_UNDEF)) { op2 = ZVAL_UNDEFINED_OP2(); } - compare_function(EX_VAR(opline->result.var), op1, op2); + operator_compare_function(EX_VAR(opline->result.var), op1, op2); if (UNEXPECTED(EG(exception))) { @@ -47595,7 +48003,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_IS_SMALLER_OR_EQUAL_SPEC_CV_CV if (IS_CV == IS_CV && UNEXPECTED(Z_TYPE_INFO_P(op2) == IS_UNDEF)) { op2 = ZVAL_UNDEFINED_OP2(); } - compare_function(EX_VAR(opline->result.var), op1, op2); + operator_compare_function(EX_VAR(opline->result.var), op1, op2); if (UNEXPECTED(EG(exception))) { @@ -47623,7 +48031,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_SPACESHIP_SPEC_CV_CV_HANDLER(Z SAVE_OPLINE(); op1 = _get_zval_ptr_cv_BP_VAR_R(opline->op1.var EXECUTE_DATA_CC); op2 = _get_zval_ptr_cv_BP_VAR_R(opline->op2.var EXECUTE_DATA_CC); - compare_function(EX_VAR(opline->result.var), op1, op2); + operator_compare_function(EX_VAR(opline->result.var), op1, op2); ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION(); @@ -49945,6 +50353,84 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_INIT_METHOD_CALL_SPEC_CV_CV_HA ZEND_VM_NEXT_OPCODE(); } +static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_CASE_SPEC_CV_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS) +{ + USE_OPLINE + + zval *op1, *op2; + double d1, d2; + + op1 = EX_VAR(opline->op1.var); + op2 = EX_VAR(opline->op2.var); + if (EXPECTED(Z_TYPE_P(op1) == IS_LONG)) { + if (EXPECTED(Z_TYPE_P(op2) == IS_LONG)) { + if (EXPECTED(Z_LVAL_P(op1) == Z_LVAL_P(op2))) { + goto case_true; + } else { + goto case_false; + } + } else if (EXPECTED(Z_TYPE_P(op2) == IS_DOUBLE)) { + d1 = (double)Z_LVAL_P(op1); + d2 = Z_DVAL_P(op2); + goto case_double; + } + } else if (EXPECTED(Z_TYPE_P(op1) == IS_DOUBLE)) { + if (EXPECTED(Z_TYPE_P(op2) == IS_DOUBLE)) { + d1 = Z_DVAL_P(op1); + d2 = Z_DVAL_P(op2); +case_double: + if (d1 == d2) { + goto case_true; + } else { + goto case_false; + } + } else if (EXPECTED(Z_TYPE_P(op2) == IS_LONG)) { + d1 = Z_DVAL_P(op1); + d2 = (double)Z_LVAL_P(op2); + goto case_double; + } + } else if (EXPECTED(Z_TYPE_P(op1) == IS_STRING)) { + if (EXPECTED(Z_TYPE_P(op2) == IS_STRING)) { + int result = zend_fast_equal_strings(Z_STR_P(op1), Z_STR_P(op2)); + if (IS_CV == IS_CV || IS_CV == IS_CONST) { + + } + + if (result) { + goto case_true; + } else { + goto case_false; + } + } + } + SAVE_OPLINE(); + if (IS_CV == IS_CV && UNEXPECTED(Z_TYPE_P(op1) == IS_UNDEF)) { + op1 = ZVAL_UNDEFINED_OP1(); + } + if (IS_CV == IS_CV && UNEXPECTED(Z_TYPE_P(op2) == IS_UNDEF)) { + op2 = ZVAL_UNDEFINED_OP2(); + } + case_equal_function(EX_VAR(opline->result.var), op1, op2); + if (IS_CV == IS_CV || IS_CV == IS_CONST) { + + } + + if (UNEXPECTED(EG(exception))) { + HANDLE_EXCEPTION(); + } + if (Z_TYPE_P(EX_VAR(opline->result.var)) == IS_TRUE) { +case_true: + ZEND_VM_SMART_BRANCH_TRUE(); + ZVAL_TRUE(EX_VAR(opline->result.var)); + ZEND_VM_NEXT_OPCODE(); + } else { +case_false: + ZEND_VM_SMART_BRANCH_FALSE(); + ZVAL_FALSE(EX_VAR(opline->result.var)); + ZEND_VM_NEXT_OPCODE(); + } +} + static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ADD_ARRAY_ELEMENT_SPEC_CV_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS) { USE_OPLINE @@ -51602,11 +52088,31 @@ ZEND_API void execute_ex(zend_execute_data *ex) (void*)&&ZEND_JMPNZ_EX_SPEC_TMPVAR_LABEL, (void*)&&ZEND_NULL_LABEL, (void*)&&ZEND_JMPNZ_EX_SPEC_CV_LABEL, + (void*)&&ZEND_CASE_SPEC_CONST_CONST_LABEL, + (void*)&&ZEND_CASE_SPEC_CONST_TMPVAR_LABEL, + (void*)&&ZEND_CASE_SPEC_CONST_TMPVAR_LABEL, + (void*)&&ZEND_NULL_LABEL, + (void*)&&ZEND_CASE_SPEC_CONST_CV_LABEL, + (void*)&&ZEND_CASE_SPEC_TMPVAR_CONST_LABEL, + (void*)&&ZEND_CASE_SPEC_TMPVAR_TMPVAR_LABEL, + (void*)&&ZEND_CASE_SPEC_TMPVAR_TMPVAR_LABEL, + (void*)&&ZEND_NULL_LABEL, + (void*)&&ZEND_CASE_SPEC_TMPVAR_CV_LABEL, (void*)&&ZEND_CASE_SPEC_TMPVAR_CONST_LABEL, (void*)&&ZEND_CASE_SPEC_TMPVAR_TMPVAR_LABEL, (void*)&&ZEND_CASE_SPEC_TMPVAR_TMPVAR_LABEL, (void*)&&ZEND_NULL_LABEL, (void*)&&ZEND_CASE_SPEC_TMPVAR_CV_LABEL, + (void*)&&ZEND_NULL_LABEL, + (void*)&&ZEND_NULL_LABEL, + (void*)&&ZEND_NULL_LABEL, + (void*)&&ZEND_NULL_LABEL, + (void*)&&ZEND_NULL_LABEL, + (void*)&&ZEND_CASE_SPEC_CV_CONST_LABEL, + (void*)&&ZEND_CASE_SPEC_CV_TMPVAR_LABEL, + (void*)&&ZEND_CASE_SPEC_CV_TMPVAR_LABEL, + (void*)&&ZEND_NULL_LABEL, + (void*)&&ZEND_CASE_SPEC_CV_CV_LABEL, (void*)&&ZEND_CHECK_VAR_SPEC_CV_UNUSED_LABEL, (void*)&&ZEND_SEND_VAR_NO_REF_EX_SPEC_VAR_LABEL, (void*)&&ZEND_SEND_VAR_NO_REF_EX_SPEC_VAR_QUICK_LABEL, @@ -54272,6 +54778,10 @@ ZEND_API void execute_ex(zend_execute_data *ex) VM_TRACE(ZEND_INIT_USER_CALL_SPEC_CONST_CONST) ZEND_INIT_USER_CALL_SPEC_CONST_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU); HYBRID_BREAK(); + HYBRID_CASE(ZEND_CASE_SPEC_CONST_CONST): + VM_TRACE(ZEND_CASE_SPEC_CONST_CONST) + ZEND_CASE_SPEC_CONST_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU); + HYBRID_BREAK(); HYBRID_CASE(ZEND_FETCH_CLASS_CONSTANT_SPEC_CONST_CONST): VM_TRACE(ZEND_FETCH_CLASS_CONSTANT_SPEC_CONST_CONST) ZEND_FETCH_CLASS_CONSTANT_SPEC_CONST_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU); @@ -54472,6 +54982,10 @@ ZEND_API void execute_ex(zend_execute_data *ex) VM_TRACE(ZEND_INIT_USER_CALL_SPEC_CONST_TMPVAR) ZEND_INIT_USER_CALL_SPEC_CONST_TMPVAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU); HYBRID_BREAK(); + HYBRID_CASE(ZEND_CASE_SPEC_CONST_TMPVAR): + VM_TRACE(ZEND_CASE_SPEC_CONST_TMPVAR) + ZEND_CASE_SPEC_CONST_TMPVAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU); + HYBRID_BREAK(); HYBRID_CASE(ZEND_ADD_ARRAY_ELEMENT_SPEC_CONST_TMPVAR): VM_TRACE(ZEND_ADD_ARRAY_ELEMENT_SPEC_CONST_TMPVAR) ZEND_ADD_ARRAY_ELEMENT_SPEC_CONST_TMPVAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU); @@ -54668,6 +55182,10 @@ ZEND_API void execute_ex(zend_execute_data *ex) VM_TRACE(ZEND_INIT_USER_CALL_SPEC_CONST_CV) ZEND_INIT_USER_CALL_SPEC_CONST_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU); HYBRID_BREAK(); + HYBRID_CASE(ZEND_CASE_SPEC_CONST_CV): + VM_TRACE(ZEND_CASE_SPEC_CONST_CV) + ZEND_CASE_SPEC_CONST_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU); + HYBRID_BREAK(); HYBRID_CASE(ZEND_ADD_ARRAY_ELEMENT_SPEC_CONST_CV): VM_TRACE(ZEND_ADD_ARRAY_ELEMENT_SPEC_CONST_CV) ZEND_ADD_ARRAY_ELEMENT_SPEC_CONST_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU); @@ -57282,6 +57800,10 @@ ZEND_API void execute_ex(zend_execute_data *ex) VM_TRACE(ZEND_INIT_METHOD_CALL_SPEC_CV_CONST) ZEND_INIT_METHOD_CALL_SPEC_CV_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU); HYBRID_BREAK(); + HYBRID_CASE(ZEND_CASE_SPEC_CV_CONST): + VM_TRACE(ZEND_CASE_SPEC_CV_CONST) + ZEND_CASE_SPEC_CV_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU); + HYBRID_BREAK(); HYBRID_CASE(ZEND_ADD_ARRAY_ELEMENT_SPEC_CV_CONST): VM_TRACE(ZEND_ADD_ARRAY_ELEMENT_SPEC_CV_CONST) ZEND_ADD_ARRAY_ELEMENT_SPEC_CV_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU); @@ -57530,6 +58052,10 @@ ZEND_API void execute_ex(zend_execute_data *ex) VM_TRACE(ZEND_INIT_METHOD_CALL_SPEC_CV_TMPVAR) ZEND_INIT_METHOD_CALL_SPEC_CV_TMPVAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU); HYBRID_BREAK(); + HYBRID_CASE(ZEND_CASE_SPEC_CV_TMPVAR): + VM_TRACE(ZEND_CASE_SPEC_CV_TMPVAR) + ZEND_CASE_SPEC_CV_TMPVAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU); + HYBRID_BREAK(); HYBRID_CASE(ZEND_ADD_ARRAY_ELEMENT_SPEC_CV_TMPVAR): VM_TRACE(ZEND_ADD_ARRAY_ELEMENT_SPEC_CV_TMPVAR) ZEND_ADD_ARRAY_ELEMENT_SPEC_CV_TMPVAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU); @@ -57942,6 +58468,10 @@ ZEND_API void execute_ex(zend_execute_data *ex) VM_TRACE(ZEND_INIT_METHOD_CALL_SPEC_CV_CV) ZEND_INIT_METHOD_CALL_SPEC_CV_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU); HYBRID_BREAK(); + HYBRID_CASE(ZEND_CASE_SPEC_CV_CV): + VM_TRACE(ZEND_CASE_SPEC_CV_CV) + ZEND_CASE_SPEC_CV_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU); + HYBRID_BREAK(); HYBRID_CASE(ZEND_ADD_ARRAY_ELEMENT_SPEC_CV_CV): VM_TRACE(ZEND_ADD_ARRAY_ELEMENT_SPEC_CV_CV) ZEND_ADD_ARRAY_ELEMENT_SPEC_CV_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU); @@ -59131,11 +59661,31 @@ void zend_vm_init(void) ZEND_JMPNZ_EX_SPEC_TMPVAR_HANDLER, ZEND_NULL_HANDLER, ZEND_JMPNZ_EX_SPEC_CV_HANDLER, + ZEND_CASE_SPEC_CONST_CONST_HANDLER, + ZEND_CASE_SPEC_CONST_TMPVAR_HANDLER, + ZEND_CASE_SPEC_CONST_TMPVAR_HANDLER, + ZEND_NULL_HANDLER, + ZEND_CASE_SPEC_CONST_CV_HANDLER, ZEND_CASE_SPEC_TMPVAR_CONST_HANDLER, ZEND_CASE_SPEC_TMPVAR_TMPVAR_HANDLER, ZEND_CASE_SPEC_TMPVAR_TMPVAR_HANDLER, ZEND_NULL_HANDLER, ZEND_CASE_SPEC_TMPVAR_CV_HANDLER, + ZEND_CASE_SPEC_TMPVAR_CONST_HANDLER, + ZEND_CASE_SPEC_TMPVAR_TMPVAR_HANDLER, + ZEND_CASE_SPEC_TMPVAR_TMPVAR_HANDLER, + ZEND_NULL_HANDLER, + ZEND_CASE_SPEC_TMPVAR_CV_HANDLER, + ZEND_NULL_HANDLER, + ZEND_NULL_HANDLER, + ZEND_NULL_HANDLER, + ZEND_NULL_HANDLER, + ZEND_NULL_HANDLER, + ZEND_CASE_SPEC_CV_CONST_HANDLER, + ZEND_CASE_SPEC_CV_TMPVAR_HANDLER, + ZEND_CASE_SPEC_CV_TMPVAR_HANDLER, + ZEND_NULL_HANDLER, + ZEND_CASE_SPEC_CV_CV_HANDLER, ZEND_CHECK_VAR_SPEC_CV_UNUSED_HANDLER, ZEND_SEND_VAR_NO_REF_EX_SPEC_VAR_HANDLER, ZEND_SEND_VAR_NO_REF_EX_SPEC_VAR_QUICK_HANDLER, @@ -61155,154 +61705,154 @@ void zend_vm_init(void) 1068 | SPEC_RULE_OP1, 1073 | SPEC_RULE_OP1, 1078 | SPEC_RULE_OP1, - 1083 | SPEC_RULE_OP2, - 1088, - 1089 | SPEC_RULE_QUICK_ARG, - 1091 | SPEC_RULE_OP1, - 1096 | SPEC_RULE_OP1, - 1101 | SPEC_RULE_OP1 | SPEC_RULE_OP2, - 1126 | SPEC_RULE_OP2, - 1131 | SPEC_RULE_OP2, - 1136 | SPEC_RULE_OP2, - 1141, - 1142, - 1143, - 1144 | SPEC_RULE_RETVAL, - 1146, - 1147 | SPEC_RULE_OP1, - 1152, - 1153, - 1154 | SPEC_RULE_OP1, - 1159 | SPEC_RULE_OP1 | SPEC_RULE_QUICK_ARG, - 1169 | SPEC_RULE_OP1, + 1083 | SPEC_RULE_OP1 | SPEC_RULE_OP2, + 1108, + 1109 | SPEC_RULE_QUICK_ARG, + 1111 | SPEC_RULE_OP1, + 1116 | SPEC_RULE_OP1, + 1121 | SPEC_RULE_OP1 | SPEC_RULE_OP2, + 1146 | SPEC_RULE_OP2, + 1151 | SPEC_RULE_OP2, + 1156 | SPEC_RULE_OP2, + 1161, + 1162, + 1163, + 1164 | SPEC_RULE_RETVAL, + 1166, + 1167 | SPEC_RULE_OP1, + 1172, + 1173, 1174 | SPEC_RULE_OP1, - 1179, - 1180, - 1181 | SPEC_RULE_OP1 | SPEC_RULE_OP2, - 1206 | SPEC_RULE_OP1 | SPEC_RULE_OP2, - 1231 | SPEC_RULE_OP1, - 1236 | SPEC_RULE_OP1, - 1241 | SPEC_RULE_OP1 | SPEC_RULE_OP2, - 1266 | SPEC_RULE_OP1 | SPEC_RULE_OP2, - 1291 | SPEC_RULE_OP1, - 1296, - 1297, - 1298 | SPEC_RULE_OP1, - 1303 | SPEC_RULE_OP1 | SPEC_RULE_OP2, - 1328 | SPEC_RULE_OP1 | SPEC_RULE_OP2, - 1353 | SPEC_RULE_OP1, - 1358 | SPEC_RULE_OP1 | SPEC_RULE_OP2, - 1383 | SPEC_RULE_OP1 | SPEC_RULE_OP2, - 1408 | SPEC_RULE_OP1, - 1413 | SPEC_RULE_OP1 | SPEC_RULE_OP2, - 1438 | SPEC_RULE_OP1 | SPEC_RULE_OP2, - 1463 | SPEC_RULE_OP1, - 1468 | SPEC_RULE_OP1 | SPEC_RULE_OP2, - 1493 | SPEC_RULE_OP1 | SPEC_RULE_OP2, - 1518 | SPEC_RULE_OP1, - 1523 | SPEC_RULE_OP1 | SPEC_RULE_OP2, - 1548 | SPEC_RULE_OP1 | SPEC_RULE_OP2, - 1573 | SPEC_RULE_OP1, - 1578 | SPEC_RULE_OP1 | SPEC_RULE_OP2, - 1603 | SPEC_RULE_OP1 | SPEC_RULE_OP2, - 1628 | SPEC_RULE_OP1 | SPEC_RULE_OP2, - 1653, - 1654 | SPEC_RULE_QUICK_ARG, - 1656, - 1657, - 1658, - 1659, - 1660, - 1661, - 1662, - 1663 | SPEC_RULE_OP1, - 1668 | SPEC_RULE_OP2, - 1673 | SPEC_RULE_OP1, - 1678 | SPEC_RULE_OP1, - 1683 | SPEC_RULE_OP1 | SPEC_RULE_OP2, - 1708 | SPEC_RULE_OP1 | SPEC_RULE_OP2, - 1733 | SPEC_RULE_OP1, - 1738 | SPEC_RULE_OP1 | SPEC_RULE_OP2, - 1763 | SPEC_RULE_OP1 | SPEC_RULE_QUICK_ARG, - 1773 | SPEC_RULE_OP1, - 1778 | SPEC_RULE_OP2, - 1783, - 1784 | SPEC_RULE_OP1, - 1789 | SPEC_RULE_OP1, - 1794, - 1795 | SPEC_RULE_OP1, - 1800 | SPEC_RULE_OP1, - 1805 | SPEC_RULE_OP1, - 1810, - 1811, - 1812 | SPEC_RULE_OP2, - 1817 | SPEC_RULE_RETVAL, - 1819 | SPEC_RULE_RETVAL, - 1821 | SPEC_RULE_RETVAL, - 1823 | SPEC_RULE_OP1 | SPEC_RULE_OP2, - 1848 | SPEC_RULE_OP1 | SPEC_RULE_OP2, - 1873 | SPEC_RULE_OP1 | SPEC_RULE_OP2, - 1898 | SPEC_RULE_OP1 | SPEC_RULE_OP2, - 1923 | SPEC_RULE_OP1, - 1928, - 1929 | SPEC_RULE_OP1 | SPEC_RULE_OP2, - 1954, - 1955 | SPEC_RULE_OP1, - 1960, - 1961, - 1962, - 1963, - 1964, - 1965, - 1966, - 1967 | SPEC_RULE_OP1 | SPEC_RULE_OP2, - 1992, - 1993, - 1994, - 1995 | SPEC_RULE_OP1, - 2000, - 2001 | SPEC_RULE_ISSET, - 2003 | SPEC_RULE_OP2, - 2008, - 2009, - 2010, - 2011, - 2012 | SPEC_RULE_OP1 | SPEC_RULE_OP2, - 2037 | SPEC_RULE_OP1, - 2042, - 2043, - 2044, - 2045, - 2046 | SPEC_RULE_OP1, - 2051, - 2052, - 2053 | SPEC_RULE_OP1, - 2058 | SPEC_RULE_OP1 | SPEC_RULE_OP2, - 2083, - 2084 | SPEC_RULE_OP1, - 2089, - 2090, - 2091, - 2092, - 2093, - 2094, - 2095, - 2096, - 2097 | SPEC_RULE_OP1, - 2102, + 1179 | SPEC_RULE_OP1 | SPEC_RULE_QUICK_ARG, + 1189 | SPEC_RULE_OP1, + 1194 | SPEC_RULE_OP1, + 1199, + 1200, + 1201 | SPEC_RULE_OP1 | SPEC_RULE_OP2, + 1226 | SPEC_RULE_OP1 | SPEC_RULE_OP2, + 1251 | SPEC_RULE_OP1, + 1256 | SPEC_RULE_OP1, + 1261 | SPEC_RULE_OP1 | SPEC_RULE_OP2, + 1286 | SPEC_RULE_OP1 | SPEC_RULE_OP2, + 1311 | SPEC_RULE_OP1, + 1316, + 1317, + 1318 | SPEC_RULE_OP1, + 1323 | SPEC_RULE_OP1 | SPEC_RULE_OP2, + 1348 | SPEC_RULE_OP1 | SPEC_RULE_OP2, + 1373 | SPEC_RULE_OP1, + 1378 | SPEC_RULE_OP1 | SPEC_RULE_OP2, + 1403 | SPEC_RULE_OP1 | SPEC_RULE_OP2, + 1428 | SPEC_RULE_OP1, + 1433 | SPEC_RULE_OP1 | SPEC_RULE_OP2, + 1458 | SPEC_RULE_OP1 | SPEC_RULE_OP2, + 1483 | SPEC_RULE_OP1, + 1488 | SPEC_RULE_OP1 | SPEC_RULE_OP2, + 1513 | SPEC_RULE_OP1 | SPEC_RULE_OP2, + 1538 | SPEC_RULE_OP1, + 1543 | SPEC_RULE_OP1 | SPEC_RULE_OP2, + 1568 | SPEC_RULE_OP1 | SPEC_RULE_OP2, + 1593 | SPEC_RULE_OP1, + 1598 | SPEC_RULE_OP1 | SPEC_RULE_OP2, + 1623 | SPEC_RULE_OP1 | SPEC_RULE_OP2, + 1648 | SPEC_RULE_OP1 | SPEC_RULE_OP2, + 1673, + 1674 | SPEC_RULE_QUICK_ARG, + 1676, + 1677, + 1678, + 1679, + 1680, + 1681, + 1682, + 1683 | SPEC_RULE_OP1, + 1688 | SPEC_RULE_OP2, + 1693 | SPEC_RULE_OP1, + 1698 | SPEC_RULE_OP1, + 1703 | SPEC_RULE_OP1 | SPEC_RULE_OP2, + 1728 | SPEC_RULE_OP1 | SPEC_RULE_OP2, + 1753 | SPEC_RULE_OP1, + 1758 | SPEC_RULE_OP1 | SPEC_RULE_OP2, + 1783 | SPEC_RULE_OP1 | SPEC_RULE_QUICK_ARG, + 1793 | SPEC_RULE_OP1, + 1798 | SPEC_RULE_OP2, + 1803, + 1804 | SPEC_RULE_OP1, + 1809 | SPEC_RULE_OP1, + 1814, + 1815 | SPEC_RULE_OP1, + 1820 | SPEC_RULE_OP1, + 1825 | SPEC_RULE_OP1, + 1830, + 1831, + 1832 | SPEC_RULE_OP2, + 1837 | SPEC_RULE_RETVAL, + 1839 | SPEC_RULE_RETVAL, + 1841 | SPEC_RULE_RETVAL, + 1843 | SPEC_RULE_OP1 | SPEC_RULE_OP2, + 1868 | SPEC_RULE_OP1 | SPEC_RULE_OP2, + 1893 | SPEC_RULE_OP1 | SPEC_RULE_OP2, + 1918 | SPEC_RULE_OP1 | SPEC_RULE_OP2, + 1943 | SPEC_RULE_OP1, + 1948, + 1949 | SPEC_RULE_OP1 | SPEC_RULE_OP2, + 1974, + 1975 | SPEC_RULE_OP1, + 1980, + 1981, + 1982, + 1983, + 1984, + 1985, + 1986, + 1987 | SPEC_RULE_OP1 | SPEC_RULE_OP2, + 2012, + 2013, + 2014, + 2015 | SPEC_RULE_OP1, + 2020, + 2021 | SPEC_RULE_ISSET, + 2023 | SPEC_RULE_OP2, + 2028, + 2029, + 2030, + 2031, + 2032 | SPEC_RULE_OP1 | SPEC_RULE_OP2, + 2057 | SPEC_RULE_OP1, + 2062, + 2063, + 2064, + 2065, + 2066 | SPEC_RULE_OP1, + 2071, + 2072, + 2073 | SPEC_RULE_OP1, + 2078 | SPEC_RULE_OP1 | SPEC_RULE_OP2, 2103, - 2104, - 2105, - 2106, - 2107 | SPEC_RULE_OP1, - 2112 | SPEC_RULE_OP1, + 2104 | SPEC_RULE_OP1, + 2109, + 2110, + 2111, + 2112, + 2113, + 2114, + 2115, + 2116, 2117 | SPEC_RULE_OP1, - 2122 | SPEC_RULE_OP1, + 2122, + 2123, + 2124, + 2125, + 2126, 2127 | SPEC_RULE_OP1, - 2132, - 2133 | SPEC_RULE_OP1, - 2138 | SPEC_RULE_OP1 | SPEC_RULE_OP2, - 3056 + 2132 | SPEC_RULE_OP1, + 2137 | SPEC_RULE_OP1, + 2142 | SPEC_RULE_OP1, + 2147 | SPEC_RULE_OP1, + 2152, + 2153 | SPEC_RULE_OP1, + 2158 | SPEC_RULE_OP1 | SPEC_RULE_OP2, + 3076 }; #if (ZEND_VM_KIND == ZEND_VM_KIND_HYBRID) zend_opcode_handler_funcs = labels; @@ -61490,7 +62040,7 @@ ZEND_API void ZEND_FASTCALL zend_vm_set_opcode_handler_ex(zend_op* op, uint32_t if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) { break; } - spec = 2164 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_COMMUTATIVE; + spec = 2184 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_COMMUTATIVE; if (op->op1_type < op->op2_type) { zend_swap_operands(op); } @@ -61498,7 +62048,7 @@ ZEND_API void ZEND_FASTCALL zend_vm_set_opcode_handler_ex(zend_op* op, uint32_t if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) { break; } - spec = 2189 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_COMMUTATIVE; + spec = 2209 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_COMMUTATIVE; if (op->op1_type < op->op2_type) { zend_swap_operands(op); } @@ -61506,7 +62056,7 @@ ZEND_API void ZEND_FASTCALL zend_vm_set_opcode_handler_ex(zend_op* op, uint32_t if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) { break; } - spec = 2214 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_COMMUTATIVE; + spec = 2234 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_COMMUTATIVE; if (op->op1_type < op->op2_type) { zend_swap_operands(op); } @@ -61517,17 +62067,17 @@ ZEND_API void ZEND_FASTCALL zend_vm_set_opcode_handler_ex(zend_op* op, uint32_t if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) { break; } - spec = 2239 | SPEC_RULE_OP1 | SPEC_RULE_OP2; + spec = 2259 | SPEC_RULE_OP1 | SPEC_RULE_OP2; } else if (op1_info == MAY_BE_LONG && op2_info == MAY_BE_LONG) { if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) { break; } - spec = 2264 | SPEC_RULE_OP1 | SPEC_RULE_OP2; + spec = 2284 | SPEC_RULE_OP1 | SPEC_RULE_OP2; } else if (op1_info == MAY_BE_DOUBLE && op2_info == MAY_BE_DOUBLE) { if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) { break; } - spec = 2289 | SPEC_RULE_OP1 | SPEC_RULE_OP2; + spec = 2309 | SPEC_RULE_OP1 | SPEC_RULE_OP2; } break; case ZEND_MUL: @@ -61538,17 +62088,17 @@ ZEND_API void ZEND_FASTCALL zend_vm_set_opcode_handler_ex(zend_op* op, uint32_t if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) { break; } - spec = 2314 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_COMMUTATIVE; + spec = 2334 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_COMMUTATIVE; } else if (op1_info == MAY_BE_LONG && op2_info == MAY_BE_LONG) { if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) { break; } - spec = 2339 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_COMMUTATIVE; + spec = 2359 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_COMMUTATIVE; } else if (op1_info == MAY_BE_DOUBLE && op2_info == MAY_BE_DOUBLE) { if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) { break; } - spec = 2364 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_COMMUTATIVE; + spec = 2384 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_COMMUTATIVE; } break; case ZEND_IS_EQUAL: @@ -61559,12 +62109,12 @@ ZEND_API void ZEND_FASTCALL zend_vm_set_opcode_handler_ex(zend_op* op, uint32_t if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) { break; } - spec = 2389 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_SMART_BRANCH | SPEC_RULE_COMMUTATIVE; + spec = 2409 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_SMART_BRANCH | SPEC_RULE_COMMUTATIVE; } else if (op1_info == MAY_BE_DOUBLE && op2_info == MAY_BE_DOUBLE) { if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) { break; } - spec = 2464 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_SMART_BRANCH | SPEC_RULE_COMMUTATIVE; + spec = 2484 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_SMART_BRANCH | SPEC_RULE_COMMUTATIVE; } break; case ZEND_IS_NOT_EQUAL: @@ -61575,12 +62125,12 @@ ZEND_API void ZEND_FASTCALL zend_vm_set_opcode_handler_ex(zend_op* op, uint32_t if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) { break; } - spec = 2539 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_SMART_BRANCH | SPEC_RULE_COMMUTATIVE; + spec = 2559 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_SMART_BRANCH | SPEC_RULE_COMMUTATIVE; } else if (op1_info == MAY_BE_DOUBLE && op2_info == MAY_BE_DOUBLE) { if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) { break; } - spec = 2614 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_SMART_BRANCH | SPEC_RULE_COMMUTATIVE; + spec = 2634 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_SMART_BRANCH | SPEC_RULE_COMMUTATIVE; } break; case ZEND_IS_SMALLER: @@ -61588,12 +62138,12 @@ ZEND_API void ZEND_FASTCALL zend_vm_set_opcode_handler_ex(zend_op* op, uint32_t if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) { break; } - spec = 2689 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_SMART_BRANCH; + spec = 2709 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_SMART_BRANCH; } else if (op1_info == MAY_BE_DOUBLE && op2_info == MAY_BE_DOUBLE) { if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) { break; } - spec = 2764 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_SMART_BRANCH; + spec = 2784 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_SMART_BRANCH; } break; case ZEND_IS_SMALLER_OR_EQUAL: @@ -61601,75 +62151,75 @@ ZEND_API void ZEND_FASTCALL zend_vm_set_opcode_handler_ex(zend_op* op, uint32_t if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) { break; } - spec = 2839 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_SMART_BRANCH; + spec = 2859 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_SMART_BRANCH; } else if (op1_info == MAY_BE_DOUBLE && op2_info == MAY_BE_DOUBLE) { if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) { break; } - spec = 2914 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_SMART_BRANCH; + spec = 2934 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_SMART_BRANCH; } break; case ZEND_QM_ASSIGN: if (op1_info == MAY_BE_DOUBLE) { - spec = 3007 | SPEC_RULE_OP1; + spec = 3027 | SPEC_RULE_OP1; } else if ((op->op1_type == IS_CONST) ? !Z_REFCOUNTED_P(RT_CONSTANT(op, op->op1)) : (!(op1_info & ((MAY_BE_ANY|MAY_BE_UNDEF)-(MAY_BE_NULL|MAY_BE_FALSE|MAY_BE_TRUE|MAY_BE_LONG|MAY_BE_DOUBLE))))) { - spec = 3012 | SPEC_RULE_OP1; + spec = 3032 | SPEC_RULE_OP1; } break; case ZEND_PRE_INC: if (res_info == MAY_BE_LONG && op1_info == MAY_BE_LONG) { - spec = 2989 | SPEC_RULE_RETVAL; + spec = 3009 | SPEC_RULE_RETVAL; } else if (op1_info == MAY_BE_LONG) { - spec = 2991 | SPEC_RULE_RETVAL; + spec = 3011 | SPEC_RULE_RETVAL; } else if (op1_info == (MAY_BE_LONG|MAY_BE_DOUBLE)) { - spec = 2993 | SPEC_RULE_RETVAL; + spec = 3013 | SPEC_RULE_RETVAL; } break; case ZEND_PRE_DEC: if (res_info == MAY_BE_LONG && op1_info == MAY_BE_LONG) { - spec = 2995 | SPEC_RULE_RETVAL; + spec = 3015 | SPEC_RULE_RETVAL; } else if (op1_info == MAY_BE_LONG) { - spec = 2997 | SPEC_RULE_RETVAL; + spec = 3017 | SPEC_RULE_RETVAL; } else if (op1_info == (MAY_BE_LONG|MAY_BE_DOUBLE)) { - spec = 2999 | SPEC_RULE_RETVAL; + spec = 3019 | SPEC_RULE_RETVAL; } break; case ZEND_POST_INC: if (res_info == MAY_BE_LONG && op1_info == MAY_BE_LONG) { - spec = 3001; + spec = 3021; } else if (op1_info == MAY_BE_LONG) { - spec = 3002; + spec = 3022; } else if (op1_info == (MAY_BE_LONG|MAY_BE_DOUBLE)) { - spec = 3003; + spec = 3023; } break; case ZEND_POST_DEC: if (res_info == MAY_BE_LONG && op1_info == MAY_BE_LONG) { - spec = 3004; + spec = 3024; } else if (op1_info == MAY_BE_LONG) { - spec = 3005; + spec = 3025; } else if (op1_info == (MAY_BE_LONG|MAY_BE_DOUBLE)) { - spec = 3006; + spec = 3026; } break; case ZEND_JMP: if (OP_JMP_ADDR(op, op->op1) > op) { - spec = 2163; + spec = 2183; } break; case ZEND_SEND_VAL: if (op->op1_type == IS_CONST && !Z_REFCOUNTED_P(RT_CONSTANT(op, op->op1))) { - spec = 3052; + spec = 3072; } break; case ZEND_SEND_VAR_EX: if (op->op2.num <= MAX_ARG_FLAG_NUM && (op1_info & (MAY_BE_UNDEF|MAY_BE_REF)) == 0) { - spec = 3047 | SPEC_RULE_OP1; + spec = 3067 | SPEC_RULE_OP1; } break; case ZEND_FE_FETCH_R: if (op->op2_type == IS_CV && (op1_info & (MAY_BE_UNDEF|MAY_BE_ANY|MAY_BE_REF)) == MAY_BE_ARRAY) { - spec = 3054 | SPEC_RULE_RETVAL; + spec = 3074 | SPEC_RULE_RETVAL; } break; case ZEND_FETCH_DIM_R: @@ -61677,17 +62227,17 @@ ZEND_API void ZEND_FASTCALL zend_vm_set_opcode_handler_ex(zend_op* op, uint32_t if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) { break; } - spec = 3017 | SPEC_RULE_OP1 | SPEC_RULE_OP2; + spec = 3037 | SPEC_RULE_OP1 | SPEC_RULE_OP2; } break; case ZEND_SEND_VAL_EX: if (op->op2.num <= MAX_ARG_FLAG_NUM && op->op1_type == IS_CONST && !Z_REFCOUNTED_P(RT_CONSTANT(op, op->op1))) { - spec = 3053; + spec = 3073; } break; case ZEND_SEND_VAR: if ((op1_info & (MAY_BE_UNDEF|MAY_BE_REF)) == 0) { - spec = 3042 | SPEC_RULE_OP1; + spec = 3062 | SPEC_RULE_OP1; } break; case ZEND_BW_OR: diff --git a/Zend/zend_vm_handlers.h b/Zend/zend_vm_handlers.h index 50d312604a43..d0b5931f824c 100644 --- a/Zend/zend_vm_handlers.h +++ b/Zend/zend_vm_handlers.h @@ -473,1216 +473,1228 @@ _(1079, ZEND_JMPNZ_EX_SPEC_TMPVAR) \ _(1080, ZEND_JMPNZ_EX_SPEC_TMPVAR) \ _(1082, ZEND_JMPNZ_EX_SPEC_CV) \ - _(1083, ZEND_CASE_SPEC_TMPVAR_CONST) \ - _(1084, ZEND_CASE_SPEC_TMPVAR_TMPVAR) \ - _(1085, ZEND_CASE_SPEC_TMPVAR_TMPVAR) \ - _(1087, ZEND_CASE_SPEC_TMPVAR_CV) \ - _(1088, ZEND_CHECK_VAR_SPEC_CV_UNUSED) \ - _(1089, ZEND_SEND_VAR_NO_REF_EX_SPEC_VAR) \ - _(1090, ZEND_SEND_VAR_NO_REF_EX_SPEC_VAR_QUICK) \ - _(1091, ZEND_CAST_SPEC_CONST) \ - _(1092, ZEND_CAST_SPEC_TMP) \ - _(1093, ZEND_CAST_SPEC_VAR) \ - _(1095, ZEND_CAST_SPEC_CV) \ - _(1096, ZEND_BOOL_SPEC_CONST) \ - _(1097, ZEND_BOOL_SPEC_TMPVAR) \ - _(1098, ZEND_BOOL_SPEC_TMPVAR) \ - _(1100, ZEND_BOOL_SPEC_CV) \ - _(1101, ZEND_FAST_CONCAT_SPEC_CONST_CONST) \ - _(1102, ZEND_FAST_CONCAT_SPEC_CONST_TMPVAR) \ - _(1103, ZEND_FAST_CONCAT_SPEC_CONST_TMPVAR) \ - _(1105, ZEND_FAST_CONCAT_SPEC_CONST_CV) \ - _(1106, ZEND_FAST_CONCAT_SPEC_TMPVAR_CONST) \ - _(1107, ZEND_FAST_CONCAT_SPEC_TMPVAR_TMPVAR) \ - _(1108, ZEND_FAST_CONCAT_SPEC_TMPVAR_TMPVAR) \ - _(1110, ZEND_FAST_CONCAT_SPEC_TMPVAR_CV) \ - _(1111, ZEND_FAST_CONCAT_SPEC_TMPVAR_CONST) \ - _(1112, ZEND_FAST_CONCAT_SPEC_TMPVAR_TMPVAR) \ - _(1113, ZEND_FAST_CONCAT_SPEC_TMPVAR_TMPVAR) \ - _(1115, ZEND_FAST_CONCAT_SPEC_TMPVAR_CV) \ - _(1121, ZEND_FAST_CONCAT_SPEC_CV_CONST) \ - _(1122, ZEND_FAST_CONCAT_SPEC_CV_TMPVAR) \ - _(1123, ZEND_FAST_CONCAT_SPEC_CV_TMPVAR) \ - _(1125, ZEND_FAST_CONCAT_SPEC_CV_CV) \ - _(1126, ZEND_ROPE_INIT_SPEC_UNUSED_CONST) \ - _(1127, ZEND_ROPE_INIT_SPEC_UNUSED_TMPVAR) \ - _(1128, ZEND_ROPE_INIT_SPEC_UNUSED_TMPVAR) \ - _(1130, ZEND_ROPE_INIT_SPEC_UNUSED_CV) \ - _(1131, ZEND_ROPE_ADD_SPEC_TMP_CONST) \ - _(1132, ZEND_ROPE_ADD_SPEC_TMP_TMPVAR) \ - _(1133, ZEND_ROPE_ADD_SPEC_TMP_TMPVAR) \ - _(1135, ZEND_ROPE_ADD_SPEC_TMP_CV) \ - _(1136, ZEND_ROPE_END_SPEC_TMP_CONST) \ - _(1137, ZEND_ROPE_END_SPEC_TMP_TMPVAR) \ - _(1138, ZEND_ROPE_END_SPEC_TMP_TMPVAR) \ - _(1140, ZEND_ROPE_END_SPEC_TMP_CV) \ - _(1141, ZEND_BEGIN_SILENCE_SPEC) \ - _(1142, ZEND_END_SILENCE_SPEC_TMP) \ - _(1143, ZEND_INIT_FCALL_BY_NAME_SPEC_CONST) \ - _(1144, ZEND_DO_FCALL_SPEC_RETVAL_UNUSED) \ - _(1145, ZEND_DO_FCALL_SPEC_RETVAL_USED) \ - _(1146, ZEND_INIT_FCALL_SPEC_CONST) \ - _(1147, ZEND_RETURN_SPEC_CONST) \ - _(1148, ZEND_RETURN_SPEC_TMP) \ - _(1149, ZEND_RETURN_SPEC_VAR) \ - _(1151, ZEND_RETURN_SPEC_CV) \ - _(1152, ZEND_RECV_SPEC_UNUSED) \ - _(1153, ZEND_RECV_INIT_SPEC_CONST) \ - _(1154, ZEND_SEND_VAL_SPEC_CONST) \ - _(1155, ZEND_SEND_VAL_SPEC_TMPVAR) \ - _(1156, ZEND_SEND_VAL_SPEC_TMPVAR) \ - _(1163, ZEND_SEND_VAR_EX_SPEC_VAR) \ - _(1164, ZEND_SEND_VAR_EX_SPEC_VAR_QUICK) \ - _(1167, ZEND_SEND_VAR_EX_SPEC_CV) \ - _(1168, ZEND_SEND_VAR_EX_SPEC_CV_QUICK) \ - _(1171, ZEND_SEND_REF_SPEC_VAR) \ - _(1173, ZEND_SEND_REF_SPEC_CV) \ - _(1174, ZEND_NEW_SPEC_CONST_UNUSED) \ - _(1176, ZEND_NEW_SPEC_VAR_UNUSED) \ - _(1177, ZEND_NEW_SPEC_UNUSED_UNUSED) \ - _(1179, ZEND_INIT_NS_FCALL_BY_NAME_SPEC_CONST) \ - _(1180, ZEND_FREE_SPEC_TMPVAR) \ - _(1181, ZEND_INIT_ARRAY_SPEC_CONST_CONST) \ - _(1182, ZEND_INIT_ARRAY_SPEC_CONST_TMPVAR) \ - _(1183, ZEND_INIT_ARRAY_SPEC_CONST_TMPVAR) \ - _(1184, ZEND_INIT_ARRAY_SPEC_CONST_UNUSED) \ - _(1185, ZEND_INIT_ARRAY_SPEC_CONST_CV) \ - _(1186, ZEND_INIT_ARRAY_SPEC_TMP_CONST) \ - _(1187, ZEND_INIT_ARRAY_SPEC_TMP_TMPVAR) \ - _(1188, ZEND_INIT_ARRAY_SPEC_TMP_TMPVAR) \ - _(1189, ZEND_INIT_ARRAY_SPEC_TMP_UNUSED) \ - _(1190, ZEND_INIT_ARRAY_SPEC_TMP_CV) \ - _(1191, ZEND_INIT_ARRAY_SPEC_VAR_CONST) \ - _(1192, ZEND_INIT_ARRAY_SPEC_VAR_TMPVAR) \ - _(1193, ZEND_INIT_ARRAY_SPEC_VAR_TMPVAR) \ - _(1194, ZEND_INIT_ARRAY_SPEC_VAR_UNUSED) \ - _(1195, ZEND_INIT_ARRAY_SPEC_VAR_CV) \ - _(1196, ZEND_INIT_ARRAY_SPEC_UNUSED_CONST) \ - _(1197, ZEND_INIT_ARRAY_SPEC_UNUSED_TMPVAR) \ - _(1198, ZEND_INIT_ARRAY_SPEC_UNUSED_TMPVAR) \ - _(1199, ZEND_INIT_ARRAY_SPEC_UNUSED_UNUSED) \ - _(1200, ZEND_INIT_ARRAY_SPEC_UNUSED_CV) \ - _(1201, ZEND_INIT_ARRAY_SPEC_CV_CONST) \ - _(1202, ZEND_INIT_ARRAY_SPEC_CV_TMPVAR) \ - _(1203, ZEND_INIT_ARRAY_SPEC_CV_TMPVAR) \ - _(1204, ZEND_INIT_ARRAY_SPEC_CV_UNUSED) \ - _(1205, ZEND_INIT_ARRAY_SPEC_CV_CV) \ - _(1206, ZEND_ADD_ARRAY_ELEMENT_SPEC_CONST_CONST) \ - _(1207, ZEND_ADD_ARRAY_ELEMENT_SPEC_CONST_TMPVAR) \ - _(1208, ZEND_ADD_ARRAY_ELEMENT_SPEC_CONST_TMPVAR) \ - _(1209, ZEND_ADD_ARRAY_ELEMENT_SPEC_CONST_UNUSED) \ - _(1210, ZEND_ADD_ARRAY_ELEMENT_SPEC_CONST_CV) \ - _(1211, ZEND_ADD_ARRAY_ELEMENT_SPEC_TMP_CONST) \ - _(1212, ZEND_ADD_ARRAY_ELEMENT_SPEC_TMP_TMPVAR) \ - _(1213, ZEND_ADD_ARRAY_ELEMENT_SPEC_TMP_TMPVAR) \ - _(1214, ZEND_ADD_ARRAY_ELEMENT_SPEC_TMP_UNUSED) \ - _(1215, ZEND_ADD_ARRAY_ELEMENT_SPEC_TMP_CV) \ - _(1216, ZEND_ADD_ARRAY_ELEMENT_SPEC_VAR_CONST) \ - _(1217, ZEND_ADD_ARRAY_ELEMENT_SPEC_VAR_TMPVAR) \ - _(1218, ZEND_ADD_ARRAY_ELEMENT_SPEC_VAR_TMPVAR) \ - _(1219, ZEND_ADD_ARRAY_ELEMENT_SPEC_VAR_UNUSED) \ - _(1220, ZEND_ADD_ARRAY_ELEMENT_SPEC_VAR_CV) \ - _(1226, ZEND_ADD_ARRAY_ELEMENT_SPEC_CV_CONST) \ - _(1227, ZEND_ADD_ARRAY_ELEMENT_SPEC_CV_TMPVAR) \ - _(1228, ZEND_ADD_ARRAY_ELEMENT_SPEC_CV_TMPVAR) \ - _(1229, ZEND_ADD_ARRAY_ELEMENT_SPEC_CV_UNUSED) \ - _(1230, ZEND_ADD_ARRAY_ELEMENT_SPEC_CV_CV) \ - _(1231, ZEND_INCLUDE_OR_EVAL_SPEC_CONST) \ - _(1232, ZEND_INCLUDE_OR_EVAL_SPEC_TMPVAR) \ - _(1233, ZEND_INCLUDE_OR_EVAL_SPEC_TMPVAR) \ - _(1235, ZEND_INCLUDE_OR_EVAL_SPEC_CV) \ - _(1236, ZEND_UNSET_VAR_SPEC_CONST_UNUSED) \ - _(1237, ZEND_UNSET_VAR_SPEC_TMPVAR_UNUSED) \ - _(1238, ZEND_UNSET_VAR_SPEC_TMPVAR_UNUSED) \ - _(1240, ZEND_UNSET_VAR_SPEC_CV_UNUSED) \ - _(1251, ZEND_UNSET_DIM_SPEC_VAR_CONST) \ - _(1252, ZEND_UNSET_DIM_SPEC_VAR_TMPVAR) \ - _(1253, ZEND_UNSET_DIM_SPEC_VAR_TMPVAR) \ - _(1255, ZEND_UNSET_DIM_SPEC_VAR_CV) \ - _(1261, ZEND_UNSET_DIM_SPEC_CV_CONST) \ - _(1262, ZEND_UNSET_DIM_SPEC_CV_TMPVAR) \ - _(1263, ZEND_UNSET_DIM_SPEC_CV_TMPVAR) \ - _(1265, ZEND_UNSET_DIM_SPEC_CV_CV) \ - _(1276, ZEND_UNSET_OBJ_SPEC_VAR_CONST) \ - _(1277, ZEND_UNSET_OBJ_SPEC_VAR_TMPVAR) \ - _(1278, ZEND_UNSET_OBJ_SPEC_VAR_TMPVAR) \ - _(1280, ZEND_UNSET_OBJ_SPEC_VAR_CV) \ - _(1281, ZEND_UNSET_OBJ_SPEC_UNUSED_CONST) \ - _(1282, ZEND_UNSET_OBJ_SPEC_UNUSED_TMPVAR) \ - _(1283, ZEND_UNSET_OBJ_SPEC_UNUSED_TMPVAR) \ - _(1285, ZEND_UNSET_OBJ_SPEC_UNUSED_CV) \ - _(1286, ZEND_UNSET_OBJ_SPEC_CV_CONST) \ - _(1287, ZEND_UNSET_OBJ_SPEC_CV_TMPVAR) \ - _(1288, ZEND_UNSET_OBJ_SPEC_CV_TMPVAR) \ - _(1290, ZEND_UNSET_OBJ_SPEC_CV_CV) \ - _(1291, ZEND_FE_RESET_R_SPEC_CONST) \ - _(1292, ZEND_FE_RESET_R_SPEC_TMP) \ - _(1293, ZEND_FE_RESET_R_SPEC_VAR) \ - _(1295, ZEND_FE_RESET_R_SPEC_CV) \ - _(1296, ZEND_FE_FETCH_R_SPEC_VAR) \ - _(1297, ZEND_EXIT_SPEC) \ - _(1298, ZEND_FETCH_R_SPEC_CONST_UNUSED) \ - _(1299, ZEND_FETCH_R_SPEC_TMPVAR_UNUSED) \ - _(1300, ZEND_FETCH_R_SPEC_TMPVAR_UNUSED) \ - _(1302, ZEND_FETCH_R_SPEC_CV_UNUSED) \ - _(1303, ZEND_FETCH_DIM_R_SPEC_CONST_CONST) \ - _(1304, ZEND_FETCH_DIM_R_SPEC_CONST_TMPVAR) \ - _(1305, ZEND_FETCH_DIM_R_SPEC_CONST_TMPVAR) \ - _(1307, ZEND_FETCH_DIM_R_SPEC_CONST_CV) \ - _(1308, ZEND_FETCH_DIM_R_SPEC_TMPVAR_CONST) \ - _(1309, ZEND_FETCH_DIM_R_SPEC_TMPVAR_TMPVAR) \ - _(1310, ZEND_FETCH_DIM_R_SPEC_TMPVAR_TMPVAR) \ - _(1312, ZEND_FETCH_DIM_R_SPEC_TMPVAR_CV) \ - _(1313, ZEND_FETCH_DIM_R_SPEC_TMPVAR_CONST) \ - _(1314, ZEND_FETCH_DIM_R_SPEC_TMPVAR_TMPVAR) \ - _(1315, ZEND_FETCH_DIM_R_SPEC_TMPVAR_TMPVAR) \ - _(1317, ZEND_FETCH_DIM_R_SPEC_TMPVAR_CV) \ - _(1323, ZEND_FETCH_DIM_R_SPEC_CV_CONST) \ - _(1324, ZEND_FETCH_DIM_R_SPEC_CV_TMPVAR) \ - _(1325, ZEND_FETCH_DIM_R_SPEC_CV_TMPVAR) \ - _(1327, ZEND_FETCH_DIM_R_SPEC_CV_CV) \ - _(1328, ZEND_FETCH_OBJ_R_SPEC_CONST_CONST) \ - _(1329, ZEND_FETCH_OBJ_R_SPEC_CONST_TMPVAR) \ - _(1330, ZEND_FETCH_OBJ_R_SPEC_CONST_TMPVAR) \ - _(1332, ZEND_FETCH_OBJ_R_SPEC_CONST_CV) \ - _(1333, ZEND_FETCH_OBJ_R_SPEC_TMPVAR_CONST) \ - _(1334, ZEND_FETCH_OBJ_R_SPEC_TMPVAR_TMPVAR) \ - _(1335, ZEND_FETCH_OBJ_R_SPEC_TMPVAR_TMPVAR) \ - _(1337, ZEND_FETCH_OBJ_R_SPEC_TMPVAR_CV) \ - _(1338, ZEND_FETCH_OBJ_R_SPEC_TMPVAR_CONST) \ - _(1339, ZEND_FETCH_OBJ_R_SPEC_TMPVAR_TMPVAR) \ - _(1340, ZEND_FETCH_OBJ_R_SPEC_TMPVAR_TMPVAR) \ - _(1342, ZEND_FETCH_OBJ_R_SPEC_TMPVAR_CV) \ - _(1343, ZEND_FETCH_OBJ_R_SPEC_UNUSED_CONST) \ - _(1344, ZEND_FETCH_OBJ_R_SPEC_UNUSED_TMPVAR) \ - _(1345, ZEND_FETCH_OBJ_R_SPEC_UNUSED_TMPVAR) \ - _(1347, ZEND_FETCH_OBJ_R_SPEC_UNUSED_CV) \ - _(1348, ZEND_FETCH_OBJ_R_SPEC_CV_CONST) \ - _(1349, ZEND_FETCH_OBJ_R_SPEC_CV_TMPVAR) \ - _(1350, ZEND_FETCH_OBJ_R_SPEC_CV_TMPVAR) \ - _(1352, ZEND_FETCH_OBJ_R_SPEC_CV_CV) \ - _(1353, ZEND_FETCH_W_SPEC_CONST_UNUSED) \ - _(1354, ZEND_FETCH_W_SPEC_TMPVAR_UNUSED) \ - _(1355, ZEND_FETCH_W_SPEC_TMPVAR_UNUSED) \ - _(1357, ZEND_FETCH_W_SPEC_CV_UNUSED) \ - _(1368, ZEND_FETCH_DIM_W_SPEC_VAR_CONST) \ - _(1369, ZEND_FETCH_DIM_W_SPEC_VAR_TMPVAR) \ - _(1370, ZEND_FETCH_DIM_W_SPEC_VAR_TMPVAR) \ - _(1371, ZEND_FETCH_DIM_W_SPEC_VAR_UNUSED) \ - _(1372, ZEND_FETCH_DIM_W_SPEC_VAR_CV) \ - _(1378, ZEND_FETCH_DIM_W_SPEC_CV_CONST) \ - _(1379, ZEND_FETCH_DIM_W_SPEC_CV_TMPVAR) \ - _(1380, ZEND_FETCH_DIM_W_SPEC_CV_TMPVAR) \ - _(1381, ZEND_FETCH_DIM_W_SPEC_CV_UNUSED) \ - _(1382, ZEND_FETCH_DIM_W_SPEC_CV_CV) \ - _(1393, ZEND_FETCH_OBJ_W_SPEC_VAR_CONST) \ - _(1394, ZEND_FETCH_OBJ_W_SPEC_VAR_TMPVAR) \ - _(1395, ZEND_FETCH_OBJ_W_SPEC_VAR_TMPVAR) \ - _(1397, ZEND_FETCH_OBJ_W_SPEC_VAR_CV) \ - _(1398, ZEND_FETCH_OBJ_W_SPEC_UNUSED_CONST) \ - _(1399, ZEND_FETCH_OBJ_W_SPEC_UNUSED_TMPVAR) \ - _(1400, ZEND_FETCH_OBJ_W_SPEC_UNUSED_TMPVAR) \ - _(1402, ZEND_FETCH_OBJ_W_SPEC_UNUSED_CV) \ - _(1403, ZEND_FETCH_OBJ_W_SPEC_CV_CONST) \ - _(1404, ZEND_FETCH_OBJ_W_SPEC_CV_TMPVAR) \ - _(1405, ZEND_FETCH_OBJ_W_SPEC_CV_TMPVAR) \ - _(1407, ZEND_FETCH_OBJ_W_SPEC_CV_CV) \ - _(1408, ZEND_FETCH_RW_SPEC_CONST_UNUSED) \ - _(1409, ZEND_FETCH_RW_SPEC_TMPVAR_UNUSED) \ - _(1410, ZEND_FETCH_RW_SPEC_TMPVAR_UNUSED) \ - _(1412, ZEND_FETCH_RW_SPEC_CV_UNUSED) \ - _(1423, ZEND_FETCH_DIM_RW_SPEC_VAR_CONST) \ - _(1424, ZEND_FETCH_DIM_RW_SPEC_VAR_TMPVAR) \ - _(1425, ZEND_FETCH_DIM_RW_SPEC_VAR_TMPVAR) \ - _(1426, ZEND_FETCH_DIM_RW_SPEC_VAR_UNUSED) \ - _(1427, ZEND_FETCH_DIM_RW_SPEC_VAR_CV) \ - _(1433, ZEND_FETCH_DIM_RW_SPEC_CV_CONST) \ - _(1434, ZEND_FETCH_DIM_RW_SPEC_CV_TMPVAR) \ - _(1435, ZEND_FETCH_DIM_RW_SPEC_CV_TMPVAR) \ - _(1436, ZEND_FETCH_DIM_RW_SPEC_CV_UNUSED) \ - _(1437, ZEND_FETCH_DIM_RW_SPEC_CV_CV) \ - _(1448, ZEND_FETCH_OBJ_RW_SPEC_VAR_CONST) \ - _(1449, ZEND_FETCH_OBJ_RW_SPEC_VAR_TMPVAR) \ - _(1450, ZEND_FETCH_OBJ_RW_SPEC_VAR_TMPVAR) \ - _(1452, ZEND_FETCH_OBJ_RW_SPEC_VAR_CV) \ - _(1453, ZEND_FETCH_OBJ_RW_SPEC_UNUSED_CONST) \ - _(1454, ZEND_FETCH_OBJ_RW_SPEC_UNUSED_TMPVAR) \ - _(1455, ZEND_FETCH_OBJ_RW_SPEC_UNUSED_TMPVAR) \ - _(1457, ZEND_FETCH_OBJ_RW_SPEC_UNUSED_CV) \ - _(1458, ZEND_FETCH_OBJ_RW_SPEC_CV_CONST) \ - _(1459, ZEND_FETCH_OBJ_RW_SPEC_CV_TMPVAR) \ - _(1460, ZEND_FETCH_OBJ_RW_SPEC_CV_TMPVAR) \ - _(1462, ZEND_FETCH_OBJ_RW_SPEC_CV_CV) \ - _(1463, ZEND_FETCH_IS_SPEC_CONST_UNUSED) \ - _(1464, ZEND_FETCH_IS_SPEC_TMPVAR_UNUSED) \ - _(1465, ZEND_FETCH_IS_SPEC_TMPVAR_UNUSED) \ - _(1467, ZEND_FETCH_IS_SPEC_CV_UNUSED) \ - _(1468, ZEND_FETCH_DIM_IS_SPEC_CONST_CONST) \ - _(1469, ZEND_FETCH_DIM_IS_SPEC_CONST_TMPVAR) \ - _(1470, ZEND_FETCH_DIM_IS_SPEC_CONST_TMPVAR) \ - _(1472, ZEND_FETCH_DIM_IS_SPEC_CONST_CV) \ - _(1473, ZEND_FETCH_DIM_IS_SPEC_TMPVAR_CONST) \ - _(1474, ZEND_FETCH_DIM_IS_SPEC_TMPVAR_TMPVAR) \ - _(1475, ZEND_FETCH_DIM_IS_SPEC_TMPVAR_TMPVAR) \ - _(1477, ZEND_FETCH_DIM_IS_SPEC_TMPVAR_CV) \ - _(1478, ZEND_FETCH_DIM_IS_SPEC_TMPVAR_CONST) \ - _(1479, ZEND_FETCH_DIM_IS_SPEC_TMPVAR_TMPVAR) \ - _(1480, ZEND_FETCH_DIM_IS_SPEC_TMPVAR_TMPVAR) \ - _(1482, ZEND_FETCH_DIM_IS_SPEC_TMPVAR_CV) \ - _(1488, ZEND_FETCH_DIM_IS_SPEC_CV_CONST) \ - _(1489, ZEND_FETCH_DIM_IS_SPEC_CV_TMPVAR) \ - _(1490, ZEND_FETCH_DIM_IS_SPEC_CV_TMPVAR) \ - _(1492, ZEND_FETCH_DIM_IS_SPEC_CV_CV) \ - _(1493, ZEND_FETCH_OBJ_IS_SPEC_CONST_CONST) \ - _(1494, ZEND_FETCH_OBJ_IS_SPEC_CONST_TMPVAR) \ - _(1495, ZEND_FETCH_OBJ_IS_SPEC_CONST_TMPVAR) \ - _(1497, ZEND_FETCH_OBJ_IS_SPEC_CONST_CV) \ - _(1498, ZEND_FETCH_OBJ_IS_SPEC_TMPVAR_CONST) \ - _(1499, ZEND_FETCH_OBJ_IS_SPEC_TMPVAR_TMPVAR) \ - _(1500, ZEND_FETCH_OBJ_IS_SPEC_TMPVAR_TMPVAR) \ - _(1502, ZEND_FETCH_OBJ_IS_SPEC_TMPVAR_CV) \ - _(1503, ZEND_FETCH_OBJ_IS_SPEC_TMPVAR_CONST) \ - _(1504, ZEND_FETCH_OBJ_IS_SPEC_TMPVAR_TMPVAR) \ - _(1505, ZEND_FETCH_OBJ_IS_SPEC_TMPVAR_TMPVAR) \ - _(1507, ZEND_FETCH_OBJ_IS_SPEC_TMPVAR_CV) \ - _(1508, ZEND_FETCH_OBJ_IS_SPEC_UNUSED_CONST) \ - _(1509, ZEND_FETCH_OBJ_IS_SPEC_UNUSED_TMPVAR) \ - _(1510, ZEND_FETCH_OBJ_IS_SPEC_UNUSED_TMPVAR) \ - _(1512, ZEND_FETCH_OBJ_IS_SPEC_UNUSED_CV) \ - _(1513, ZEND_FETCH_OBJ_IS_SPEC_CV_CONST) \ - _(1514, ZEND_FETCH_OBJ_IS_SPEC_CV_TMPVAR) \ - _(1515, ZEND_FETCH_OBJ_IS_SPEC_CV_TMPVAR) \ - _(1517, ZEND_FETCH_OBJ_IS_SPEC_CV_CV) \ - _(1518, ZEND_FETCH_FUNC_ARG_SPEC_CONST_UNUSED) \ - _(1519, ZEND_FETCH_FUNC_ARG_SPEC_TMPVAR_UNUSED) \ - _(1520, ZEND_FETCH_FUNC_ARG_SPEC_TMPVAR_UNUSED) \ - _(1522, ZEND_FETCH_FUNC_ARG_SPEC_CV_UNUSED) \ - _(1523, ZEND_FETCH_DIM_FUNC_ARG_SPEC_CONST_CONST) \ - _(1524, ZEND_FETCH_DIM_FUNC_ARG_SPEC_CONST_TMPVAR) \ - _(1525, ZEND_FETCH_DIM_FUNC_ARG_SPEC_CONST_TMPVAR) \ - _(1526, ZEND_FETCH_DIM_FUNC_ARG_SPEC_CONST_UNUSED) \ - _(1527, ZEND_FETCH_DIM_FUNC_ARG_SPEC_CONST_CV) \ - _(1528, ZEND_FETCH_DIM_FUNC_ARG_SPEC_TMP_CONST) \ - _(1529, ZEND_FETCH_DIM_FUNC_ARG_SPEC_TMP_TMPVAR) \ - _(1530, ZEND_FETCH_DIM_FUNC_ARG_SPEC_TMP_TMPVAR) \ - _(1531, ZEND_FETCH_DIM_FUNC_ARG_SPEC_TMP_UNUSED) \ - _(1532, ZEND_FETCH_DIM_FUNC_ARG_SPEC_TMP_CV) \ - _(1533, ZEND_FETCH_DIM_FUNC_ARG_SPEC_VAR_CONST) \ - _(1534, ZEND_FETCH_DIM_FUNC_ARG_SPEC_VAR_TMPVAR) \ - _(1535, ZEND_FETCH_DIM_FUNC_ARG_SPEC_VAR_TMPVAR) \ - _(1536, ZEND_FETCH_DIM_FUNC_ARG_SPEC_VAR_UNUSED) \ - _(1537, ZEND_FETCH_DIM_FUNC_ARG_SPEC_VAR_CV) \ - _(1543, ZEND_FETCH_DIM_FUNC_ARG_SPEC_CV_CONST) \ - _(1544, ZEND_FETCH_DIM_FUNC_ARG_SPEC_CV_TMPVAR) \ - _(1545, ZEND_FETCH_DIM_FUNC_ARG_SPEC_CV_TMPVAR) \ - _(1546, ZEND_FETCH_DIM_FUNC_ARG_SPEC_CV_UNUSED) \ - _(1547, ZEND_FETCH_DIM_FUNC_ARG_SPEC_CV_CV) \ - _(1548, ZEND_FETCH_OBJ_FUNC_ARG_SPEC_CONST_CONST) \ - _(1549, ZEND_FETCH_OBJ_FUNC_ARG_SPEC_CONST_TMPVAR) \ - _(1550, ZEND_FETCH_OBJ_FUNC_ARG_SPEC_CONST_TMPVAR) \ - _(1552, ZEND_FETCH_OBJ_FUNC_ARG_SPEC_CONST_CV) \ - _(1553, ZEND_FETCH_OBJ_FUNC_ARG_SPEC_TMP_CONST) \ - _(1554, ZEND_FETCH_OBJ_FUNC_ARG_SPEC_TMP_TMPVAR) \ - _(1555, ZEND_FETCH_OBJ_FUNC_ARG_SPEC_TMP_TMPVAR) \ - _(1557, ZEND_FETCH_OBJ_FUNC_ARG_SPEC_TMP_CV) \ - _(1558, ZEND_FETCH_OBJ_FUNC_ARG_SPEC_VAR_CONST) \ - _(1559, ZEND_FETCH_OBJ_FUNC_ARG_SPEC_VAR_TMPVAR) \ - _(1560, ZEND_FETCH_OBJ_FUNC_ARG_SPEC_VAR_TMPVAR) \ - _(1562, ZEND_FETCH_OBJ_FUNC_ARG_SPEC_VAR_CV) \ - _(1563, ZEND_FETCH_OBJ_FUNC_ARG_SPEC_UNUSED_CONST) \ - _(1564, ZEND_FETCH_OBJ_FUNC_ARG_SPEC_UNUSED_TMPVAR) \ - _(1565, ZEND_FETCH_OBJ_FUNC_ARG_SPEC_UNUSED_TMPVAR) \ - _(1567, ZEND_FETCH_OBJ_FUNC_ARG_SPEC_UNUSED_CV) \ - _(1568, ZEND_FETCH_OBJ_FUNC_ARG_SPEC_CV_CONST) \ - _(1569, ZEND_FETCH_OBJ_FUNC_ARG_SPEC_CV_TMPVAR) \ - _(1570, ZEND_FETCH_OBJ_FUNC_ARG_SPEC_CV_TMPVAR) \ - _(1572, ZEND_FETCH_OBJ_FUNC_ARG_SPEC_CV_CV) \ - _(1573, ZEND_FETCH_UNSET_SPEC_CONST_UNUSED) \ - _(1574, ZEND_FETCH_UNSET_SPEC_TMPVAR_UNUSED) \ - _(1575, ZEND_FETCH_UNSET_SPEC_TMPVAR_UNUSED) \ - _(1577, ZEND_FETCH_UNSET_SPEC_CV_UNUSED) \ - _(1588, ZEND_FETCH_DIM_UNSET_SPEC_VAR_CONST) \ - _(1589, ZEND_FETCH_DIM_UNSET_SPEC_VAR_TMPVAR) \ - _(1590, ZEND_FETCH_DIM_UNSET_SPEC_VAR_TMPVAR) \ - _(1592, ZEND_FETCH_DIM_UNSET_SPEC_VAR_CV) \ - _(1598, ZEND_FETCH_DIM_UNSET_SPEC_CV_CONST) \ - _(1599, ZEND_FETCH_DIM_UNSET_SPEC_CV_TMPVAR) \ - _(1600, ZEND_FETCH_DIM_UNSET_SPEC_CV_TMPVAR) \ - _(1602, ZEND_FETCH_DIM_UNSET_SPEC_CV_CV) \ - _(1613, ZEND_FETCH_OBJ_UNSET_SPEC_VAR_CONST) \ - _(1614, ZEND_FETCH_OBJ_UNSET_SPEC_VAR_TMPVAR) \ - _(1615, ZEND_FETCH_OBJ_UNSET_SPEC_VAR_TMPVAR) \ - _(1617, ZEND_FETCH_OBJ_UNSET_SPEC_VAR_CV) \ - _(1618, ZEND_FETCH_OBJ_UNSET_SPEC_UNUSED_CONST) \ - _(1619, ZEND_FETCH_OBJ_UNSET_SPEC_UNUSED_TMPVAR) \ - _(1620, ZEND_FETCH_OBJ_UNSET_SPEC_UNUSED_TMPVAR) \ - _(1622, ZEND_FETCH_OBJ_UNSET_SPEC_UNUSED_CV) \ - _(1623, ZEND_FETCH_OBJ_UNSET_SPEC_CV_CONST) \ - _(1624, ZEND_FETCH_OBJ_UNSET_SPEC_CV_TMPVAR) \ - _(1625, ZEND_FETCH_OBJ_UNSET_SPEC_CV_TMPVAR) \ - _(1627, ZEND_FETCH_OBJ_UNSET_SPEC_CV_CV) \ - _(1628, ZEND_FETCH_LIST_R_SPEC_CONST_CONST) \ - _(1629, ZEND_FETCH_LIST_R_SPEC_CONST_TMPVAR) \ - _(1630, ZEND_FETCH_LIST_R_SPEC_CONST_TMPVAR) \ - _(1632, ZEND_FETCH_LIST_R_SPEC_CONST_CV) \ - _(1633, ZEND_FETCH_LIST_R_SPEC_TMPVARCV_CONST) \ - _(1634, ZEND_FETCH_LIST_R_SPEC_TMPVARCV_TMPVAR) \ - _(1635, ZEND_FETCH_LIST_R_SPEC_TMPVARCV_TMPVAR) \ - _(1637, ZEND_FETCH_LIST_R_SPEC_TMPVARCV_CV) \ - _(1638, ZEND_FETCH_LIST_R_SPEC_TMPVARCV_CONST) \ - _(1639, ZEND_FETCH_LIST_R_SPEC_TMPVARCV_TMPVAR) \ - _(1640, ZEND_FETCH_LIST_R_SPEC_TMPVARCV_TMPVAR) \ - _(1642, ZEND_FETCH_LIST_R_SPEC_TMPVARCV_CV) \ - _(1648, ZEND_FETCH_LIST_R_SPEC_TMPVARCV_CONST) \ - _(1649, ZEND_FETCH_LIST_R_SPEC_TMPVARCV_TMPVAR) \ - _(1650, ZEND_FETCH_LIST_R_SPEC_TMPVARCV_TMPVAR) \ - _(1652, ZEND_FETCH_LIST_R_SPEC_TMPVARCV_CV) \ - _(1653, ZEND_FETCH_CONSTANT_SPEC_UNUSED_CONST) \ - _(1654, ZEND_CHECK_FUNC_ARG_SPEC_UNUSED) \ - _(1655, ZEND_CHECK_FUNC_ARG_SPEC_UNUSED_QUICK) \ - _(1656, ZEND_EXT_STMT_SPEC) \ - _(1657, ZEND_EXT_FCALL_BEGIN_SPEC) \ - _(1658, ZEND_EXT_FCALL_END_SPEC) \ - _(1659, ZEND_EXT_NOP_SPEC) \ - _(1660, ZEND_TICKS_SPEC) \ - _(1661, ZEND_SEND_VAR_NO_REF_SPEC_VAR) \ - _(1662, ZEND_CATCH_SPEC_CONST) \ - _(1663, ZEND_THROW_SPEC_CONST) \ - _(1664, ZEND_THROW_SPEC_TMP) \ - _(1665, ZEND_THROW_SPEC_VAR) \ - _(1667, ZEND_THROW_SPEC_CV) \ - _(1668, ZEND_FETCH_CLASS_SPEC_UNUSED_CONST) \ - _(1669, ZEND_FETCH_CLASS_SPEC_UNUSED_TMPVAR) \ - _(1670, ZEND_FETCH_CLASS_SPEC_UNUSED_TMPVAR) \ - _(1671, ZEND_FETCH_CLASS_SPEC_UNUSED_UNUSED) \ - _(1672, ZEND_FETCH_CLASS_SPEC_UNUSED_CV) \ - _(1673, ZEND_CLONE_SPEC_CONST) \ - _(1674, ZEND_CLONE_SPEC_TMPVAR) \ - _(1675, ZEND_CLONE_SPEC_TMPVAR) \ - _(1676, ZEND_CLONE_SPEC_UNUSED) \ - _(1677, ZEND_CLONE_SPEC_CV) \ - _(1678, ZEND_RETURN_BY_REF_SPEC_CONST) \ - _(1679, ZEND_RETURN_BY_REF_SPEC_TMP) \ - _(1680, ZEND_RETURN_BY_REF_SPEC_VAR) \ - _(1682, ZEND_RETURN_BY_REF_SPEC_CV) \ - _(1683, ZEND_INIT_METHOD_CALL_SPEC_CONST_CONST) \ - _(1684, ZEND_INIT_METHOD_CALL_SPEC_CONST_TMPVAR) \ - _(1685, ZEND_INIT_METHOD_CALL_SPEC_CONST_TMPVAR) \ - _(1687, ZEND_INIT_METHOD_CALL_SPEC_CONST_CV) \ - _(1688, ZEND_INIT_METHOD_CALL_SPEC_TMPVAR_CONST) \ - _(1689, ZEND_INIT_METHOD_CALL_SPEC_TMPVAR_TMPVAR) \ - _(1690, ZEND_INIT_METHOD_CALL_SPEC_TMPVAR_TMPVAR) \ - _(1692, ZEND_INIT_METHOD_CALL_SPEC_TMPVAR_CV) \ - _(1693, ZEND_INIT_METHOD_CALL_SPEC_TMPVAR_CONST) \ - _(1694, ZEND_INIT_METHOD_CALL_SPEC_TMPVAR_TMPVAR) \ - _(1695, ZEND_INIT_METHOD_CALL_SPEC_TMPVAR_TMPVAR) \ - _(1697, ZEND_INIT_METHOD_CALL_SPEC_TMPVAR_CV) \ - _(1698, ZEND_INIT_METHOD_CALL_SPEC_UNUSED_CONST) \ - _(1699, ZEND_INIT_METHOD_CALL_SPEC_UNUSED_TMPVAR) \ - _(1700, ZEND_INIT_METHOD_CALL_SPEC_UNUSED_TMPVAR) \ - _(1702, ZEND_INIT_METHOD_CALL_SPEC_UNUSED_CV) \ - _(1703, ZEND_INIT_METHOD_CALL_SPEC_CV_CONST) \ - _(1704, ZEND_INIT_METHOD_CALL_SPEC_CV_TMPVAR) \ - _(1705, ZEND_INIT_METHOD_CALL_SPEC_CV_TMPVAR) \ - _(1707, ZEND_INIT_METHOD_CALL_SPEC_CV_CV) \ - _(1708, ZEND_INIT_STATIC_METHOD_CALL_SPEC_CONST_CONST) \ - _(1709, ZEND_INIT_STATIC_METHOD_CALL_SPEC_CONST_TMPVAR) \ - _(1710, ZEND_INIT_STATIC_METHOD_CALL_SPEC_CONST_TMPVAR) \ - _(1711, ZEND_INIT_STATIC_METHOD_CALL_SPEC_CONST_UNUSED) \ - _(1712, ZEND_INIT_STATIC_METHOD_CALL_SPEC_CONST_CV) \ - _(1718, ZEND_INIT_STATIC_METHOD_CALL_SPEC_VAR_CONST) \ - _(1719, ZEND_INIT_STATIC_METHOD_CALL_SPEC_VAR_TMPVAR) \ - _(1720, ZEND_INIT_STATIC_METHOD_CALL_SPEC_VAR_TMPVAR) \ - _(1721, ZEND_INIT_STATIC_METHOD_CALL_SPEC_VAR_UNUSED) \ - _(1722, ZEND_INIT_STATIC_METHOD_CALL_SPEC_VAR_CV) \ - _(1723, ZEND_INIT_STATIC_METHOD_CALL_SPEC_UNUSED_CONST) \ - _(1724, ZEND_INIT_STATIC_METHOD_CALL_SPEC_UNUSED_TMPVAR) \ - _(1725, ZEND_INIT_STATIC_METHOD_CALL_SPEC_UNUSED_TMPVAR) \ - _(1726, ZEND_INIT_STATIC_METHOD_CALL_SPEC_UNUSED_UNUSED) \ - _(1727, ZEND_INIT_STATIC_METHOD_CALL_SPEC_UNUSED_CV) \ - _(1733, ZEND_ISSET_ISEMPTY_VAR_SPEC_CONST_UNUSED) \ - _(1734, ZEND_ISSET_ISEMPTY_VAR_SPEC_TMPVAR_UNUSED) \ - _(1735, ZEND_ISSET_ISEMPTY_VAR_SPEC_TMPVAR_UNUSED) \ - _(1737, ZEND_ISSET_ISEMPTY_VAR_SPEC_CV_UNUSED) \ - _(1738, ZEND_ISSET_ISEMPTY_DIM_OBJ_SPEC_CONST_CONST) \ - _(1739, ZEND_ISSET_ISEMPTY_DIM_OBJ_SPEC_CONST_TMPVAR) \ - _(1740, ZEND_ISSET_ISEMPTY_DIM_OBJ_SPEC_CONST_TMPVAR) \ - _(1742, ZEND_ISSET_ISEMPTY_DIM_OBJ_SPEC_CONST_CV) \ - _(1743, ZEND_ISSET_ISEMPTY_DIM_OBJ_SPEC_TMPVAR_CONST) \ - _(1744, ZEND_ISSET_ISEMPTY_DIM_OBJ_SPEC_TMPVAR_TMPVAR) \ - _(1745, ZEND_ISSET_ISEMPTY_DIM_OBJ_SPEC_TMPVAR_TMPVAR) \ - _(1747, ZEND_ISSET_ISEMPTY_DIM_OBJ_SPEC_TMPVAR_CV) \ - _(1748, ZEND_ISSET_ISEMPTY_DIM_OBJ_SPEC_TMPVAR_CONST) \ - _(1749, ZEND_ISSET_ISEMPTY_DIM_OBJ_SPEC_TMPVAR_TMPVAR) \ - _(1750, ZEND_ISSET_ISEMPTY_DIM_OBJ_SPEC_TMPVAR_TMPVAR) \ - _(1752, ZEND_ISSET_ISEMPTY_DIM_OBJ_SPEC_TMPVAR_CV) \ - _(1758, ZEND_ISSET_ISEMPTY_DIM_OBJ_SPEC_CV_CONST) \ - _(1759, ZEND_ISSET_ISEMPTY_DIM_OBJ_SPEC_CV_TMPVAR) \ - _(1760, ZEND_ISSET_ISEMPTY_DIM_OBJ_SPEC_CV_TMPVAR) \ - _(1762, ZEND_ISSET_ISEMPTY_DIM_OBJ_SPEC_CV_CV) \ - _(1763, ZEND_SEND_VAL_EX_SPEC_CONST) \ - _(1764, ZEND_SEND_VAL_EX_SPEC_CONST_QUICK) \ - _(1765, ZEND_SEND_VAL_EX_SPEC_TMP) \ - _(1766, ZEND_SEND_VAL_EX_SPEC_TMP_QUICK) \ - _(1775, ZEND_SEND_VAR_SPEC_VAR) \ - _(1777, ZEND_SEND_VAR_SPEC_CV) \ - _(1778, ZEND_INIT_USER_CALL_SPEC_CONST_CONST) \ - _(1779, ZEND_INIT_USER_CALL_SPEC_CONST_TMPVAR) \ - _(1780, ZEND_INIT_USER_CALL_SPEC_CONST_TMPVAR) \ - _(1782, ZEND_INIT_USER_CALL_SPEC_CONST_CV) \ - _(1783, ZEND_SEND_ARRAY_SPEC) \ - _(1784, ZEND_SEND_USER_SPEC_CONST) \ - _(1785, ZEND_SEND_USER_SPEC_TMP) \ - _(1786, ZEND_SEND_USER_SPEC_VAR) \ - _(1788, ZEND_SEND_USER_SPEC_CV) \ - _(1789, ZEND_STRLEN_SPEC_CONST) \ - _(1790, ZEND_STRLEN_SPEC_TMPVAR) \ - _(1791, ZEND_STRLEN_SPEC_TMPVAR) \ - _(1793, ZEND_STRLEN_SPEC_CV) \ - _(1794, ZEND_DEFINED_SPEC_CONST) \ - _(1795, ZEND_TYPE_CHECK_SPEC_CONST) \ - _(1796, ZEND_TYPE_CHECK_SPEC_TMPVAR) \ - _(1797, ZEND_TYPE_CHECK_SPEC_TMPVAR) \ - _(1799, ZEND_TYPE_CHECK_SPEC_CV) \ - _(1800, ZEND_VERIFY_RETURN_TYPE_SPEC_CONST_UNUSED) \ - _(1801, ZEND_VERIFY_RETURN_TYPE_SPEC_TMP_UNUSED) \ - _(1802, ZEND_VERIFY_RETURN_TYPE_SPEC_VAR_UNUSED) \ - _(1803, ZEND_VERIFY_RETURN_TYPE_SPEC_UNUSED_UNUSED) \ - _(1804, ZEND_VERIFY_RETURN_TYPE_SPEC_CV_UNUSED) \ - _(1805, ZEND_FE_RESET_RW_SPEC_CONST) \ - _(1806, ZEND_FE_RESET_RW_SPEC_TMP) \ - _(1807, ZEND_FE_RESET_RW_SPEC_VAR) \ - _(1809, ZEND_FE_RESET_RW_SPEC_CV) \ - _(1810, ZEND_FE_FETCH_RW_SPEC_VAR) \ - _(1811, ZEND_FE_FREE_SPEC_TMPVAR) \ - _(1812, ZEND_INIT_DYNAMIC_CALL_SPEC_CONST) \ - _(1813, ZEND_INIT_DYNAMIC_CALL_SPEC_TMPVAR) \ - _(1814, ZEND_INIT_DYNAMIC_CALL_SPEC_TMPVAR) \ - _(1816, ZEND_INIT_DYNAMIC_CALL_SPEC_CV) \ - _(1817, ZEND_DO_ICALL_SPEC_RETVAL_UNUSED) \ - _(1818, ZEND_DO_ICALL_SPEC_RETVAL_USED) \ - _(1819, ZEND_DO_UCALL_SPEC_RETVAL_UNUSED) \ - _(1820, ZEND_DO_UCALL_SPEC_RETVAL_USED) \ - _(1821, ZEND_DO_FCALL_BY_NAME_SPEC_RETVAL_UNUSED) \ - _(1822, ZEND_DO_FCALL_BY_NAME_SPEC_RETVAL_USED) \ - _(1833, ZEND_PRE_INC_OBJ_SPEC_VAR_CONST) \ - _(1834, ZEND_PRE_INC_OBJ_SPEC_VAR_TMPVAR) \ - _(1835, ZEND_PRE_INC_OBJ_SPEC_VAR_TMPVAR) \ - _(1837, ZEND_PRE_INC_OBJ_SPEC_VAR_CV) \ - _(1838, ZEND_PRE_INC_OBJ_SPEC_UNUSED_CONST) \ - _(1839, ZEND_PRE_INC_OBJ_SPEC_UNUSED_TMPVAR) \ - _(1840, ZEND_PRE_INC_OBJ_SPEC_UNUSED_TMPVAR) \ - _(1842, ZEND_PRE_INC_OBJ_SPEC_UNUSED_CV) \ - _(1843, ZEND_PRE_INC_OBJ_SPEC_CV_CONST) \ - _(1844, ZEND_PRE_INC_OBJ_SPEC_CV_TMPVAR) \ - _(1845, ZEND_PRE_INC_OBJ_SPEC_CV_TMPVAR) \ - _(1847, ZEND_PRE_INC_OBJ_SPEC_CV_CV) \ - _(1858, ZEND_PRE_DEC_OBJ_SPEC_VAR_CONST) \ - _(1859, ZEND_PRE_DEC_OBJ_SPEC_VAR_TMPVAR) \ - _(1860, ZEND_PRE_DEC_OBJ_SPEC_VAR_TMPVAR) \ - _(1862, ZEND_PRE_DEC_OBJ_SPEC_VAR_CV) \ - _(1863, ZEND_PRE_DEC_OBJ_SPEC_UNUSED_CONST) \ - _(1864, ZEND_PRE_DEC_OBJ_SPEC_UNUSED_TMPVAR) \ - _(1865, ZEND_PRE_DEC_OBJ_SPEC_UNUSED_TMPVAR) \ - _(1867, ZEND_PRE_DEC_OBJ_SPEC_UNUSED_CV) \ - _(1868, ZEND_PRE_DEC_OBJ_SPEC_CV_CONST) \ - _(1869, ZEND_PRE_DEC_OBJ_SPEC_CV_TMPVAR) \ - _(1870, ZEND_PRE_DEC_OBJ_SPEC_CV_TMPVAR) \ - _(1872, ZEND_PRE_DEC_OBJ_SPEC_CV_CV) \ - _(1883, ZEND_POST_INC_OBJ_SPEC_VAR_CONST) \ - _(1884, ZEND_POST_INC_OBJ_SPEC_VAR_TMPVAR) \ - _(1885, ZEND_POST_INC_OBJ_SPEC_VAR_TMPVAR) \ - _(1887, ZEND_POST_INC_OBJ_SPEC_VAR_CV) \ - _(1888, ZEND_POST_INC_OBJ_SPEC_UNUSED_CONST) \ - _(1889, ZEND_POST_INC_OBJ_SPEC_UNUSED_TMPVAR) \ - _(1890, ZEND_POST_INC_OBJ_SPEC_UNUSED_TMPVAR) \ - _(1892, ZEND_POST_INC_OBJ_SPEC_UNUSED_CV) \ - _(1893, ZEND_POST_INC_OBJ_SPEC_CV_CONST) \ - _(1894, ZEND_POST_INC_OBJ_SPEC_CV_TMPVAR) \ - _(1895, ZEND_POST_INC_OBJ_SPEC_CV_TMPVAR) \ - _(1897, ZEND_POST_INC_OBJ_SPEC_CV_CV) \ - _(1908, ZEND_POST_DEC_OBJ_SPEC_VAR_CONST) \ - _(1909, ZEND_POST_DEC_OBJ_SPEC_VAR_TMPVAR) \ - _(1910, ZEND_POST_DEC_OBJ_SPEC_VAR_TMPVAR) \ - _(1912, ZEND_POST_DEC_OBJ_SPEC_VAR_CV) \ - _(1913, ZEND_POST_DEC_OBJ_SPEC_UNUSED_CONST) \ - _(1914, ZEND_POST_DEC_OBJ_SPEC_UNUSED_TMPVAR) \ - _(1915, ZEND_POST_DEC_OBJ_SPEC_UNUSED_TMPVAR) \ - _(1917, ZEND_POST_DEC_OBJ_SPEC_UNUSED_CV) \ - _(1918, ZEND_POST_DEC_OBJ_SPEC_CV_CONST) \ - _(1919, ZEND_POST_DEC_OBJ_SPEC_CV_TMPVAR) \ - _(1920, ZEND_POST_DEC_OBJ_SPEC_CV_TMPVAR) \ - _(1922, ZEND_POST_DEC_OBJ_SPEC_CV_CV) \ - _(1923, ZEND_ECHO_SPEC_CONST) \ - _(1924, ZEND_ECHO_SPEC_TMPVAR) \ - _(1925, ZEND_ECHO_SPEC_TMPVAR) \ - _(1927, ZEND_ECHO_SPEC_CV) \ - _(1934, ZEND_INSTANCEOF_SPEC_TMPVAR_CONST) \ - _(1936, ZEND_INSTANCEOF_SPEC_TMPVAR_VAR) \ - _(1937, ZEND_INSTANCEOF_SPEC_TMPVAR_UNUSED) \ - _(1939, ZEND_INSTANCEOF_SPEC_TMPVAR_CONST) \ - _(1941, ZEND_INSTANCEOF_SPEC_TMPVAR_VAR) \ - _(1942, ZEND_INSTANCEOF_SPEC_TMPVAR_UNUSED) \ - _(1949, ZEND_INSTANCEOF_SPEC_CV_CONST) \ - _(1951, ZEND_INSTANCEOF_SPEC_CV_VAR) \ - _(1952, ZEND_INSTANCEOF_SPEC_CV_UNUSED) \ - _(1954, ZEND_GENERATOR_CREATE_SPEC) \ - _(1957, ZEND_MAKE_REF_SPEC_VAR_UNUSED) \ - _(1959, ZEND_MAKE_REF_SPEC_CV_UNUSED) \ - _(1960, ZEND_DECLARE_FUNCTION_SPEC) \ - _(1961, ZEND_DECLARE_LAMBDA_FUNCTION_SPEC_CONST_UNUSED) \ - _(1962, ZEND_DECLARE_CONST_SPEC_CONST_CONST) \ - _(1963, ZEND_DECLARE_CLASS_SPEC_CONST) \ - _(1964, ZEND_DECLARE_CLASS_DELAYED_SPEC_CONST_CONST) \ - _(1965, ZEND_DECLARE_ANON_CLASS_SPEC) \ - _(1966, ZEND_ADD_ARRAY_UNPACK_SPEC) \ - _(1967, ZEND_ISSET_ISEMPTY_PROP_OBJ_SPEC_CONST_CONST) \ - _(1968, ZEND_ISSET_ISEMPTY_PROP_OBJ_SPEC_CONST_TMPVAR) \ - _(1969, ZEND_ISSET_ISEMPTY_PROP_OBJ_SPEC_CONST_TMPVAR) \ - _(1971, ZEND_ISSET_ISEMPTY_PROP_OBJ_SPEC_CONST_CV) \ - _(1972, ZEND_ISSET_ISEMPTY_PROP_OBJ_SPEC_TMPVAR_CONST) \ - _(1973, ZEND_ISSET_ISEMPTY_PROP_OBJ_SPEC_TMPVAR_TMPVAR) \ - _(1974, ZEND_ISSET_ISEMPTY_PROP_OBJ_SPEC_TMPVAR_TMPVAR) \ - _(1976, ZEND_ISSET_ISEMPTY_PROP_OBJ_SPEC_TMPVAR_CV) \ - _(1977, ZEND_ISSET_ISEMPTY_PROP_OBJ_SPEC_TMPVAR_CONST) \ - _(1978, ZEND_ISSET_ISEMPTY_PROP_OBJ_SPEC_TMPVAR_TMPVAR) \ - _(1979, ZEND_ISSET_ISEMPTY_PROP_OBJ_SPEC_TMPVAR_TMPVAR) \ - _(1981, ZEND_ISSET_ISEMPTY_PROP_OBJ_SPEC_TMPVAR_CV) \ - _(1982, ZEND_ISSET_ISEMPTY_PROP_OBJ_SPEC_UNUSED_CONST) \ - _(1983, ZEND_ISSET_ISEMPTY_PROP_OBJ_SPEC_UNUSED_TMPVAR) \ - _(1984, ZEND_ISSET_ISEMPTY_PROP_OBJ_SPEC_UNUSED_TMPVAR) \ - _(1986, ZEND_ISSET_ISEMPTY_PROP_OBJ_SPEC_UNUSED_CV) \ - _(1987, ZEND_ISSET_ISEMPTY_PROP_OBJ_SPEC_CV_CONST) \ - _(1988, ZEND_ISSET_ISEMPTY_PROP_OBJ_SPEC_CV_TMPVAR) \ - _(1989, ZEND_ISSET_ISEMPTY_PROP_OBJ_SPEC_CV_TMPVAR) \ - _(1991, ZEND_ISSET_ISEMPTY_PROP_OBJ_SPEC_CV_CV) \ - _(1992, ZEND_HANDLE_EXCEPTION_SPEC) \ - _(1993, ZEND_USER_OPCODE_SPEC) \ - _(1994, ZEND_ASSERT_CHECK_SPEC) \ - _(1995, ZEND_JMP_SET_SPEC_CONST) \ - _(1996, ZEND_JMP_SET_SPEC_TMP) \ - _(1997, ZEND_JMP_SET_SPEC_VAR) \ - _(1999, ZEND_JMP_SET_SPEC_CV) \ - _(2000, ZEND_UNSET_CV_SPEC_CV_UNUSED) \ - _(2001, ZEND_ISSET_ISEMPTY_CV_SPEC_CV_UNUSED_SET) \ - _(2002, ZEND_ISSET_ISEMPTY_CV_SPEC_CV_UNUSED_EMPTY) \ - _(2003, ZEND_FETCH_LIST_W_SPEC_VAR_CONST) \ - _(2004, ZEND_FETCH_LIST_W_SPEC_VAR_TMPVAR) \ - _(2005, ZEND_FETCH_LIST_W_SPEC_VAR_TMPVAR) \ - _(2007, ZEND_FETCH_LIST_W_SPEC_VAR_CV) \ - _(2008, ZEND_SEPARATE_SPEC_VAR_UNUSED) \ - _(2009, ZEND_FETCH_CLASS_NAME_SPEC_UNUSED) \ - _(2010, ZEND_CALL_TRAMPOLINE_SPEC) \ - _(2011, ZEND_DISCARD_EXCEPTION_SPEC) \ - _(2012, ZEND_YIELD_SPEC_CONST_CONST) \ - _(2013, ZEND_YIELD_SPEC_CONST_TMP) \ - _(2014, ZEND_YIELD_SPEC_CONST_VAR) \ - _(2015, ZEND_YIELD_SPEC_CONST_UNUSED) \ - _(2016, ZEND_YIELD_SPEC_CONST_CV) \ - _(2017, ZEND_YIELD_SPEC_TMP_CONST) \ - _(2018, ZEND_YIELD_SPEC_TMP_TMP) \ - _(2019, ZEND_YIELD_SPEC_TMP_VAR) \ - _(2020, ZEND_YIELD_SPEC_TMP_UNUSED) \ - _(2021, ZEND_YIELD_SPEC_TMP_CV) \ - _(2022, ZEND_YIELD_SPEC_VAR_CONST) \ - _(2023, ZEND_YIELD_SPEC_VAR_TMP) \ - _(2024, ZEND_YIELD_SPEC_VAR_VAR) \ - _(2025, ZEND_YIELD_SPEC_VAR_UNUSED) \ - _(2026, ZEND_YIELD_SPEC_VAR_CV) \ - _(2027, ZEND_YIELD_SPEC_UNUSED_CONST) \ - _(2028, ZEND_YIELD_SPEC_UNUSED_TMP) \ - _(2029, ZEND_YIELD_SPEC_UNUSED_VAR) \ - _(2030, ZEND_YIELD_SPEC_UNUSED_UNUSED) \ - _(2031, ZEND_YIELD_SPEC_UNUSED_CV) \ - _(2032, ZEND_YIELD_SPEC_CV_CONST) \ - _(2033, ZEND_YIELD_SPEC_CV_TMP) \ - _(2034, ZEND_YIELD_SPEC_CV_VAR) \ - _(2035, ZEND_YIELD_SPEC_CV_UNUSED) \ - _(2036, ZEND_YIELD_SPEC_CV_CV) \ - _(2037, ZEND_GENERATOR_RETURN_SPEC_CONST) \ - _(2038, ZEND_GENERATOR_RETURN_SPEC_TMP) \ - _(2039, ZEND_GENERATOR_RETURN_SPEC_VAR) \ - _(2041, ZEND_GENERATOR_RETURN_SPEC_CV) \ - _(2042, ZEND_FAST_CALL_SPEC) \ - _(2043, ZEND_FAST_RET_SPEC) \ - _(2044, ZEND_RECV_VARIADIC_SPEC_UNUSED) \ - _(2045, ZEND_SEND_UNPACK_SPEC) \ - _(2046, ZEND_YIELD_FROM_SPEC_CONST) \ - _(2047, ZEND_YIELD_FROM_SPEC_TMP) \ - _(2048, ZEND_YIELD_FROM_SPEC_VAR) \ - _(2050, ZEND_YIELD_FROM_SPEC_CV) \ - _(2051, ZEND_COPY_TMP_SPEC_TMPVAR_UNUSED) \ - _(2052, ZEND_BIND_GLOBAL_SPEC_CV_CONST) \ - _(2053, ZEND_COALESCE_SPEC_CONST) \ - _(2054, ZEND_COALESCE_SPEC_TMPVAR) \ - _(2055, ZEND_COALESCE_SPEC_TMPVAR) \ - _(2057, ZEND_COALESCE_SPEC_CV) \ - _(2058, ZEND_SPACESHIP_SPEC_CONST_CONST) \ - _(2059, ZEND_SPACESHIP_SPEC_CONST_TMPVAR) \ - _(2060, ZEND_SPACESHIP_SPEC_CONST_TMPVAR) \ - _(2062, ZEND_SPACESHIP_SPEC_CONST_CV) \ - _(2063, ZEND_SPACESHIP_SPEC_TMPVAR_CONST) \ - _(2064, ZEND_SPACESHIP_SPEC_TMPVAR_TMPVAR) \ - _(2065, ZEND_SPACESHIP_SPEC_TMPVAR_TMPVAR) \ - _(2067, ZEND_SPACESHIP_SPEC_TMPVAR_CV) \ - _(2068, ZEND_SPACESHIP_SPEC_TMPVAR_CONST) \ - _(2069, ZEND_SPACESHIP_SPEC_TMPVAR_TMPVAR) \ - _(2070, ZEND_SPACESHIP_SPEC_TMPVAR_TMPVAR) \ - _(2072, ZEND_SPACESHIP_SPEC_TMPVAR_CV) \ - _(2078, ZEND_SPACESHIP_SPEC_CV_CONST) \ - _(2079, ZEND_SPACESHIP_SPEC_CV_TMPVAR) \ - _(2080, ZEND_SPACESHIP_SPEC_CV_TMPVAR) \ - _(2082, ZEND_SPACESHIP_SPEC_CV_CV) \ - _(2083, ZEND_FUNC_NUM_ARGS_SPEC_UNUSED_UNUSED) \ - _(2084, ZEND_FUNC_GET_ARGS_SPEC_CONST_UNUSED) \ - _(2087, ZEND_FUNC_GET_ARGS_SPEC_UNUSED_UNUSED) \ - _(2089, ZEND_FETCH_STATIC_PROP_R_SPEC) \ - _(2090, ZEND_FETCH_STATIC_PROP_W_SPEC) \ - _(2091, ZEND_FETCH_STATIC_PROP_RW_SPEC) \ - _(2092, ZEND_FETCH_STATIC_PROP_IS_SPEC) \ - _(2093, ZEND_FETCH_STATIC_PROP_FUNC_ARG_SPEC) \ - _(2094, ZEND_FETCH_STATIC_PROP_UNSET_SPEC) \ - _(2095, ZEND_UNSET_STATIC_PROP_SPEC) \ - _(2096, ZEND_ISSET_ISEMPTY_STATIC_PROP_SPEC) \ - _(2097, ZEND_FETCH_CLASS_CONSTANT_SPEC_CONST_CONST) \ - _(2099, ZEND_FETCH_CLASS_CONSTANT_SPEC_VAR_CONST) \ - _(2100, ZEND_FETCH_CLASS_CONSTANT_SPEC_UNUSED_CONST) \ - _(2102, ZEND_BIND_LEXICAL_SPEC_TMP_CV) \ - _(2103, ZEND_BIND_STATIC_SPEC_CV_UNUSED) \ - _(2104, ZEND_FETCH_THIS_SPEC_UNUSED_UNUSED) \ - _(2105, ZEND_SEND_FUNC_ARG_SPEC_VAR) \ - _(2106, ZEND_ISSET_ISEMPTY_THIS_SPEC_UNUSED_UNUSED) \ - _(2107, ZEND_SWITCH_LONG_SPEC_CONST_CONST) \ - _(2108, ZEND_SWITCH_LONG_SPEC_TMPVARCV_CONST) \ - _(2109, ZEND_SWITCH_LONG_SPEC_TMPVARCV_CONST) \ - _(2111, ZEND_SWITCH_LONG_SPEC_TMPVARCV_CONST) \ - _(2112, ZEND_SWITCH_STRING_SPEC_CONST_CONST) \ - _(2113, ZEND_SWITCH_STRING_SPEC_TMPVARCV_CONST) \ - _(2114, ZEND_SWITCH_STRING_SPEC_TMPVARCV_CONST) \ - _(2116, ZEND_SWITCH_STRING_SPEC_TMPVARCV_CONST) \ - _(2117, ZEND_IN_ARRAY_SPEC_CONST_CONST) \ - _(2118, ZEND_IN_ARRAY_SPEC_TMP_CONST) \ - _(2119, ZEND_IN_ARRAY_SPEC_VAR_CONST) \ - _(2121, ZEND_IN_ARRAY_SPEC_CV_CONST) \ - _(2122, ZEND_COUNT_SPEC_CONST_UNUSED) \ - _(2123, ZEND_COUNT_SPEC_TMP_UNUSED) \ - _(2124, ZEND_COUNT_SPEC_VAR_UNUSED) \ - _(2126, ZEND_COUNT_SPEC_CV_UNUSED) \ - _(2127, ZEND_GET_CLASS_SPEC_CONST_UNUSED) \ - _(2128, ZEND_GET_CLASS_SPEC_TMP_UNUSED) \ - _(2129, ZEND_GET_CLASS_SPEC_VAR_UNUSED) \ - _(2130, ZEND_GET_CLASS_SPEC_UNUSED_UNUSED) \ - _(2131, ZEND_GET_CLASS_SPEC_CV_UNUSED) \ - _(2132, ZEND_GET_CALLED_CLASS_SPEC_UNUSED_UNUSED) \ - _(2133, ZEND_GET_TYPE_SPEC_CONST_UNUSED) \ - _(2134, ZEND_GET_TYPE_SPEC_TMP_UNUSED) \ - _(2135, ZEND_GET_TYPE_SPEC_VAR_UNUSED) \ - _(2137, ZEND_GET_TYPE_SPEC_CV_UNUSED) \ - _(2138, ZEND_ARRAY_KEY_EXISTS_SPEC_CONST_CONST) \ - _(2139, ZEND_ARRAY_KEY_EXISTS_SPEC_CONST_TMPVAR) \ - _(2140, ZEND_ARRAY_KEY_EXISTS_SPEC_CONST_TMPVAR) \ - _(2142, ZEND_ARRAY_KEY_EXISTS_SPEC_CONST_CV) \ - _(2143, ZEND_ARRAY_KEY_EXISTS_SPEC_TMPVAR_CONST) \ - _(2144, ZEND_ARRAY_KEY_EXISTS_SPEC_TMPVAR_TMPVAR) \ - _(2145, ZEND_ARRAY_KEY_EXISTS_SPEC_TMPVAR_TMPVAR) \ - _(2147, ZEND_ARRAY_KEY_EXISTS_SPEC_TMPVAR_CV) \ - _(2148, ZEND_ARRAY_KEY_EXISTS_SPEC_TMPVAR_CONST) \ - _(2149, ZEND_ARRAY_KEY_EXISTS_SPEC_TMPVAR_TMPVAR) \ - _(2150, ZEND_ARRAY_KEY_EXISTS_SPEC_TMPVAR_TMPVAR) \ - _(2152, ZEND_ARRAY_KEY_EXISTS_SPEC_TMPVAR_CV) \ - _(2158, ZEND_ARRAY_KEY_EXISTS_SPEC_CV_CONST) \ - _(2159, ZEND_ARRAY_KEY_EXISTS_SPEC_CV_TMPVAR) \ - _(2160, ZEND_ARRAY_KEY_EXISTS_SPEC_CV_TMPVAR) \ - _(2162, ZEND_ARRAY_KEY_EXISTS_SPEC_CV_CV) \ - _(2163, ZEND_JMP_FORWARD_SPEC) \ - _(2169, ZEND_ADD_LONG_NO_OVERFLOW_SPEC_TMPVARCV_CONST) \ - _(2170, ZEND_ADD_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \ - _(2171, ZEND_ADD_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \ - _(2173, ZEND_ADD_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \ - _(2174, ZEND_ADD_LONG_NO_OVERFLOW_SPEC_TMPVARCV_CONST) \ - _(2175, ZEND_ADD_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \ - _(2176, ZEND_ADD_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \ - _(2178, ZEND_ADD_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \ - _(2184, ZEND_ADD_LONG_NO_OVERFLOW_SPEC_TMPVARCV_CONST) \ - _(2185, ZEND_ADD_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \ - _(2186, ZEND_ADD_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \ - _(2188, ZEND_ADD_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \ - _(2194, ZEND_ADD_LONG_SPEC_TMPVARCV_CONST) \ - _(2195, ZEND_ADD_LONG_SPEC_TMPVARCV_TMPVARCV) \ - _(2196, ZEND_ADD_LONG_SPEC_TMPVARCV_TMPVARCV) \ - _(2198, ZEND_ADD_LONG_SPEC_TMPVARCV_TMPVARCV) \ - _(2199, ZEND_ADD_LONG_SPEC_TMPVARCV_CONST) \ - _(2200, ZEND_ADD_LONG_SPEC_TMPVARCV_TMPVARCV) \ - _(2201, ZEND_ADD_LONG_SPEC_TMPVARCV_TMPVARCV) \ - _(2203, ZEND_ADD_LONG_SPEC_TMPVARCV_TMPVARCV) \ - _(2209, ZEND_ADD_LONG_SPEC_TMPVARCV_CONST) \ - _(2210, ZEND_ADD_LONG_SPEC_TMPVARCV_TMPVARCV) \ - _(2211, ZEND_ADD_LONG_SPEC_TMPVARCV_TMPVARCV) \ - _(2213, ZEND_ADD_LONG_SPEC_TMPVARCV_TMPVARCV) \ - _(2219, ZEND_ADD_DOUBLE_SPEC_TMPVARCV_CONST) \ - _(2220, ZEND_ADD_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ - _(2221, ZEND_ADD_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ - _(2223, ZEND_ADD_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ - _(2224, ZEND_ADD_DOUBLE_SPEC_TMPVARCV_CONST) \ - _(2225, ZEND_ADD_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ - _(2226, ZEND_ADD_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ - _(2228, ZEND_ADD_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ - _(2234, ZEND_ADD_DOUBLE_SPEC_TMPVARCV_CONST) \ - _(2235, ZEND_ADD_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ - _(2236, ZEND_ADD_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ - _(2238, ZEND_ADD_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ - _(2240, ZEND_SUB_LONG_NO_OVERFLOW_SPEC_CONST_TMPVARCV) \ - _(2241, ZEND_SUB_LONG_NO_OVERFLOW_SPEC_CONST_TMPVARCV) \ - _(2243, ZEND_SUB_LONG_NO_OVERFLOW_SPEC_CONST_TMPVARCV) \ - _(2244, ZEND_SUB_LONG_NO_OVERFLOW_SPEC_TMPVARCV_CONST) \ - _(2245, ZEND_SUB_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \ - _(2246, ZEND_SUB_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \ - _(2248, ZEND_SUB_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \ - _(2249, ZEND_SUB_LONG_NO_OVERFLOW_SPEC_TMPVARCV_CONST) \ - _(2250, ZEND_SUB_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \ - _(2251, ZEND_SUB_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \ - _(2253, ZEND_SUB_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \ - _(2259, ZEND_SUB_LONG_NO_OVERFLOW_SPEC_TMPVARCV_CONST) \ - _(2260, ZEND_SUB_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \ - _(2261, ZEND_SUB_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \ - _(2263, ZEND_SUB_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \ - _(2265, ZEND_SUB_LONG_SPEC_CONST_TMPVARCV) \ - _(2266, ZEND_SUB_LONG_SPEC_CONST_TMPVARCV) \ - _(2268, ZEND_SUB_LONG_SPEC_CONST_TMPVARCV) \ - _(2269, ZEND_SUB_LONG_SPEC_TMPVARCV_CONST) \ - _(2270, ZEND_SUB_LONG_SPEC_TMPVARCV_TMPVARCV) \ - _(2271, ZEND_SUB_LONG_SPEC_TMPVARCV_TMPVARCV) \ - _(2273, ZEND_SUB_LONG_SPEC_TMPVARCV_TMPVARCV) \ - _(2274, ZEND_SUB_LONG_SPEC_TMPVARCV_CONST) \ - _(2275, ZEND_SUB_LONG_SPEC_TMPVARCV_TMPVARCV) \ - _(2276, ZEND_SUB_LONG_SPEC_TMPVARCV_TMPVARCV) \ - _(2278, ZEND_SUB_LONG_SPEC_TMPVARCV_TMPVARCV) \ - _(2284, ZEND_SUB_LONG_SPEC_TMPVARCV_CONST) \ - _(2285, ZEND_SUB_LONG_SPEC_TMPVARCV_TMPVARCV) \ - _(2286, ZEND_SUB_LONG_SPEC_TMPVARCV_TMPVARCV) \ - _(2288, ZEND_SUB_LONG_SPEC_TMPVARCV_TMPVARCV) \ - _(2290, ZEND_SUB_DOUBLE_SPEC_CONST_TMPVARCV) \ - _(2291, ZEND_SUB_DOUBLE_SPEC_CONST_TMPVARCV) \ - _(2293, ZEND_SUB_DOUBLE_SPEC_CONST_TMPVARCV) \ - _(2294, ZEND_SUB_DOUBLE_SPEC_TMPVARCV_CONST) \ - _(2295, ZEND_SUB_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ - _(2296, ZEND_SUB_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ - _(2298, ZEND_SUB_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ - _(2299, ZEND_SUB_DOUBLE_SPEC_TMPVARCV_CONST) \ - _(2300, ZEND_SUB_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ - _(2301, ZEND_SUB_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ - _(2303, ZEND_SUB_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ - _(2309, ZEND_SUB_DOUBLE_SPEC_TMPVARCV_CONST) \ - _(2310, ZEND_SUB_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ - _(2311, ZEND_SUB_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ - _(2313, ZEND_SUB_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ - _(2319, ZEND_MUL_LONG_NO_OVERFLOW_SPEC_TMPVARCV_CONST) \ - _(2320, ZEND_MUL_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \ - _(2321, ZEND_MUL_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \ - _(2323, ZEND_MUL_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \ - _(2324, ZEND_MUL_LONG_NO_OVERFLOW_SPEC_TMPVARCV_CONST) \ - _(2325, ZEND_MUL_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \ - _(2326, ZEND_MUL_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \ - _(2328, ZEND_MUL_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \ - _(2334, ZEND_MUL_LONG_NO_OVERFLOW_SPEC_TMPVARCV_CONST) \ - _(2335, ZEND_MUL_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \ - _(2336, ZEND_MUL_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \ - _(2338, ZEND_MUL_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \ - _(2344, ZEND_MUL_LONG_SPEC_TMPVARCV_CONST) \ - _(2345, ZEND_MUL_LONG_SPEC_TMPVARCV_TMPVARCV) \ - _(2346, ZEND_MUL_LONG_SPEC_TMPVARCV_TMPVARCV) \ - _(2348, ZEND_MUL_LONG_SPEC_TMPVARCV_TMPVARCV) \ - _(2349, ZEND_MUL_LONG_SPEC_TMPVARCV_CONST) \ - _(2350, ZEND_MUL_LONG_SPEC_TMPVARCV_TMPVARCV) \ - _(2351, ZEND_MUL_LONG_SPEC_TMPVARCV_TMPVARCV) \ - _(2353, ZEND_MUL_LONG_SPEC_TMPVARCV_TMPVARCV) \ - _(2359, ZEND_MUL_LONG_SPEC_TMPVARCV_CONST) \ - _(2360, ZEND_MUL_LONG_SPEC_TMPVARCV_TMPVARCV) \ - _(2361, ZEND_MUL_LONG_SPEC_TMPVARCV_TMPVARCV) \ - _(2363, ZEND_MUL_LONG_SPEC_TMPVARCV_TMPVARCV) \ - _(2369, ZEND_MUL_DOUBLE_SPEC_TMPVARCV_CONST) \ - _(2370, ZEND_MUL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ - _(2371, ZEND_MUL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ - _(2373, ZEND_MUL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ - _(2374, ZEND_MUL_DOUBLE_SPEC_TMPVARCV_CONST) \ - _(2375, ZEND_MUL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ - _(2376, ZEND_MUL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ - _(2378, ZEND_MUL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ - _(2384, ZEND_MUL_DOUBLE_SPEC_TMPVARCV_CONST) \ - _(2385, ZEND_MUL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ - _(2386, ZEND_MUL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ - _(2388, ZEND_MUL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ - _(2404, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_CONST) \ - _(2405, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPZ) \ - _(2406, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPNZ) \ - _(2407, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \ - _(2408, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(2409, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(2410, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \ - _(2411, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(2412, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(2416, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \ - _(2417, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(2418, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(2419, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_CONST) \ - _(2420, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPZ) \ - _(2421, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPNZ) \ - _(2422, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \ - _(2423, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(2424, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(2425, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \ - _(2426, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(2427, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(2431, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \ - _(2432, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(2433, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(2449, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_CONST) \ - _(2450, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPZ) \ - _(2451, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPNZ) \ - _(2452, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \ - _(2453, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(2454, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(2455, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \ - _(2456, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(2457, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(2461, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \ - _(2462, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(2463, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(2479, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST) \ - _(2480, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPZ) \ - _(2481, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPNZ) \ - _(2482, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ - _(2483, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(2484, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(2485, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ - _(2486, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(2487, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(2491, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ - _(2492, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(2493, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(2494, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST) \ - _(2495, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPZ) \ - _(2496, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPNZ) \ - _(2497, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ - _(2498, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(2499, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(2500, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ - _(2501, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(2502, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(2506, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ - _(2507, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(2508, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(2524, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST) \ - _(2525, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPZ) \ - _(2526, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPNZ) \ - _(2527, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ - _(2528, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(2529, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(2530, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ - _(2531, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(2532, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(2536, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ - _(2537, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(2538, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(2554, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_CONST) \ - _(2555, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPZ) \ - _(2556, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPNZ) \ - _(2557, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \ - _(2558, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(2559, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(2560, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \ - _(2561, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(2562, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(2566, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \ - _(2567, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(2568, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(2569, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_CONST) \ - _(2570, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPZ) \ - _(2571, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPNZ) \ - _(2572, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \ - _(2573, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(2574, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(2575, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \ - _(2576, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(2577, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(2581, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \ - _(2582, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(2583, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(2599, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_CONST) \ - _(2600, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPZ) \ - _(2601, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPNZ) \ - _(2602, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \ - _(2603, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(2604, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(2605, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \ - _(2606, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(2607, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(2611, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \ - _(2612, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(2613, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(2629, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST) \ - _(2630, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPZ) \ - _(2631, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPNZ) \ - _(2632, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ - _(2633, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(2634, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(2635, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ - _(2636, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(2637, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(2641, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ - _(2642, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(2643, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(2644, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST) \ - _(2645, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPZ) \ - _(2646, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPNZ) \ - _(2647, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ - _(2648, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(2649, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(2650, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ - _(2651, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(2652, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(2656, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ - _(2657, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(2658, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(2674, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST) \ - _(2675, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPZ) \ - _(2676, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPNZ) \ - _(2677, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ - _(2678, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(2679, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(2680, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ - _(2681, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(2682, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(2686, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ - _(2687, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(2688, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(2692, ZEND_IS_SMALLER_LONG_SPEC_CONST_TMPVARCV) \ - _(2693, ZEND_IS_SMALLER_LONG_SPEC_CONST_TMPVARCV_JMPZ) \ - _(2694, ZEND_IS_SMALLER_LONG_SPEC_CONST_TMPVARCV_JMPNZ) \ - _(2695, ZEND_IS_SMALLER_LONG_SPEC_CONST_TMPVARCV) \ - _(2696, ZEND_IS_SMALLER_LONG_SPEC_CONST_TMPVARCV_JMPZ) \ - _(2697, ZEND_IS_SMALLER_LONG_SPEC_CONST_TMPVARCV_JMPNZ) \ - _(2701, ZEND_IS_SMALLER_LONG_SPEC_CONST_TMPVARCV) \ - _(2702, ZEND_IS_SMALLER_LONG_SPEC_CONST_TMPVARCV_JMPZ) \ - _(2703, ZEND_IS_SMALLER_LONG_SPEC_CONST_TMPVARCV_JMPNZ) \ - _(2704, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_CONST) \ - _(2705, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_CONST_JMPZ) \ - _(2706, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_CONST_JMPNZ) \ - _(2707, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV) \ - _(2708, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(2709, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(2710, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV) \ - _(2711, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(2712, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(2716, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV) \ - _(2717, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(2718, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(2719, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_CONST) \ - _(2720, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_CONST_JMPZ) \ - _(2721, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_CONST_JMPNZ) \ - _(2722, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV) \ - _(2723, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(2724, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(2725, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV) \ - _(2726, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(2727, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(2731, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV) \ - _(2732, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(2733, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(2749, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_CONST) \ - _(2750, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_CONST_JMPZ) \ - _(2751, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_CONST_JMPNZ) \ - _(2752, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV) \ - _(2753, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(2754, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(2755, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV) \ - _(2756, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(2757, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(2761, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV) \ - _(2762, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(2763, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(2767, ZEND_IS_SMALLER_DOUBLE_SPEC_CONST_TMPVARCV) \ - _(2768, ZEND_IS_SMALLER_DOUBLE_SPEC_CONST_TMPVARCV_JMPZ) \ - _(2769, ZEND_IS_SMALLER_DOUBLE_SPEC_CONST_TMPVARCV_JMPNZ) \ - _(2770, ZEND_IS_SMALLER_DOUBLE_SPEC_CONST_TMPVARCV) \ - _(2771, ZEND_IS_SMALLER_DOUBLE_SPEC_CONST_TMPVARCV_JMPZ) \ - _(2772, ZEND_IS_SMALLER_DOUBLE_SPEC_CONST_TMPVARCV_JMPNZ) \ - _(2776, ZEND_IS_SMALLER_DOUBLE_SPEC_CONST_TMPVARCV) \ - _(2777, ZEND_IS_SMALLER_DOUBLE_SPEC_CONST_TMPVARCV_JMPZ) \ - _(2778, ZEND_IS_SMALLER_DOUBLE_SPEC_CONST_TMPVARCV_JMPNZ) \ - _(2779, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_CONST) \ - _(2780, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_CONST_JMPZ) \ - _(2781, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_CONST_JMPNZ) \ - _(2782, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ - _(2783, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(2784, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(2785, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ - _(2786, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(2787, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(2791, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ - _(2792, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(2793, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(2794, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_CONST) \ - _(2795, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_CONST_JMPZ) \ - _(2796, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_CONST_JMPNZ) \ - _(2797, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ - _(2798, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(2799, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(2800, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ - _(2801, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(2802, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(2806, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ - _(2807, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(2808, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(2824, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_CONST) \ - _(2825, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_CONST_JMPZ) \ - _(2826, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_CONST_JMPNZ) \ - _(2827, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ - _(2828, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(2829, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(2830, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ - _(2831, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(2832, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(2836, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ - _(2837, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(2838, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(2842, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_CONST_TMPVARCV) \ - _(2843, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_CONST_TMPVARCV_JMPZ) \ - _(2844, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_CONST_TMPVARCV_JMPNZ) \ - _(2845, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_CONST_TMPVARCV) \ - _(2846, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_CONST_TMPVARCV_JMPZ) \ - _(2847, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_CONST_TMPVARCV_JMPNZ) \ - _(2851, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_CONST_TMPVARCV) \ - _(2852, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_CONST_TMPVARCV_JMPZ) \ - _(2853, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_CONST_TMPVARCV_JMPNZ) \ - _(2854, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_CONST) \ - _(2855, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPZ) \ - _(2856, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPNZ) \ - _(2857, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \ - _(2858, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(2859, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(2860, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \ - _(2861, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(2862, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(2866, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \ - _(2867, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(2868, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(2869, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_CONST) \ - _(2870, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPZ) \ - _(2871, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPNZ) \ - _(2872, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \ - _(2873, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(2874, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(2875, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \ - _(2876, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(2877, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(2881, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \ - _(2882, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(2883, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(2899, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_CONST) \ - _(2900, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPZ) \ - _(2901, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPNZ) \ - _(2902, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \ - _(2903, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(2904, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(2905, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \ - _(2906, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(2907, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(2911, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \ - _(2912, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(2913, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(2917, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_CONST_TMPVARCV) \ - _(2918, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_CONST_TMPVARCV_JMPZ) \ - _(2919, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_CONST_TMPVARCV_JMPNZ) \ - _(2920, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_CONST_TMPVARCV) \ - _(2921, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_CONST_TMPVARCV_JMPZ) \ - _(2922, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_CONST_TMPVARCV_JMPNZ) \ - _(2926, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_CONST_TMPVARCV) \ - _(2927, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_CONST_TMPVARCV_JMPZ) \ - _(2928, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_CONST_TMPVARCV_JMPNZ) \ - _(2929, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST) \ - _(2930, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPZ) \ - _(2931, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPNZ) \ - _(2932, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ - _(2933, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(2934, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(2935, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ - _(2936, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(2937, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(2941, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ - _(2942, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(2943, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(2944, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST) \ - _(2945, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPZ) \ - _(2946, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPNZ) \ - _(2947, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ - _(2948, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(2949, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(2950, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ - _(2951, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(2952, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(2956, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ - _(2957, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(2958, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(2974, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST) \ - _(2975, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPZ) \ - _(2976, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPNZ) \ - _(2977, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ - _(2978, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(2979, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(2980, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ - _(2981, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(2982, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(2986, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ - _(2987, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(2988, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(2989, ZEND_PRE_INC_LONG_NO_OVERFLOW_SPEC_TMPVARCV_RETVAL_UNUSED) \ - _(2990, ZEND_PRE_INC_LONG_NO_OVERFLOW_SPEC_TMPVARCV_RETVAL_USED) \ - _(2991, ZEND_PRE_INC_LONG_SPEC_TMPVARCV_RETVAL_UNUSED) \ - _(2992, ZEND_PRE_INC_LONG_SPEC_TMPVARCV_RETVAL_USED) \ - _(2993, ZEND_PRE_INC_LONG_OR_DOUBLE_SPEC_TMPVARCV_RETVAL_UNUSED) \ - _(2994, ZEND_PRE_INC_LONG_OR_DOUBLE_SPEC_TMPVARCV_RETVAL_USED) \ - _(2995, ZEND_PRE_DEC_LONG_NO_OVERFLOW_SPEC_TMPVARCV_RETVAL_UNUSED) \ - _(2996, ZEND_PRE_DEC_LONG_NO_OVERFLOW_SPEC_TMPVARCV_RETVAL_USED) \ - _(2997, ZEND_PRE_DEC_LONG_SPEC_TMPVARCV_RETVAL_UNUSED) \ - _(2998, ZEND_PRE_DEC_LONG_SPEC_TMPVARCV_RETVAL_USED) \ - _(2999, ZEND_PRE_DEC_LONG_OR_DOUBLE_SPEC_TMPVARCV_RETVAL_UNUSED) \ - _(3000, ZEND_PRE_DEC_LONG_OR_DOUBLE_SPEC_TMPVARCV_RETVAL_USED) \ - _(3001, ZEND_POST_INC_LONG_NO_OVERFLOW_SPEC_TMPVARCV) \ - _(3002, ZEND_POST_INC_LONG_SPEC_TMPVARCV) \ - _(3003, ZEND_POST_INC_LONG_OR_DOUBLE_SPEC_TMPVARCV) \ - _(3004, ZEND_POST_DEC_LONG_NO_OVERFLOW_SPEC_TMPVARCV) \ - _(3005, ZEND_POST_DEC_LONG_SPEC_TMPVARCV) \ - _(3006, ZEND_POST_DEC_LONG_OR_DOUBLE_SPEC_TMPVARCV) \ - _(3007, ZEND_QM_ASSIGN_DOUBLE_SPEC_CONST) \ - _(3008, ZEND_QM_ASSIGN_DOUBLE_SPEC_TMPVARCV) \ - _(3009, ZEND_QM_ASSIGN_DOUBLE_SPEC_TMPVARCV) \ - _(3011, ZEND_QM_ASSIGN_DOUBLE_SPEC_TMPVARCV) \ - _(3012, ZEND_QM_ASSIGN_NOREF_SPEC_CONST) \ - _(3013, ZEND_QM_ASSIGN_NOREF_SPEC_TMPVARCV) \ - _(3014, ZEND_QM_ASSIGN_NOREF_SPEC_TMPVARCV) \ - _(3016, ZEND_QM_ASSIGN_NOREF_SPEC_TMPVARCV) \ - _(3018, ZEND_FETCH_DIM_R_INDEX_SPEC_CONST_TMPVARCV) \ - _(3019, ZEND_FETCH_DIM_R_INDEX_SPEC_CONST_TMPVARCV) \ - _(3021, ZEND_FETCH_DIM_R_INDEX_SPEC_CONST_TMPVARCV) \ - _(3022, ZEND_FETCH_DIM_R_INDEX_SPEC_TMPVAR_CONST) \ - _(3023, ZEND_FETCH_DIM_R_INDEX_SPEC_TMPVAR_TMPVARCV) \ - _(3024, ZEND_FETCH_DIM_R_INDEX_SPEC_TMPVAR_TMPVARCV) \ - _(3026, ZEND_FETCH_DIM_R_INDEX_SPEC_TMPVAR_TMPVARCV) \ - _(3027, ZEND_FETCH_DIM_R_INDEX_SPEC_TMPVAR_CONST) \ - _(3028, ZEND_FETCH_DIM_R_INDEX_SPEC_TMPVAR_TMPVARCV) \ - _(3029, ZEND_FETCH_DIM_R_INDEX_SPEC_TMPVAR_TMPVARCV) \ - _(3031, ZEND_FETCH_DIM_R_INDEX_SPEC_TMPVAR_TMPVARCV) \ - _(3037, ZEND_FETCH_DIM_R_INDEX_SPEC_CV_CONST) \ - _(3038, ZEND_FETCH_DIM_R_INDEX_SPEC_CV_TMPVARCV) \ - _(3039, ZEND_FETCH_DIM_R_INDEX_SPEC_CV_TMPVARCV) \ - _(3041, ZEND_FETCH_DIM_R_INDEX_SPEC_CV_TMPVARCV) \ - _(3044, ZEND_SEND_VAR_SIMPLE_SPEC_VAR) \ - _(3046, ZEND_SEND_VAR_SIMPLE_SPEC_CV) \ - _(3049, ZEND_SEND_VAR_EX_SIMPLE_SPEC_VAR) \ - _(3051, ZEND_SEND_VAR_EX_SIMPLE_SPEC_CV) \ - _(3052, ZEND_SEND_VAL_SIMPLE_SPEC_CONST) \ - _(3053, ZEND_SEND_VAL_EX_SIMPLE_SPEC_CONST) \ - _(3054, ZEND_FE_FETCH_R_SIMPLE_SPEC_VAR_CV_RETVAL_UNUSED) \ - _(3055, ZEND_FE_FETCH_R_SIMPLE_SPEC_VAR_CV_RETVAL_USED) \ - _(3055+1, ZEND_NULL) + _(1083, ZEND_CASE_SPEC_CONST_CONST) \ + _(1084, ZEND_CASE_SPEC_CONST_TMPVAR) \ + _(1085, ZEND_CASE_SPEC_CONST_TMPVAR) \ + _(1087, ZEND_CASE_SPEC_CONST_CV) \ + _(1088, ZEND_CASE_SPEC_TMPVAR_CONST) \ + _(1089, ZEND_CASE_SPEC_TMPVAR_TMPVAR) \ + _(1090, ZEND_CASE_SPEC_TMPVAR_TMPVAR) \ + _(1092, ZEND_CASE_SPEC_TMPVAR_CV) \ + _(1093, ZEND_CASE_SPEC_TMPVAR_CONST) \ + _(1094, ZEND_CASE_SPEC_TMPVAR_TMPVAR) \ + _(1095, ZEND_CASE_SPEC_TMPVAR_TMPVAR) \ + _(1097, ZEND_CASE_SPEC_TMPVAR_CV) \ + _(1103, ZEND_CASE_SPEC_CV_CONST) \ + _(1104, ZEND_CASE_SPEC_CV_TMPVAR) \ + _(1105, ZEND_CASE_SPEC_CV_TMPVAR) \ + _(1107, ZEND_CASE_SPEC_CV_CV) \ + _(1108, ZEND_CHECK_VAR_SPEC_CV_UNUSED) \ + _(1109, ZEND_SEND_VAR_NO_REF_EX_SPEC_VAR) \ + _(1110, ZEND_SEND_VAR_NO_REF_EX_SPEC_VAR_QUICK) \ + _(1111, ZEND_CAST_SPEC_CONST) \ + _(1112, ZEND_CAST_SPEC_TMP) \ + _(1113, ZEND_CAST_SPEC_VAR) \ + _(1115, ZEND_CAST_SPEC_CV) \ + _(1116, ZEND_BOOL_SPEC_CONST) \ + _(1117, ZEND_BOOL_SPEC_TMPVAR) \ + _(1118, ZEND_BOOL_SPEC_TMPVAR) \ + _(1120, ZEND_BOOL_SPEC_CV) \ + _(1121, ZEND_FAST_CONCAT_SPEC_CONST_CONST) \ + _(1122, ZEND_FAST_CONCAT_SPEC_CONST_TMPVAR) \ + _(1123, ZEND_FAST_CONCAT_SPEC_CONST_TMPVAR) \ + _(1125, ZEND_FAST_CONCAT_SPEC_CONST_CV) \ + _(1126, ZEND_FAST_CONCAT_SPEC_TMPVAR_CONST) \ + _(1127, ZEND_FAST_CONCAT_SPEC_TMPVAR_TMPVAR) \ + _(1128, ZEND_FAST_CONCAT_SPEC_TMPVAR_TMPVAR) \ + _(1130, ZEND_FAST_CONCAT_SPEC_TMPVAR_CV) \ + _(1131, ZEND_FAST_CONCAT_SPEC_TMPVAR_CONST) \ + _(1132, ZEND_FAST_CONCAT_SPEC_TMPVAR_TMPVAR) \ + _(1133, ZEND_FAST_CONCAT_SPEC_TMPVAR_TMPVAR) \ + _(1135, ZEND_FAST_CONCAT_SPEC_TMPVAR_CV) \ + _(1141, ZEND_FAST_CONCAT_SPEC_CV_CONST) \ + _(1142, ZEND_FAST_CONCAT_SPEC_CV_TMPVAR) \ + _(1143, ZEND_FAST_CONCAT_SPEC_CV_TMPVAR) \ + _(1145, ZEND_FAST_CONCAT_SPEC_CV_CV) \ + _(1146, ZEND_ROPE_INIT_SPEC_UNUSED_CONST) \ + _(1147, ZEND_ROPE_INIT_SPEC_UNUSED_TMPVAR) \ + _(1148, ZEND_ROPE_INIT_SPEC_UNUSED_TMPVAR) \ + _(1150, ZEND_ROPE_INIT_SPEC_UNUSED_CV) \ + _(1151, ZEND_ROPE_ADD_SPEC_TMP_CONST) \ + _(1152, ZEND_ROPE_ADD_SPEC_TMP_TMPVAR) \ + _(1153, ZEND_ROPE_ADD_SPEC_TMP_TMPVAR) \ + _(1155, ZEND_ROPE_ADD_SPEC_TMP_CV) \ + _(1156, ZEND_ROPE_END_SPEC_TMP_CONST) \ + _(1157, ZEND_ROPE_END_SPEC_TMP_TMPVAR) \ + _(1158, ZEND_ROPE_END_SPEC_TMP_TMPVAR) \ + _(1160, ZEND_ROPE_END_SPEC_TMP_CV) \ + _(1161, ZEND_BEGIN_SILENCE_SPEC) \ + _(1162, ZEND_END_SILENCE_SPEC_TMP) \ + _(1163, ZEND_INIT_FCALL_BY_NAME_SPEC_CONST) \ + _(1164, ZEND_DO_FCALL_SPEC_RETVAL_UNUSED) \ + _(1165, ZEND_DO_FCALL_SPEC_RETVAL_USED) \ + _(1166, ZEND_INIT_FCALL_SPEC_CONST) \ + _(1167, ZEND_RETURN_SPEC_CONST) \ + _(1168, ZEND_RETURN_SPEC_TMP) \ + _(1169, ZEND_RETURN_SPEC_VAR) \ + _(1171, ZEND_RETURN_SPEC_CV) \ + _(1172, ZEND_RECV_SPEC_UNUSED) \ + _(1173, ZEND_RECV_INIT_SPEC_CONST) \ + _(1174, ZEND_SEND_VAL_SPEC_CONST) \ + _(1175, ZEND_SEND_VAL_SPEC_TMPVAR) \ + _(1176, ZEND_SEND_VAL_SPEC_TMPVAR) \ + _(1183, ZEND_SEND_VAR_EX_SPEC_VAR) \ + _(1184, ZEND_SEND_VAR_EX_SPEC_VAR_QUICK) \ + _(1187, ZEND_SEND_VAR_EX_SPEC_CV) \ + _(1188, ZEND_SEND_VAR_EX_SPEC_CV_QUICK) \ + _(1191, ZEND_SEND_REF_SPEC_VAR) \ + _(1193, ZEND_SEND_REF_SPEC_CV) \ + _(1194, ZEND_NEW_SPEC_CONST_UNUSED) \ + _(1196, ZEND_NEW_SPEC_VAR_UNUSED) \ + _(1197, ZEND_NEW_SPEC_UNUSED_UNUSED) \ + _(1199, ZEND_INIT_NS_FCALL_BY_NAME_SPEC_CONST) \ + _(1200, ZEND_FREE_SPEC_TMPVAR) \ + _(1201, ZEND_INIT_ARRAY_SPEC_CONST_CONST) \ + _(1202, ZEND_INIT_ARRAY_SPEC_CONST_TMPVAR) \ + _(1203, ZEND_INIT_ARRAY_SPEC_CONST_TMPVAR) \ + _(1204, ZEND_INIT_ARRAY_SPEC_CONST_UNUSED) \ + _(1205, ZEND_INIT_ARRAY_SPEC_CONST_CV) \ + _(1206, ZEND_INIT_ARRAY_SPEC_TMP_CONST) \ + _(1207, ZEND_INIT_ARRAY_SPEC_TMP_TMPVAR) \ + _(1208, ZEND_INIT_ARRAY_SPEC_TMP_TMPVAR) \ + _(1209, ZEND_INIT_ARRAY_SPEC_TMP_UNUSED) \ + _(1210, ZEND_INIT_ARRAY_SPEC_TMP_CV) \ + _(1211, ZEND_INIT_ARRAY_SPEC_VAR_CONST) \ + _(1212, ZEND_INIT_ARRAY_SPEC_VAR_TMPVAR) \ + _(1213, ZEND_INIT_ARRAY_SPEC_VAR_TMPVAR) \ + _(1214, ZEND_INIT_ARRAY_SPEC_VAR_UNUSED) \ + _(1215, ZEND_INIT_ARRAY_SPEC_VAR_CV) \ + _(1216, ZEND_INIT_ARRAY_SPEC_UNUSED_CONST) \ + _(1217, ZEND_INIT_ARRAY_SPEC_UNUSED_TMPVAR) \ + _(1218, ZEND_INIT_ARRAY_SPEC_UNUSED_TMPVAR) \ + _(1219, ZEND_INIT_ARRAY_SPEC_UNUSED_UNUSED) \ + _(1220, ZEND_INIT_ARRAY_SPEC_UNUSED_CV) \ + _(1221, ZEND_INIT_ARRAY_SPEC_CV_CONST) \ + _(1222, ZEND_INIT_ARRAY_SPEC_CV_TMPVAR) \ + _(1223, ZEND_INIT_ARRAY_SPEC_CV_TMPVAR) \ + _(1224, ZEND_INIT_ARRAY_SPEC_CV_UNUSED) \ + _(1225, ZEND_INIT_ARRAY_SPEC_CV_CV) \ + _(1226, ZEND_ADD_ARRAY_ELEMENT_SPEC_CONST_CONST) \ + _(1227, ZEND_ADD_ARRAY_ELEMENT_SPEC_CONST_TMPVAR) \ + _(1228, ZEND_ADD_ARRAY_ELEMENT_SPEC_CONST_TMPVAR) \ + _(1229, ZEND_ADD_ARRAY_ELEMENT_SPEC_CONST_UNUSED) \ + _(1230, ZEND_ADD_ARRAY_ELEMENT_SPEC_CONST_CV) \ + _(1231, ZEND_ADD_ARRAY_ELEMENT_SPEC_TMP_CONST) \ + _(1232, ZEND_ADD_ARRAY_ELEMENT_SPEC_TMP_TMPVAR) \ + _(1233, ZEND_ADD_ARRAY_ELEMENT_SPEC_TMP_TMPVAR) \ + _(1234, ZEND_ADD_ARRAY_ELEMENT_SPEC_TMP_UNUSED) \ + _(1235, ZEND_ADD_ARRAY_ELEMENT_SPEC_TMP_CV) \ + _(1236, ZEND_ADD_ARRAY_ELEMENT_SPEC_VAR_CONST) \ + _(1237, ZEND_ADD_ARRAY_ELEMENT_SPEC_VAR_TMPVAR) \ + _(1238, ZEND_ADD_ARRAY_ELEMENT_SPEC_VAR_TMPVAR) \ + _(1239, ZEND_ADD_ARRAY_ELEMENT_SPEC_VAR_UNUSED) \ + _(1240, ZEND_ADD_ARRAY_ELEMENT_SPEC_VAR_CV) \ + _(1246, ZEND_ADD_ARRAY_ELEMENT_SPEC_CV_CONST) \ + _(1247, ZEND_ADD_ARRAY_ELEMENT_SPEC_CV_TMPVAR) \ + _(1248, ZEND_ADD_ARRAY_ELEMENT_SPEC_CV_TMPVAR) \ + _(1249, ZEND_ADD_ARRAY_ELEMENT_SPEC_CV_UNUSED) \ + _(1250, ZEND_ADD_ARRAY_ELEMENT_SPEC_CV_CV) \ + _(1251, ZEND_INCLUDE_OR_EVAL_SPEC_CONST) \ + _(1252, ZEND_INCLUDE_OR_EVAL_SPEC_TMPVAR) \ + _(1253, ZEND_INCLUDE_OR_EVAL_SPEC_TMPVAR) \ + _(1255, ZEND_INCLUDE_OR_EVAL_SPEC_CV) \ + _(1256, ZEND_UNSET_VAR_SPEC_CONST_UNUSED) \ + _(1257, ZEND_UNSET_VAR_SPEC_TMPVAR_UNUSED) \ + _(1258, ZEND_UNSET_VAR_SPEC_TMPVAR_UNUSED) \ + _(1260, ZEND_UNSET_VAR_SPEC_CV_UNUSED) \ + _(1271, ZEND_UNSET_DIM_SPEC_VAR_CONST) \ + _(1272, ZEND_UNSET_DIM_SPEC_VAR_TMPVAR) \ + _(1273, ZEND_UNSET_DIM_SPEC_VAR_TMPVAR) \ + _(1275, ZEND_UNSET_DIM_SPEC_VAR_CV) \ + _(1281, ZEND_UNSET_DIM_SPEC_CV_CONST) \ + _(1282, ZEND_UNSET_DIM_SPEC_CV_TMPVAR) \ + _(1283, ZEND_UNSET_DIM_SPEC_CV_TMPVAR) \ + _(1285, ZEND_UNSET_DIM_SPEC_CV_CV) \ + _(1296, ZEND_UNSET_OBJ_SPEC_VAR_CONST) \ + _(1297, ZEND_UNSET_OBJ_SPEC_VAR_TMPVAR) \ + _(1298, ZEND_UNSET_OBJ_SPEC_VAR_TMPVAR) \ + _(1300, ZEND_UNSET_OBJ_SPEC_VAR_CV) \ + _(1301, ZEND_UNSET_OBJ_SPEC_UNUSED_CONST) \ + _(1302, ZEND_UNSET_OBJ_SPEC_UNUSED_TMPVAR) \ + _(1303, ZEND_UNSET_OBJ_SPEC_UNUSED_TMPVAR) \ + _(1305, ZEND_UNSET_OBJ_SPEC_UNUSED_CV) \ + _(1306, ZEND_UNSET_OBJ_SPEC_CV_CONST) \ + _(1307, ZEND_UNSET_OBJ_SPEC_CV_TMPVAR) \ + _(1308, ZEND_UNSET_OBJ_SPEC_CV_TMPVAR) \ + _(1310, ZEND_UNSET_OBJ_SPEC_CV_CV) \ + _(1311, ZEND_FE_RESET_R_SPEC_CONST) \ + _(1312, ZEND_FE_RESET_R_SPEC_TMP) \ + _(1313, ZEND_FE_RESET_R_SPEC_VAR) \ + _(1315, ZEND_FE_RESET_R_SPEC_CV) \ + _(1316, ZEND_FE_FETCH_R_SPEC_VAR) \ + _(1317, ZEND_EXIT_SPEC) \ + _(1318, ZEND_FETCH_R_SPEC_CONST_UNUSED) \ + _(1319, ZEND_FETCH_R_SPEC_TMPVAR_UNUSED) \ + _(1320, ZEND_FETCH_R_SPEC_TMPVAR_UNUSED) \ + _(1322, ZEND_FETCH_R_SPEC_CV_UNUSED) \ + _(1323, ZEND_FETCH_DIM_R_SPEC_CONST_CONST) \ + _(1324, ZEND_FETCH_DIM_R_SPEC_CONST_TMPVAR) \ + _(1325, ZEND_FETCH_DIM_R_SPEC_CONST_TMPVAR) \ + _(1327, ZEND_FETCH_DIM_R_SPEC_CONST_CV) \ + _(1328, ZEND_FETCH_DIM_R_SPEC_TMPVAR_CONST) \ + _(1329, ZEND_FETCH_DIM_R_SPEC_TMPVAR_TMPVAR) \ + _(1330, ZEND_FETCH_DIM_R_SPEC_TMPVAR_TMPVAR) \ + _(1332, ZEND_FETCH_DIM_R_SPEC_TMPVAR_CV) \ + _(1333, ZEND_FETCH_DIM_R_SPEC_TMPVAR_CONST) \ + _(1334, ZEND_FETCH_DIM_R_SPEC_TMPVAR_TMPVAR) \ + _(1335, ZEND_FETCH_DIM_R_SPEC_TMPVAR_TMPVAR) \ + _(1337, ZEND_FETCH_DIM_R_SPEC_TMPVAR_CV) \ + _(1343, ZEND_FETCH_DIM_R_SPEC_CV_CONST) \ + _(1344, ZEND_FETCH_DIM_R_SPEC_CV_TMPVAR) \ + _(1345, ZEND_FETCH_DIM_R_SPEC_CV_TMPVAR) \ + _(1347, ZEND_FETCH_DIM_R_SPEC_CV_CV) \ + _(1348, ZEND_FETCH_OBJ_R_SPEC_CONST_CONST) \ + _(1349, ZEND_FETCH_OBJ_R_SPEC_CONST_TMPVAR) \ + _(1350, ZEND_FETCH_OBJ_R_SPEC_CONST_TMPVAR) \ + _(1352, ZEND_FETCH_OBJ_R_SPEC_CONST_CV) \ + _(1353, ZEND_FETCH_OBJ_R_SPEC_TMPVAR_CONST) \ + _(1354, ZEND_FETCH_OBJ_R_SPEC_TMPVAR_TMPVAR) \ + _(1355, ZEND_FETCH_OBJ_R_SPEC_TMPVAR_TMPVAR) \ + _(1357, ZEND_FETCH_OBJ_R_SPEC_TMPVAR_CV) \ + _(1358, ZEND_FETCH_OBJ_R_SPEC_TMPVAR_CONST) \ + _(1359, ZEND_FETCH_OBJ_R_SPEC_TMPVAR_TMPVAR) \ + _(1360, ZEND_FETCH_OBJ_R_SPEC_TMPVAR_TMPVAR) \ + _(1362, ZEND_FETCH_OBJ_R_SPEC_TMPVAR_CV) \ + _(1363, ZEND_FETCH_OBJ_R_SPEC_UNUSED_CONST) \ + _(1364, ZEND_FETCH_OBJ_R_SPEC_UNUSED_TMPVAR) \ + _(1365, ZEND_FETCH_OBJ_R_SPEC_UNUSED_TMPVAR) \ + _(1367, ZEND_FETCH_OBJ_R_SPEC_UNUSED_CV) \ + _(1368, ZEND_FETCH_OBJ_R_SPEC_CV_CONST) \ + _(1369, ZEND_FETCH_OBJ_R_SPEC_CV_TMPVAR) \ + _(1370, ZEND_FETCH_OBJ_R_SPEC_CV_TMPVAR) \ + _(1372, ZEND_FETCH_OBJ_R_SPEC_CV_CV) \ + _(1373, ZEND_FETCH_W_SPEC_CONST_UNUSED) \ + _(1374, ZEND_FETCH_W_SPEC_TMPVAR_UNUSED) \ + _(1375, ZEND_FETCH_W_SPEC_TMPVAR_UNUSED) \ + _(1377, ZEND_FETCH_W_SPEC_CV_UNUSED) \ + _(1388, ZEND_FETCH_DIM_W_SPEC_VAR_CONST) \ + _(1389, ZEND_FETCH_DIM_W_SPEC_VAR_TMPVAR) \ + _(1390, ZEND_FETCH_DIM_W_SPEC_VAR_TMPVAR) \ + _(1391, ZEND_FETCH_DIM_W_SPEC_VAR_UNUSED) \ + _(1392, ZEND_FETCH_DIM_W_SPEC_VAR_CV) \ + _(1398, ZEND_FETCH_DIM_W_SPEC_CV_CONST) \ + _(1399, ZEND_FETCH_DIM_W_SPEC_CV_TMPVAR) \ + _(1400, ZEND_FETCH_DIM_W_SPEC_CV_TMPVAR) \ + _(1401, ZEND_FETCH_DIM_W_SPEC_CV_UNUSED) \ + _(1402, ZEND_FETCH_DIM_W_SPEC_CV_CV) \ + _(1413, ZEND_FETCH_OBJ_W_SPEC_VAR_CONST) \ + _(1414, ZEND_FETCH_OBJ_W_SPEC_VAR_TMPVAR) \ + _(1415, ZEND_FETCH_OBJ_W_SPEC_VAR_TMPVAR) \ + _(1417, ZEND_FETCH_OBJ_W_SPEC_VAR_CV) \ + _(1418, ZEND_FETCH_OBJ_W_SPEC_UNUSED_CONST) \ + _(1419, ZEND_FETCH_OBJ_W_SPEC_UNUSED_TMPVAR) \ + _(1420, ZEND_FETCH_OBJ_W_SPEC_UNUSED_TMPVAR) \ + _(1422, ZEND_FETCH_OBJ_W_SPEC_UNUSED_CV) \ + _(1423, ZEND_FETCH_OBJ_W_SPEC_CV_CONST) \ + _(1424, ZEND_FETCH_OBJ_W_SPEC_CV_TMPVAR) \ + _(1425, ZEND_FETCH_OBJ_W_SPEC_CV_TMPVAR) \ + _(1427, ZEND_FETCH_OBJ_W_SPEC_CV_CV) \ + _(1428, ZEND_FETCH_RW_SPEC_CONST_UNUSED) \ + _(1429, ZEND_FETCH_RW_SPEC_TMPVAR_UNUSED) \ + _(1430, ZEND_FETCH_RW_SPEC_TMPVAR_UNUSED) \ + _(1432, ZEND_FETCH_RW_SPEC_CV_UNUSED) \ + _(1443, ZEND_FETCH_DIM_RW_SPEC_VAR_CONST) \ + _(1444, ZEND_FETCH_DIM_RW_SPEC_VAR_TMPVAR) \ + _(1445, ZEND_FETCH_DIM_RW_SPEC_VAR_TMPVAR) \ + _(1446, ZEND_FETCH_DIM_RW_SPEC_VAR_UNUSED) \ + _(1447, ZEND_FETCH_DIM_RW_SPEC_VAR_CV) \ + _(1453, ZEND_FETCH_DIM_RW_SPEC_CV_CONST) \ + _(1454, ZEND_FETCH_DIM_RW_SPEC_CV_TMPVAR) \ + _(1455, ZEND_FETCH_DIM_RW_SPEC_CV_TMPVAR) \ + _(1456, ZEND_FETCH_DIM_RW_SPEC_CV_UNUSED) \ + _(1457, ZEND_FETCH_DIM_RW_SPEC_CV_CV) \ + _(1468, ZEND_FETCH_OBJ_RW_SPEC_VAR_CONST) \ + _(1469, ZEND_FETCH_OBJ_RW_SPEC_VAR_TMPVAR) \ + _(1470, ZEND_FETCH_OBJ_RW_SPEC_VAR_TMPVAR) \ + _(1472, ZEND_FETCH_OBJ_RW_SPEC_VAR_CV) \ + _(1473, ZEND_FETCH_OBJ_RW_SPEC_UNUSED_CONST) \ + _(1474, ZEND_FETCH_OBJ_RW_SPEC_UNUSED_TMPVAR) \ + _(1475, ZEND_FETCH_OBJ_RW_SPEC_UNUSED_TMPVAR) \ + _(1477, ZEND_FETCH_OBJ_RW_SPEC_UNUSED_CV) \ + _(1478, ZEND_FETCH_OBJ_RW_SPEC_CV_CONST) \ + _(1479, ZEND_FETCH_OBJ_RW_SPEC_CV_TMPVAR) \ + _(1480, ZEND_FETCH_OBJ_RW_SPEC_CV_TMPVAR) \ + _(1482, ZEND_FETCH_OBJ_RW_SPEC_CV_CV) \ + _(1483, ZEND_FETCH_IS_SPEC_CONST_UNUSED) \ + _(1484, ZEND_FETCH_IS_SPEC_TMPVAR_UNUSED) \ + _(1485, ZEND_FETCH_IS_SPEC_TMPVAR_UNUSED) \ + _(1487, ZEND_FETCH_IS_SPEC_CV_UNUSED) \ + _(1488, ZEND_FETCH_DIM_IS_SPEC_CONST_CONST) \ + _(1489, ZEND_FETCH_DIM_IS_SPEC_CONST_TMPVAR) \ + _(1490, ZEND_FETCH_DIM_IS_SPEC_CONST_TMPVAR) \ + _(1492, ZEND_FETCH_DIM_IS_SPEC_CONST_CV) \ + _(1493, ZEND_FETCH_DIM_IS_SPEC_TMPVAR_CONST) \ + _(1494, ZEND_FETCH_DIM_IS_SPEC_TMPVAR_TMPVAR) \ + _(1495, ZEND_FETCH_DIM_IS_SPEC_TMPVAR_TMPVAR) \ + _(1497, ZEND_FETCH_DIM_IS_SPEC_TMPVAR_CV) \ + _(1498, ZEND_FETCH_DIM_IS_SPEC_TMPVAR_CONST) \ + _(1499, ZEND_FETCH_DIM_IS_SPEC_TMPVAR_TMPVAR) \ + _(1500, ZEND_FETCH_DIM_IS_SPEC_TMPVAR_TMPVAR) \ + _(1502, ZEND_FETCH_DIM_IS_SPEC_TMPVAR_CV) \ + _(1508, ZEND_FETCH_DIM_IS_SPEC_CV_CONST) \ + _(1509, ZEND_FETCH_DIM_IS_SPEC_CV_TMPVAR) \ + _(1510, ZEND_FETCH_DIM_IS_SPEC_CV_TMPVAR) \ + _(1512, ZEND_FETCH_DIM_IS_SPEC_CV_CV) \ + _(1513, ZEND_FETCH_OBJ_IS_SPEC_CONST_CONST) \ + _(1514, ZEND_FETCH_OBJ_IS_SPEC_CONST_TMPVAR) \ + _(1515, ZEND_FETCH_OBJ_IS_SPEC_CONST_TMPVAR) \ + _(1517, ZEND_FETCH_OBJ_IS_SPEC_CONST_CV) \ + _(1518, ZEND_FETCH_OBJ_IS_SPEC_TMPVAR_CONST) \ + _(1519, ZEND_FETCH_OBJ_IS_SPEC_TMPVAR_TMPVAR) \ + _(1520, ZEND_FETCH_OBJ_IS_SPEC_TMPVAR_TMPVAR) \ + _(1522, ZEND_FETCH_OBJ_IS_SPEC_TMPVAR_CV) \ + _(1523, ZEND_FETCH_OBJ_IS_SPEC_TMPVAR_CONST) \ + _(1524, ZEND_FETCH_OBJ_IS_SPEC_TMPVAR_TMPVAR) \ + _(1525, ZEND_FETCH_OBJ_IS_SPEC_TMPVAR_TMPVAR) \ + _(1527, ZEND_FETCH_OBJ_IS_SPEC_TMPVAR_CV) \ + _(1528, ZEND_FETCH_OBJ_IS_SPEC_UNUSED_CONST) \ + _(1529, ZEND_FETCH_OBJ_IS_SPEC_UNUSED_TMPVAR) \ + _(1530, ZEND_FETCH_OBJ_IS_SPEC_UNUSED_TMPVAR) \ + _(1532, ZEND_FETCH_OBJ_IS_SPEC_UNUSED_CV) \ + _(1533, ZEND_FETCH_OBJ_IS_SPEC_CV_CONST) \ + _(1534, ZEND_FETCH_OBJ_IS_SPEC_CV_TMPVAR) \ + _(1535, ZEND_FETCH_OBJ_IS_SPEC_CV_TMPVAR) \ + _(1537, ZEND_FETCH_OBJ_IS_SPEC_CV_CV) \ + _(1538, ZEND_FETCH_FUNC_ARG_SPEC_CONST_UNUSED) \ + _(1539, ZEND_FETCH_FUNC_ARG_SPEC_TMPVAR_UNUSED) \ + _(1540, ZEND_FETCH_FUNC_ARG_SPEC_TMPVAR_UNUSED) \ + _(1542, ZEND_FETCH_FUNC_ARG_SPEC_CV_UNUSED) \ + _(1543, ZEND_FETCH_DIM_FUNC_ARG_SPEC_CONST_CONST) \ + _(1544, ZEND_FETCH_DIM_FUNC_ARG_SPEC_CONST_TMPVAR) \ + _(1545, ZEND_FETCH_DIM_FUNC_ARG_SPEC_CONST_TMPVAR) \ + _(1546, ZEND_FETCH_DIM_FUNC_ARG_SPEC_CONST_UNUSED) \ + _(1547, ZEND_FETCH_DIM_FUNC_ARG_SPEC_CONST_CV) \ + _(1548, ZEND_FETCH_DIM_FUNC_ARG_SPEC_TMP_CONST) \ + _(1549, ZEND_FETCH_DIM_FUNC_ARG_SPEC_TMP_TMPVAR) \ + _(1550, ZEND_FETCH_DIM_FUNC_ARG_SPEC_TMP_TMPVAR) \ + _(1551, ZEND_FETCH_DIM_FUNC_ARG_SPEC_TMP_UNUSED) \ + _(1552, ZEND_FETCH_DIM_FUNC_ARG_SPEC_TMP_CV) \ + _(1553, ZEND_FETCH_DIM_FUNC_ARG_SPEC_VAR_CONST) \ + _(1554, ZEND_FETCH_DIM_FUNC_ARG_SPEC_VAR_TMPVAR) \ + _(1555, ZEND_FETCH_DIM_FUNC_ARG_SPEC_VAR_TMPVAR) \ + _(1556, ZEND_FETCH_DIM_FUNC_ARG_SPEC_VAR_UNUSED) \ + _(1557, ZEND_FETCH_DIM_FUNC_ARG_SPEC_VAR_CV) \ + _(1563, ZEND_FETCH_DIM_FUNC_ARG_SPEC_CV_CONST) \ + _(1564, ZEND_FETCH_DIM_FUNC_ARG_SPEC_CV_TMPVAR) \ + _(1565, ZEND_FETCH_DIM_FUNC_ARG_SPEC_CV_TMPVAR) \ + _(1566, ZEND_FETCH_DIM_FUNC_ARG_SPEC_CV_UNUSED) \ + _(1567, ZEND_FETCH_DIM_FUNC_ARG_SPEC_CV_CV) \ + _(1568, ZEND_FETCH_OBJ_FUNC_ARG_SPEC_CONST_CONST) \ + _(1569, ZEND_FETCH_OBJ_FUNC_ARG_SPEC_CONST_TMPVAR) \ + _(1570, ZEND_FETCH_OBJ_FUNC_ARG_SPEC_CONST_TMPVAR) \ + _(1572, ZEND_FETCH_OBJ_FUNC_ARG_SPEC_CONST_CV) \ + _(1573, ZEND_FETCH_OBJ_FUNC_ARG_SPEC_TMP_CONST) \ + _(1574, ZEND_FETCH_OBJ_FUNC_ARG_SPEC_TMP_TMPVAR) \ + _(1575, ZEND_FETCH_OBJ_FUNC_ARG_SPEC_TMP_TMPVAR) \ + _(1577, ZEND_FETCH_OBJ_FUNC_ARG_SPEC_TMP_CV) \ + _(1578, ZEND_FETCH_OBJ_FUNC_ARG_SPEC_VAR_CONST) \ + _(1579, ZEND_FETCH_OBJ_FUNC_ARG_SPEC_VAR_TMPVAR) \ + _(1580, ZEND_FETCH_OBJ_FUNC_ARG_SPEC_VAR_TMPVAR) \ + _(1582, ZEND_FETCH_OBJ_FUNC_ARG_SPEC_VAR_CV) \ + _(1583, ZEND_FETCH_OBJ_FUNC_ARG_SPEC_UNUSED_CONST) \ + _(1584, ZEND_FETCH_OBJ_FUNC_ARG_SPEC_UNUSED_TMPVAR) \ + _(1585, ZEND_FETCH_OBJ_FUNC_ARG_SPEC_UNUSED_TMPVAR) \ + _(1587, ZEND_FETCH_OBJ_FUNC_ARG_SPEC_UNUSED_CV) \ + _(1588, ZEND_FETCH_OBJ_FUNC_ARG_SPEC_CV_CONST) \ + _(1589, ZEND_FETCH_OBJ_FUNC_ARG_SPEC_CV_TMPVAR) \ + _(1590, ZEND_FETCH_OBJ_FUNC_ARG_SPEC_CV_TMPVAR) \ + _(1592, ZEND_FETCH_OBJ_FUNC_ARG_SPEC_CV_CV) \ + _(1593, ZEND_FETCH_UNSET_SPEC_CONST_UNUSED) \ + _(1594, ZEND_FETCH_UNSET_SPEC_TMPVAR_UNUSED) \ + _(1595, ZEND_FETCH_UNSET_SPEC_TMPVAR_UNUSED) \ + _(1597, ZEND_FETCH_UNSET_SPEC_CV_UNUSED) \ + _(1608, ZEND_FETCH_DIM_UNSET_SPEC_VAR_CONST) \ + _(1609, ZEND_FETCH_DIM_UNSET_SPEC_VAR_TMPVAR) \ + _(1610, ZEND_FETCH_DIM_UNSET_SPEC_VAR_TMPVAR) \ + _(1612, ZEND_FETCH_DIM_UNSET_SPEC_VAR_CV) \ + _(1618, ZEND_FETCH_DIM_UNSET_SPEC_CV_CONST) \ + _(1619, ZEND_FETCH_DIM_UNSET_SPEC_CV_TMPVAR) \ + _(1620, ZEND_FETCH_DIM_UNSET_SPEC_CV_TMPVAR) \ + _(1622, ZEND_FETCH_DIM_UNSET_SPEC_CV_CV) \ + _(1633, ZEND_FETCH_OBJ_UNSET_SPEC_VAR_CONST) \ + _(1634, ZEND_FETCH_OBJ_UNSET_SPEC_VAR_TMPVAR) \ + _(1635, ZEND_FETCH_OBJ_UNSET_SPEC_VAR_TMPVAR) \ + _(1637, ZEND_FETCH_OBJ_UNSET_SPEC_VAR_CV) \ + _(1638, ZEND_FETCH_OBJ_UNSET_SPEC_UNUSED_CONST) \ + _(1639, ZEND_FETCH_OBJ_UNSET_SPEC_UNUSED_TMPVAR) \ + _(1640, ZEND_FETCH_OBJ_UNSET_SPEC_UNUSED_TMPVAR) \ + _(1642, ZEND_FETCH_OBJ_UNSET_SPEC_UNUSED_CV) \ + _(1643, ZEND_FETCH_OBJ_UNSET_SPEC_CV_CONST) \ + _(1644, ZEND_FETCH_OBJ_UNSET_SPEC_CV_TMPVAR) \ + _(1645, ZEND_FETCH_OBJ_UNSET_SPEC_CV_TMPVAR) \ + _(1647, ZEND_FETCH_OBJ_UNSET_SPEC_CV_CV) \ + _(1648, ZEND_FETCH_LIST_R_SPEC_CONST_CONST) \ + _(1649, ZEND_FETCH_LIST_R_SPEC_CONST_TMPVAR) \ + _(1650, ZEND_FETCH_LIST_R_SPEC_CONST_TMPVAR) \ + _(1652, ZEND_FETCH_LIST_R_SPEC_CONST_CV) \ + _(1653, ZEND_FETCH_LIST_R_SPEC_TMPVARCV_CONST) \ + _(1654, ZEND_FETCH_LIST_R_SPEC_TMPVARCV_TMPVAR) \ + _(1655, ZEND_FETCH_LIST_R_SPEC_TMPVARCV_TMPVAR) \ + _(1657, ZEND_FETCH_LIST_R_SPEC_TMPVARCV_CV) \ + _(1658, ZEND_FETCH_LIST_R_SPEC_TMPVARCV_CONST) \ + _(1659, ZEND_FETCH_LIST_R_SPEC_TMPVARCV_TMPVAR) \ + _(1660, ZEND_FETCH_LIST_R_SPEC_TMPVARCV_TMPVAR) \ + _(1662, ZEND_FETCH_LIST_R_SPEC_TMPVARCV_CV) \ + _(1668, ZEND_FETCH_LIST_R_SPEC_TMPVARCV_CONST) \ + _(1669, ZEND_FETCH_LIST_R_SPEC_TMPVARCV_TMPVAR) \ + _(1670, ZEND_FETCH_LIST_R_SPEC_TMPVARCV_TMPVAR) \ + _(1672, ZEND_FETCH_LIST_R_SPEC_TMPVARCV_CV) \ + _(1673, ZEND_FETCH_CONSTANT_SPEC_UNUSED_CONST) \ + _(1674, ZEND_CHECK_FUNC_ARG_SPEC_UNUSED) \ + _(1675, ZEND_CHECK_FUNC_ARG_SPEC_UNUSED_QUICK) \ + _(1676, ZEND_EXT_STMT_SPEC) \ + _(1677, ZEND_EXT_FCALL_BEGIN_SPEC) \ + _(1678, ZEND_EXT_FCALL_END_SPEC) \ + _(1679, ZEND_EXT_NOP_SPEC) \ + _(1680, ZEND_TICKS_SPEC) \ + _(1681, ZEND_SEND_VAR_NO_REF_SPEC_VAR) \ + _(1682, ZEND_CATCH_SPEC_CONST) \ + _(1683, ZEND_THROW_SPEC_CONST) \ + _(1684, ZEND_THROW_SPEC_TMP) \ + _(1685, ZEND_THROW_SPEC_VAR) \ + _(1687, ZEND_THROW_SPEC_CV) \ + _(1688, ZEND_FETCH_CLASS_SPEC_UNUSED_CONST) \ + _(1689, ZEND_FETCH_CLASS_SPEC_UNUSED_TMPVAR) \ + _(1690, ZEND_FETCH_CLASS_SPEC_UNUSED_TMPVAR) \ + _(1691, ZEND_FETCH_CLASS_SPEC_UNUSED_UNUSED) \ + _(1692, ZEND_FETCH_CLASS_SPEC_UNUSED_CV) \ + _(1693, ZEND_CLONE_SPEC_CONST) \ + _(1694, ZEND_CLONE_SPEC_TMPVAR) \ + _(1695, ZEND_CLONE_SPEC_TMPVAR) \ + _(1696, ZEND_CLONE_SPEC_UNUSED) \ + _(1697, ZEND_CLONE_SPEC_CV) \ + _(1698, ZEND_RETURN_BY_REF_SPEC_CONST) \ + _(1699, ZEND_RETURN_BY_REF_SPEC_TMP) \ + _(1700, ZEND_RETURN_BY_REF_SPEC_VAR) \ + _(1702, ZEND_RETURN_BY_REF_SPEC_CV) \ + _(1703, ZEND_INIT_METHOD_CALL_SPEC_CONST_CONST) \ + _(1704, ZEND_INIT_METHOD_CALL_SPEC_CONST_TMPVAR) \ + _(1705, ZEND_INIT_METHOD_CALL_SPEC_CONST_TMPVAR) \ + _(1707, ZEND_INIT_METHOD_CALL_SPEC_CONST_CV) \ + _(1708, ZEND_INIT_METHOD_CALL_SPEC_TMPVAR_CONST) \ + _(1709, ZEND_INIT_METHOD_CALL_SPEC_TMPVAR_TMPVAR) \ + _(1710, ZEND_INIT_METHOD_CALL_SPEC_TMPVAR_TMPVAR) \ + _(1712, ZEND_INIT_METHOD_CALL_SPEC_TMPVAR_CV) \ + _(1713, ZEND_INIT_METHOD_CALL_SPEC_TMPVAR_CONST) \ + _(1714, ZEND_INIT_METHOD_CALL_SPEC_TMPVAR_TMPVAR) \ + _(1715, ZEND_INIT_METHOD_CALL_SPEC_TMPVAR_TMPVAR) \ + _(1717, ZEND_INIT_METHOD_CALL_SPEC_TMPVAR_CV) \ + _(1718, ZEND_INIT_METHOD_CALL_SPEC_UNUSED_CONST) \ + _(1719, ZEND_INIT_METHOD_CALL_SPEC_UNUSED_TMPVAR) \ + _(1720, ZEND_INIT_METHOD_CALL_SPEC_UNUSED_TMPVAR) \ + _(1722, ZEND_INIT_METHOD_CALL_SPEC_UNUSED_CV) \ + _(1723, ZEND_INIT_METHOD_CALL_SPEC_CV_CONST) \ + _(1724, ZEND_INIT_METHOD_CALL_SPEC_CV_TMPVAR) \ + _(1725, ZEND_INIT_METHOD_CALL_SPEC_CV_TMPVAR) \ + _(1727, ZEND_INIT_METHOD_CALL_SPEC_CV_CV) \ + _(1728, ZEND_INIT_STATIC_METHOD_CALL_SPEC_CONST_CONST) \ + _(1729, ZEND_INIT_STATIC_METHOD_CALL_SPEC_CONST_TMPVAR) \ + _(1730, ZEND_INIT_STATIC_METHOD_CALL_SPEC_CONST_TMPVAR) \ + _(1731, ZEND_INIT_STATIC_METHOD_CALL_SPEC_CONST_UNUSED) \ + _(1732, ZEND_INIT_STATIC_METHOD_CALL_SPEC_CONST_CV) \ + _(1738, ZEND_INIT_STATIC_METHOD_CALL_SPEC_VAR_CONST) \ + _(1739, ZEND_INIT_STATIC_METHOD_CALL_SPEC_VAR_TMPVAR) \ + _(1740, ZEND_INIT_STATIC_METHOD_CALL_SPEC_VAR_TMPVAR) \ + _(1741, ZEND_INIT_STATIC_METHOD_CALL_SPEC_VAR_UNUSED) \ + _(1742, ZEND_INIT_STATIC_METHOD_CALL_SPEC_VAR_CV) \ + _(1743, ZEND_INIT_STATIC_METHOD_CALL_SPEC_UNUSED_CONST) \ + _(1744, ZEND_INIT_STATIC_METHOD_CALL_SPEC_UNUSED_TMPVAR) \ + _(1745, ZEND_INIT_STATIC_METHOD_CALL_SPEC_UNUSED_TMPVAR) \ + _(1746, ZEND_INIT_STATIC_METHOD_CALL_SPEC_UNUSED_UNUSED) \ + _(1747, ZEND_INIT_STATIC_METHOD_CALL_SPEC_UNUSED_CV) \ + _(1753, ZEND_ISSET_ISEMPTY_VAR_SPEC_CONST_UNUSED) \ + _(1754, ZEND_ISSET_ISEMPTY_VAR_SPEC_TMPVAR_UNUSED) \ + _(1755, ZEND_ISSET_ISEMPTY_VAR_SPEC_TMPVAR_UNUSED) \ + _(1757, ZEND_ISSET_ISEMPTY_VAR_SPEC_CV_UNUSED) \ + _(1758, ZEND_ISSET_ISEMPTY_DIM_OBJ_SPEC_CONST_CONST) \ + _(1759, ZEND_ISSET_ISEMPTY_DIM_OBJ_SPEC_CONST_TMPVAR) \ + _(1760, ZEND_ISSET_ISEMPTY_DIM_OBJ_SPEC_CONST_TMPVAR) \ + _(1762, ZEND_ISSET_ISEMPTY_DIM_OBJ_SPEC_CONST_CV) \ + _(1763, ZEND_ISSET_ISEMPTY_DIM_OBJ_SPEC_TMPVAR_CONST) \ + _(1764, ZEND_ISSET_ISEMPTY_DIM_OBJ_SPEC_TMPVAR_TMPVAR) \ + _(1765, ZEND_ISSET_ISEMPTY_DIM_OBJ_SPEC_TMPVAR_TMPVAR) \ + _(1767, ZEND_ISSET_ISEMPTY_DIM_OBJ_SPEC_TMPVAR_CV) \ + _(1768, ZEND_ISSET_ISEMPTY_DIM_OBJ_SPEC_TMPVAR_CONST) \ + _(1769, ZEND_ISSET_ISEMPTY_DIM_OBJ_SPEC_TMPVAR_TMPVAR) \ + _(1770, ZEND_ISSET_ISEMPTY_DIM_OBJ_SPEC_TMPVAR_TMPVAR) \ + _(1772, ZEND_ISSET_ISEMPTY_DIM_OBJ_SPEC_TMPVAR_CV) \ + _(1778, ZEND_ISSET_ISEMPTY_DIM_OBJ_SPEC_CV_CONST) \ + _(1779, ZEND_ISSET_ISEMPTY_DIM_OBJ_SPEC_CV_TMPVAR) \ + _(1780, ZEND_ISSET_ISEMPTY_DIM_OBJ_SPEC_CV_TMPVAR) \ + _(1782, ZEND_ISSET_ISEMPTY_DIM_OBJ_SPEC_CV_CV) \ + _(1783, ZEND_SEND_VAL_EX_SPEC_CONST) \ + _(1784, ZEND_SEND_VAL_EX_SPEC_CONST_QUICK) \ + _(1785, ZEND_SEND_VAL_EX_SPEC_TMP) \ + _(1786, ZEND_SEND_VAL_EX_SPEC_TMP_QUICK) \ + _(1795, ZEND_SEND_VAR_SPEC_VAR) \ + _(1797, ZEND_SEND_VAR_SPEC_CV) \ + _(1798, ZEND_INIT_USER_CALL_SPEC_CONST_CONST) \ + _(1799, ZEND_INIT_USER_CALL_SPEC_CONST_TMPVAR) \ + _(1800, ZEND_INIT_USER_CALL_SPEC_CONST_TMPVAR) \ + _(1802, ZEND_INIT_USER_CALL_SPEC_CONST_CV) \ + _(1803, ZEND_SEND_ARRAY_SPEC) \ + _(1804, ZEND_SEND_USER_SPEC_CONST) \ + _(1805, ZEND_SEND_USER_SPEC_TMP) \ + _(1806, ZEND_SEND_USER_SPEC_VAR) \ + _(1808, ZEND_SEND_USER_SPEC_CV) \ + _(1809, ZEND_STRLEN_SPEC_CONST) \ + _(1810, ZEND_STRLEN_SPEC_TMPVAR) \ + _(1811, ZEND_STRLEN_SPEC_TMPVAR) \ + _(1813, ZEND_STRLEN_SPEC_CV) \ + _(1814, ZEND_DEFINED_SPEC_CONST) \ + _(1815, ZEND_TYPE_CHECK_SPEC_CONST) \ + _(1816, ZEND_TYPE_CHECK_SPEC_TMPVAR) \ + _(1817, ZEND_TYPE_CHECK_SPEC_TMPVAR) \ + _(1819, ZEND_TYPE_CHECK_SPEC_CV) \ + _(1820, ZEND_VERIFY_RETURN_TYPE_SPEC_CONST_UNUSED) \ + _(1821, ZEND_VERIFY_RETURN_TYPE_SPEC_TMP_UNUSED) \ + _(1822, ZEND_VERIFY_RETURN_TYPE_SPEC_VAR_UNUSED) \ + _(1823, ZEND_VERIFY_RETURN_TYPE_SPEC_UNUSED_UNUSED) \ + _(1824, ZEND_VERIFY_RETURN_TYPE_SPEC_CV_UNUSED) \ + _(1825, ZEND_FE_RESET_RW_SPEC_CONST) \ + _(1826, ZEND_FE_RESET_RW_SPEC_TMP) \ + _(1827, ZEND_FE_RESET_RW_SPEC_VAR) \ + _(1829, ZEND_FE_RESET_RW_SPEC_CV) \ + _(1830, ZEND_FE_FETCH_RW_SPEC_VAR) \ + _(1831, ZEND_FE_FREE_SPEC_TMPVAR) \ + _(1832, ZEND_INIT_DYNAMIC_CALL_SPEC_CONST) \ + _(1833, ZEND_INIT_DYNAMIC_CALL_SPEC_TMPVAR) \ + _(1834, ZEND_INIT_DYNAMIC_CALL_SPEC_TMPVAR) \ + _(1836, ZEND_INIT_DYNAMIC_CALL_SPEC_CV) \ + _(1837, ZEND_DO_ICALL_SPEC_RETVAL_UNUSED) \ + _(1838, ZEND_DO_ICALL_SPEC_RETVAL_USED) \ + _(1839, ZEND_DO_UCALL_SPEC_RETVAL_UNUSED) \ + _(1840, ZEND_DO_UCALL_SPEC_RETVAL_USED) \ + _(1841, ZEND_DO_FCALL_BY_NAME_SPEC_RETVAL_UNUSED) \ + _(1842, ZEND_DO_FCALL_BY_NAME_SPEC_RETVAL_USED) \ + _(1853, ZEND_PRE_INC_OBJ_SPEC_VAR_CONST) \ + _(1854, ZEND_PRE_INC_OBJ_SPEC_VAR_TMPVAR) \ + _(1855, ZEND_PRE_INC_OBJ_SPEC_VAR_TMPVAR) \ + _(1857, ZEND_PRE_INC_OBJ_SPEC_VAR_CV) \ + _(1858, ZEND_PRE_INC_OBJ_SPEC_UNUSED_CONST) \ + _(1859, ZEND_PRE_INC_OBJ_SPEC_UNUSED_TMPVAR) \ + _(1860, ZEND_PRE_INC_OBJ_SPEC_UNUSED_TMPVAR) \ + _(1862, ZEND_PRE_INC_OBJ_SPEC_UNUSED_CV) \ + _(1863, ZEND_PRE_INC_OBJ_SPEC_CV_CONST) \ + _(1864, ZEND_PRE_INC_OBJ_SPEC_CV_TMPVAR) \ + _(1865, ZEND_PRE_INC_OBJ_SPEC_CV_TMPVAR) \ + _(1867, ZEND_PRE_INC_OBJ_SPEC_CV_CV) \ + _(1878, ZEND_PRE_DEC_OBJ_SPEC_VAR_CONST) \ + _(1879, ZEND_PRE_DEC_OBJ_SPEC_VAR_TMPVAR) \ + _(1880, ZEND_PRE_DEC_OBJ_SPEC_VAR_TMPVAR) \ + _(1882, ZEND_PRE_DEC_OBJ_SPEC_VAR_CV) \ + _(1883, ZEND_PRE_DEC_OBJ_SPEC_UNUSED_CONST) \ + _(1884, ZEND_PRE_DEC_OBJ_SPEC_UNUSED_TMPVAR) \ + _(1885, ZEND_PRE_DEC_OBJ_SPEC_UNUSED_TMPVAR) \ + _(1887, ZEND_PRE_DEC_OBJ_SPEC_UNUSED_CV) \ + _(1888, ZEND_PRE_DEC_OBJ_SPEC_CV_CONST) \ + _(1889, ZEND_PRE_DEC_OBJ_SPEC_CV_TMPVAR) \ + _(1890, ZEND_PRE_DEC_OBJ_SPEC_CV_TMPVAR) \ + _(1892, ZEND_PRE_DEC_OBJ_SPEC_CV_CV) \ + _(1903, ZEND_POST_INC_OBJ_SPEC_VAR_CONST) \ + _(1904, ZEND_POST_INC_OBJ_SPEC_VAR_TMPVAR) \ + _(1905, ZEND_POST_INC_OBJ_SPEC_VAR_TMPVAR) \ + _(1907, ZEND_POST_INC_OBJ_SPEC_VAR_CV) \ + _(1908, ZEND_POST_INC_OBJ_SPEC_UNUSED_CONST) \ + _(1909, ZEND_POST_INC_OBJ_SPEC_UNUSED_TMPVAR) \ + _(1910, ZEND_POST_INC_OBJ_SPEC_UNUSED_TMPVAR) \ + _(1912, ZEND_POST_INC_OBJ_SPEC_UNUSED_CV) \ + _(1913, ZEND_POST_INC_OBJ_SPEC_CV_CONST) \ + _(1914, ZEND_POST_INC_OBJ_SPEC_CV_TMPVAR) \ + _(1915, ZEND_POST_INC_OBJ_SPEC_CV_TMPVAR) \ + _(1917, ZEND_POST_INC_OBJ_SPEC_CV_CV) \ + _(1928, ZEND_POST_DEC_OBJ_SPEC_VAR_CONST) \ + _(1929, ZEND_POST_DEC_OBJ_SPEC_VAR_TMPVAR) \ + _(1930, ZEND_POST_DEC_OBJ_SPEC_VAR_TMPVAR) \ + _(1932, ZEND_POST_DEC_OBJ_SPEC_VAR_CV) \ + _(1933, ZEND_POST_DEC_OBJ_SPEC_UNUSED_CONST) \ + _(1934, ZEND_POST_DEC_OBJ_SPEC_UNUSED_TMPVAR) \ + _(1935, ZEND_POST_DEC_OBJ_SPEC_UNUSED_TMPVAR) \ + _(1937, ZEND_POST_DEC_OBJ_SPEC_UNUSED_CV) \ + _(1938, ZEND_POST_DEC_OBJ_SPEC_CV_CONST) \ + _(1939, ZEND_POST_DEC_OBJ_SPEC_CV_TMPVAR) \ + _(1940, ZEND_POST_DEC_OBJ_SPEC_CV_TMPVAR) \ + _(1942, ZEND_POST_DEC_OBJ_SPEC_CV_CV) \ + _(1943, ZEND_ECHO_SPEC_CONST) \ + _(1944, ZEND_ECHO_SPEC_TMPVAR) \ + _(1945, ZEND_ECHO_SPEC_TMPVAR) \ + _(1947, ZEND_ECHO_SPEC_CV) \ + _(1954, ZEND_INSTANCEOF_SPEC_TMPVAR_CONST) \ + _(1956, ZEND_INSTANCEOF_SPEC_TMPVAR_VAR) \ + _(1957, ZEND_INSTANCEOF_SPEC_TMPVAR_UNUSED) \ + _(1959, ZEND_INSTANCEOF_SPEC_TMPVAR_CONST) \ + _(1961, ZEND_INSTANCEOF_SPEC_TMPVAR_VAR) \ + _(1962, ZEND_INSTANCEOF_SPEC_TMPVAR_UNUSED) \ + _(1969, ZEND_INSTANCEOF_SPEC_CV_CONST) \ + _(1971, ZEND_INSTANCEOF_SPEC_CV_VAR) \ + _(1972, ZEND_INSTANCEOF_SPEC_CV_UNUSED) \ + _(1974, ZEND_GENERATOR_CREATE_SPEC) \ + _(1977, ZEND_MAKE_REF_SPEC_VAR_UNUSED) \ + _(1979, ZEND_MAKE_REF_SPEC_CV_UNUSED) \ + _(1980, ZEND_DECLARE_FUNCTION_SPEC) \ + _(1981, ZEND_DECLARE_LAMBDA_FUNCTION_SPEC_CONST_UNUSED) \ + _(1982, ZEND_DECLARE_CONST_SPEC_CONST_CONST) \ + _(1983, ZEND_DECLARE_CLASS_SPEC_CONST) \ + _(1984, ZEND_DECLARE_CLASS_DELAYED_SPEC_CONST_CONST) \ + _(1985, ZEND_DECLARE_ANON_CLASS_SPEC) \ + _(1986, ZEND_ADD_ARRAY_UNPACK_SPEC) \ + _(1987, ZEND_ISSET_ISEMPTY_PROP_OBJ_SPEC_CONST_CONST) \ + _(1988, ZEND_ISSET_ISEMPTY_PROP_OBJ_SPEC_CONST_TMPVAR) \ + _(1989, ZEND_ISSET_ISEMPTY_PROP_OBJ_SPEC_CONST_TMPVAR) \ + _(1991, ZEND_ISSET_ISEMPTY_PROP_OBJ_SPEC_CONST_CV) \ + _(1992, ZEND_ISSET_ISEMPTY_PROP_OBJ_SPEC_TMPVAR_CONST) \ + _(1993, ZEND_ISSET_ISEMPTY_PROP_OBJ_SPEC_TMPVAR_TMPVAR) \ + _(1994, ZEND_ISSET_ISEMPTY_PROP_OBJ_SPEC_TMPVAR_TMPVAR) \ + _(1996, ZEND_ISSET_ISEMPTY_PROP_OBJ_SPEC_TMPVAR_CV) \ + _(1997, ZEND_ISSET_ISEMPTY_PROP_OBJ_SPEC_TMPVAR_CONST) \ + _(1998, ZEND_ISSET_ISEMPTY_PROP_OBJ_SPEC_TMPVAR_TMPVAR) \ + _(1999, ZEND_ISSET_ISEMPTY_PROP_OBJ_SPEC_TMPVAR_TMPVAR) \ + _(2001, ZEND_ISSET_ISEMPTY_PROP_OBJ_SPEC_TMPVAR_CV) \ + _(2002, ZEND_ISSET_ISEMPTY_PROP_OBJ_SPEC_UNUSED_CONST) \ + _(2003, ZEND_ISSET_ISEMPTY_PROP_OBJ_SPEC_UNUSED_TMPVAR) \ + _(2004, ZEND_ISSET_ISEMPTY_PROP_OBJ_SPEC_UNUSED_TMPVAR) \ + _(2006, ZEND_ISSET_ISEMPTY_PROP_OBJ_SPEC_UNUSED_CV) \ + _(2007, ZEND_ISSET_ISEMPTY_PROP_OBJ_SPEC_CV_CONST) \ + _(2008, ZEND_ISSET_ISEMPTY_PROP_OBJ_SPEC_CV_TMPVAR) \ + _(2009, ZEND_ISSET_ISEMPTY_PROP_OBJ_SPEC_CV_TMPVAR) \ + _(2011, ZEND_ISSET_ISEMPTY_PROP_OBJ_SPEC_CV_CV) \ + _(2012, ZEND_HANDLE_EXCEPTION_SPEC) \ + _(2013, ZEND_USER_OPCODE_SPEC) \ + _(2014, ZEND_ASSERT_CHECK_SPEC) \ + _(2015, ZEND_JMP_SET_SPEC_CONST) \ + _(2016, ZEND_JMP_SET_SPEC_TMP) \ + _(2017, ZEND_JMP_SET_SPEC_VAR) \ + _(2019, ZEND_JMP_SET_SPEC_CV) \ + _(2020, ZEND_UNSET_CV_SPEC_CV_UNUSED) \ + _(2021, ZEND_ISSET_ISEMPTY_CV_SPEC_CV_UNUSED_SET) \ + _(2022, ZEND_ISSET_ISEMPTY_CV_SPEC_CV_UNUSED_EMPTY) \ + _(2023, ZEND_FETCH_LIST_W_SPEC_VAR_CONST) \ + _(2024, ZEND_FETCH_LIST_W_SPEC_VAR_TMPVAR) \ + _(2025, ZEND_FETCH_LIST_W_SPEC_VAR_TMPVAR) \ + _(2027, ZEND_FETCH_LIST_W_SPEC_VAR_CV) \ + _(2028, ZEND_SEPARATE_SPEC_VAR_UNUSED) \ + _(2029, ZEND_FETCH_CLASS_NAME_SPEC_UNUSED) \ + _(2030, ZEND_CALL_TRAMPOLINE_SPEC) \ + _(2031, ZEND_DISCARD_EXCEPTION_SPEC) \ + _(2032, ZEND_YIELD_SPEC_CONST_CONST) \ + _(2033, ZEND_YIELD_SPEC_CONST_TMP) \ + _(2034, ZEND_YIELD_SPEC_CONST_VAR) \ + _(2035, ZEND_YIELD_SPEC_CONST_UNUSED) \ + _(2036, ZEND_YIELD_SPEC_CONST_CV) \ + _(2037, ZEND_YIELD_SPEC_TMP_CONST) \ + _(2038, ZEND_YIELD_SPEC_TMP_TMP) \ + _(2039, ZEND_YIELD_SPEC_TMP_VAR) \ + _(2040, ZEND_YIELD_SPEC_TMP_UNUSED) \ + _(2041, ZEND_YIELD_SPEC_TMP_CV) \ + _(2042, ZEND_YIELD_SPEC_VAR_CONST) \ + _(2043, ZEND_YIELD_SPEC_VAR_TMP) \ + _(2044, ZEND_YIELD_SPEC_VAR_VAR) \ + _(2045, ZEND_YIELD_SPEC_VAR_UNUSED) \ + _(2046, ZEND_YIELD_SPEC_VAR_CV) \ + _(2047, ZEND_YIELD_SPEC_UNUSED_CONST) \ + _(2048, ZEND_YIELD_SPEC_UNUSED_TMP) \ + _(2049, ZEND_YIELD_SPEC_UNUSED_VAR) \ + _(2050, ZEND_YIELD_SPEC_UNUSED_UNUSED) \ + _(2051, ZEND_YIELD_SPEC_UNUSED_CV) \ + _(2052, ZEND_YIELD_SPEC_CV_CONST) \ + _(2053, ZEND_YIELD_SPEC_CV_TMP) \ + _(2054, ZEND_YIELD_SPEC_CV_VAR) \ + _(2055, ZEND_YIELD_SPEC_CV_UNUSED) \ + _(2056, ZEND_YIELD_SPEC_CV_CV) \ + _(2057, ZEND_GENERATOR_RETURN_SPEC_CONST) \ + _(2058, ZEND_GENERATOR_RETURN_SPEC_TMP) \ + _(2059, ZEND_GENERATOR_RETURN_SPEC_VAR) \ + _(2061, ZEND_GENERATOR_RETURN_SPEC_CV) \ + _(2062, ZEND_FAST_CALL_SPEC) \ + _(2063, ZEND_FAST_RET_SPEC) \ + _(2064, ZEND_RECV_VARIADIC_SPEC_UNUSED) \ + _(2065, ZEND_SEND_UNPACK_SPEC) \ + _(2066, ZEND_YIELD_FROM_SPEC_CONST) \ + _(2067, ZEND_YIELD_FROM_SPEC_TMP) \ + _(2068, ZEND_YIELD_FROM_SPEC_VAR) \ + _(2070, ZEND_YIELD_FROM_SPEC_CV) \ + _(2071, ZEND_COPY_TMP_SPEC_TMPVAR_UNUSED) \ + _(2072, ZEND_BIND_GLOBAL_SPEC_CV_CONST) \ + _(2073, ZEND_COALESCE_SPEC_CONST) \ + _(2074, ZEND_COALESCE_SPEC_TMPVAR) \ + _(2075, ZEND_COALESCE_SPEC_TMPVAR) \ + _(2077, ZEND_COALESCE_SPEC_CV) \ + _(2078, ZEND_SPACESHIP_SPEC_CONST_CONST) \ + _(2079, ZEND_SPACESHIP_SPEC_CONST_TMPVAR) \ + _(2080, ZEND_SPACESHIP_SPEC_CONST_TMPVAR) \ + _(2082, ZEND_SPACESHIP_SPEC_CONST_CV) \ + _(2083, ZEND_SPACESHIP_SPEC_TMPVAR_CONST) \ + _(2084, ZEND_SPACESHIP_SPEC_TMPVAR_TMPVAR) \ + _(2085, ZEND_SPACESHIP_SPEC_TMPVAR_TMPVAR) \ + _(2087, ZEND_SPACESHIP_SPEC_TMPVAR_CV) \ + _(2088, ZEND_SPACESHIP_SPEC_TMPVAR_CONST) \ + _(2089, ZEND_SPACESHIP_SPEC_TMPVAR_TMPVAR) \ + _(2090, ZEND_SPACESHIP_SPEC_TMPVAR_TMPVAR) \ + _(2092, ZEND_SPACESHIP_SPEC_TMPVAR_CV) \ + _(2098, ZEND_SPACESHIP_SPEC_CV_CONST) \ + _(2099, ZEND_SPACESHIP_SPEC_CV_TMPVAR) \ + _(2100, ZEND_SPACESHIP_SPEC_CV_TMPVAR) \ + _(2102, ZEND_SPACESHIP_SPEC_CV_CV) \ + _(2103, ZEND_FUNC_NUM_ARGS_SPEC_UNUSED_UNUSED) \ + _(2104, ZEND_FUNC_GET_ARGS_SPEC_CONST_UNUSED) \ + _(2107, ZEND_FUNC_GET_ARGS_SPEC_UNUSED_UNUSED) \ + _(2109, ZEND_FETCH_STATIC_PROP_R_SPEC) \ + _(2110, ZEND_FETCH_STATIC_PROP_W_SPEC) \ + _(2111, ZEND_FETCH_STATIC_PROP_RW_SPEC) \ + _(2112, ZEND_FETCH_STATIC_PROP_IS_SPEC) \ + _(2113, ZEND_FETCH_STATIC_PROP_FUNC_ARG_SPEC) \ + _(2114, ZEND_FETCH_STATIC_PROP_UNSET_SPEC) \ + _(2115, ZEND_UNSET_STATIC_PROP_SPEC) \ + _(2116, ZEND_ISSET_ISEMPTY_STATIC_PROP_SPEC) \ + _(2117, ZEND_FETCH_CLASS_CONSTANT_SPEC_CONST_CONST) \ + _(2119, ZEND_FETCH_CLASS_CONSTANT_SPEC_VAR_CONST) \ + _(2120, ZEND_FETCH_CLASS_CONSTANT_SPEC_UNUSED_CONST) \ + _(2122, ZEND_BIND_LEXICAL_SPEC_TMP_CV) \ + _(2123, ZEND_BIND_STATIC_SPEC_CV_UNUSED) \ + _(2124, ZEND_FETCH_THIS_SPEC_UNUSED_UNUSED) \ + _(2125, ZEND_SEND_FUNC_ARG_SPEC_VAR) \ + _(2126, ZEND_ISSET_ISEMPTY_THIS_SPEC_UNUSED_UNUSED) \ + _(2127, ZEND_SWITCH_LONG_SPEC_CONST_CONST) \ + _(2128, ZEND_SWITCH_LONG_SPEC_TMPVARCV_CONST) \ + _(2129, ZEND_SWITCH_LONG_SPEC_TMPVARCV_CONST) \ + _(2131, ZEND_SWITCH_LONG_SPEC_TMPVARCV_CONST) \ + _(2132, ZEND_SWITCH_STRING_SPEC_CONST_CONST) \ + _(2133, ZEND_SWITCH_STRING_SPEC_TMPVARCV_CONST) \ + _(2134, ZEND_SWITCH_STRING_SPEC_TMPVARCV_CONST) \ + _(2136, ZEND_SWITCH_STRING_SPEC_TMPVARCV_CONST) \ + _(2137, ZEND_IN_ARRAY_SPEC_CONST_CONST) \ + _(2138, ZEND_IN_ARRAY_SPEC_TMP_CONST) \ + _(2139, ZEND_IN_ARRAY_SPEC_VAR_CONST) \ + _(2141, ZEND_IN_ARRAY_SPEC_CV_CONST) \ + _(2142, ZEND_COUNT_SPEC_CONST_UNUSED) \ + _(2143, ZEND_COUNT_SPEC_TMP_UNUSED) \ + _(2144, ZEND_COUNT_SPEC_VAR_UNUSED) \ + _(2146, ZEND_COUNT_SPEC_CV_UNUSED) \ + _(2147, ZEND_GET_CLASS_SPEC_CONST_UNUSED) \ + _(2148, ZEND_GET_CLASS_SPEC_TMP_UNUSED) \ + _(2149, ZEND_GET_CLASS_SPEC_VAR_UNUSED) \ + _(2150, ZEND_GET_CLASS_SPEC_UNUSED_UNUSED) \ + _(2151, ZEND_GET_CLASS_SPEC_CV_UNUSED) \ + _(2152, ZEND_GET_CALLED_CLASS_SPEC_UNUSED_UNUSED) \ + _(2153, ZEND_GET_TYPE_SPEC_CONST_UNUSED) \ + _(2154, ZEND_GET_TYPE_SPEC_TMP_UNUSED) \ + _(2155, ZEND_GET_TYPE_SPEC_VAR_UNUSED) \ + _(2157, ZEND_GET_TYPE_SPEC_CV_UNUSED) \ + _(2158, ZEND_ARRAY_KEY_EXISTS_SPEC_CONST_CONST) \ + _(2159, ZEND_ARRAY_KEY_EXISTS_SPEC_CONST_TMPVAR) \ + _(2160, ZEND_ARRAY_KEY_EXISTS_SPEC_CONST_TMPVAR) \ + _(2162, ZEND_ARRAY_KEY_EXISTS_SPEC_CONST_CV) \ + _(2163, ZEND_ARRAY_KEY_EXISTS_SPEC_TMPVAR_CONST) \ + _(2164, ZEND_ARRAY_KEY_EXISTS_SPEC_TMPVAR_TMPVAR) \ + _(2165, ZEND_ARRAY_KEY_EXISTS_SPEC_TMPVAR_TMPVAR) \ + _(2167, ZEND_ARRAY_KEY_EXISTS_SPEC_TMPVAR_CV) \ + _(2168, ZEND_ARRAY_KEY_EXISTS_SPEC_TMPVAR_CONST) \ + _(2169, ZEND_ARRAY_KEY_EXISTS_SPEC_TMPVAR_TMPVAR) \ + _(2170, ZEND_ARRAY_KEY_EXISTS_SPEC_TMPVAR_TMPVAR) \ + _(2172, ZEND_ARRAY_KEY_EXISTS_SPEC_TMPVAR_CV) \ + _(2178, ZEND_ARRAY_KEY_EXISTS_SPEC_CV_CONST) \ + _(2179, ZEND_ARRAY_KEY_EXISTS_SPEC_CV_TMPVAR) \ + _(2180, ZEND_ARRAY_KEY_EXISTS_SPEC_CV_TMPVAR) \ + _(2182, ZEND_ARRAY_KEY_EXISTS_SPEC_CV_CV) \ + _(2183, ZEND_JMP_FORWARD_SPEC) \ + _(2189, ZEND_ADD_LONG_NO_OVERFLOW_SPEC_TMPVARCV_CONST) \ + _(2190, ZEND_ADD_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \ + _(2191, ZEND_ADD_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \ + _(2193, ZEND_ADD_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \ + _(2194, ZEND_ADD_LONG_NO_OVERFLOW_SPEC_TMPVARCV_CONST) \ + _(2195, ZEND_ADD_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \ + _(2196, ZEND_ADD_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \ + _(2198, ZEND_ADD_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \ + _(2204, ZEND_ADD_LONG_NO_OVERFLOW_SPEC_TMPVARCV_CONST) \ + _(2205, ZEND_ADD_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \ + _(2206, ZEND_ADD_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \ + _(2208, ZEND_ADD_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \ + _(2214, ZEND_ADD_LONG_SPEC_TMPVARCV_CONST) \ + _(2215, ZEND_ADD_LONG_SPEC_TMPVARCV_TMPVARCV) \ + _(2216, ZEND_ADD_LONG_SPEC_TMPVARCV_TMPVARCV) \ + _(2218, ZEND_ADD_LONG_SPEC_TMPVARCV_TMPVARCV) \ + _(2219, ZEND_ADD_LONG_SPEC_TMPVARCV_CONST) \ + _(2220, ZEND_ADD_LONG_SPEC_TMPVARCV_TMPVARCV) \ + _(2221, ZEND_ADD_LONG_SPEC_TMPVARCV_TMPVARCV) \ + _(2223, ZEND_ADD_LONG_SPEC_TMPVARCV_TMPVARCV) \ + _(2229, ZEND_ADD_LONG_SPEC_TMPVARCV_CONST) \ + _(2230, ZEND_ADD_LONG_SPEC_TMPVARCV_TMPVARCV) \ + _(2231, ZEND_ADD_LONG_SPEC_TMPVARCV_TMPVARCV) \ + _(2233, ZEND_ADD_LONG_SPEC_TMPVARCV_TMPVARCV) \ + _(2239, ZEND_ADD_DOUBLE_SPEC_TMPVARCV_CONST) \ + _(2240, ZEND_ADD_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ + _(2241, ZEND_ADD_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ + _(2243, ZEND_ADD_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ + _(2244, ZEND_ADD_DOUBLE_SPEC_TMPVARCV_CONST) \ + _(2245, ZEND_ADD_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ + _(2246, ZEND_ADD_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ + _(2248, ZEND_ADD_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ + _(2254, ZEND_ADD_DOUBLE_SPEC_TMPVARCV_CONST) \ + _(2255, ZEND_ADD_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ + _(2256, ZEND_ADD_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ + _(2258, ZEND_ADD_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ + _(2260, ZEND_SUB_LONG_NO_OVERFLOW_SPEC_CONST_TMPVARCV) \ + _(2261, ZEND_SUB_LONG_NO_OVERFLOW_SPEC_CONST_TMPVARCV) \ + _(2263, ZEND_SUB_LONG_NO_OVERFLOW_SPEC_CONST_TMPVARCV) \ + _(2264, ZEND_SUB_LONG_NO_OVERFLOW_SPEC_TMPVARCV_CONST) \ + _(2265, ZEND_SUB_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \ + _(2266, ZEND_SUB_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \ + _(2268, ZEND_SUB_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \ + _(2269, ZEND_SUB_LONG_NO_OVERFLOW_SPEC_TMPVARCV_CONST) \ + _(2270, ZEND_SUB_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \ + _(2271, ZEND_SUB_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \ + _(2273, ZEND_SUB_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \ + _(2279, ZEND_SUB_LONG_NO_OVERFLOW_SPEC_TMPVARCV_CONST) \ + _(2280, ZEND_SUB_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \ + _(2281, ZEND_SUB_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \ + _(2283, ZEND_SUB_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \ + _(2285, ZEND_SUB_LONG_SPEC_CONST_TMPVARCV) \ + _(2286, ZEND_SUB_LONG_SPEC_CONST_TMPVARCV) \ + _(2288, ZEND_SUB_LONG_SPEC_CONST_TMPVARCV) \ + _(2289, ZEND_SUB_LONG_SPEC_TMPVARCV_CONST) \ + _(2290, ZEND_SUB_LONG_SPEC_TMPVARCV_TMPVARCV) \ + _(2291, ZEND_SUB_LONG_SPEC_TMPVARCV_TMPVARCV) \ + _(2293, ZEND_SUB_LONG_SPEC_TMPVARCV_TMPVARCV) \ + _(2294, ZEND_SUB_LONG_SPEC_TMPVARCV_CONST) \ + _(2295, ZEND_SUB_LONG_SPEC_TMPVARCV_TMPVARCV) \ + _(2296, ZEND_SUB_LONG_SPEC_TMPVARCV_TMPVARCV) \ + _(2298, ZEND_SUB_LONG_SPEC_TMPVARCV_TMPVARCV) \ + _(2304, ZEND_SUB_LONG_SPEC_TMPVARCV_CONST) \ + _(2305, ZEND_SUB_LONG_SPEC_TMPVARCV_TMPVARCV) \ + _(2306, ZEND_SUB_LONG_SPEC_TMPVARCV_TMPVARCV) \ + _(2308, ZEND_SUB_LONG_SPEC_TMPVARCV_TMPVARCV) \ + _(2310, ZEND_SUB_DOUBLE_SPEC_CONST_TMPVARCV) \ + _(2311, ZEND_SUB_DOUBLE_SPEC_CONST_TMPVARCV) \ + _(2313, ZEND_SUB_DOUBLE_SPEC_CONST_TMPVARCV) \ + _(2314, ZEND_SUB_DOUBLE_SPEC_TMPVARCV_CONST) \ + _(2315, ZEND_SUB_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ + _(2316, ZEND_SUB_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ + _(2318, ZEND_SUB_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ + _(2319, ZEND_SUB_DOUBLE_SPEC_TMPVARCV_CONST) \ + _(2320, ZEND_SUB_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ + _(2321, ZEND_SUB_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ + _(2323, ZEND_SUB_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ + _(2329, ZEND_SUB_DOUBLE_SPEC_TMPVARCV_CONST) \ + _(2330, ZEND_SUB_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ + _(2331, ZEND_SUB_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ + _(2333, ZEND_SUB_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ + _(2339, ZEND_MUL_LONG_NO_OVERFLOW_SPEC_TMPVARCV_CONST) \ + _(2340, ZEND_MUL_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \ + _(2341, ZEND_MUL_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \ + _(2343, ZEND_MUL_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \ + _(2344, ZEND_MUL_LONG_NO_OVERFLOW_SPEC_TMPVARCV_CONST) \ + _(2345, ZEND_MUL_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \ + _(2346, ZEND_MUL_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \ + _(2348, ZEND_MUL_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \ + _(2354, ZEND_MUL_LONG_NO_OVERFLOW_SPEC_TMPVARCV_CONST) \ + _(2355, ZEND_MUL_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \ + _(2356, ZEND_MUL_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \ + _(2358, ZEND_MUL_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \ + _(2364, ZEND_MUL_LONG_SPEC_TMPVARCV_CONST) \ + _(2365, ZEND_MUL_LONG_SPEC_TMPVARCV_TMPVARCV) \ + _(2366, ZEND_MUL_LONG_SPEC_TMPVARCV_TMPVARCV) \ + _(2368, ZEND_MUL_LONG_SPEC_TMPVARCV_TMPVARCV) \ + _(2369, ZEND_MUL_LONG_SPEC_TMPVARCV_CONST) \ + _(2370, ZEND_MUL_LONG_SPEC_TMPVARCV_TMPVARCV) \ + _(2371, ZEND_MUL_LONG_SPEC_TMPVARCV_TMPVARCV) \ + _(2373, ZEND_MUL_LONG_SPEC_TMPVARCV_TMPVARCV) \ + _(2379, ZEND_MUL_LONG_SPEC_TMPVARCV_CONST) \ + _(2380, ZEND_MUL_LONG_SPEC_TMPVARCV_TMPVARCV) \ + _(2381, ZEND_MUL_LONG_SPEC_TMPVARCV_TMPVARCV) \ + _(2383, ZEND_MUL_LONG_SPEC_TMPVARCV_TMPVARCV) \ + _(2389, ZEND_MUL_DOUBLE_SPEC_TMPVARCV_CONST) \ + _(2390, ZEND_MUL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ + _(2391, ZEND_MUL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ + _(2393, ZEND_MUL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ + _(2394, ZEND_MUL_DOUBLE_SPEC_TMPVARCV_CONST) \ + _(2395, ZEND_MUL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ + _(2396, ZEND_MUL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ + _(2398, ZEND_MUL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ + _(2404, ZEND_MUL_DOUBLE_SPEC_TMPVARCV_CONST) \ + _(2405, ZEND_MUL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ + _(2406, ZEND_MUL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ + _(2408, ZEND_MUL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ + _(2424, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_CONST) \ + _(2425, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPZ) \ + _(2426, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPNZ) \ + _(2427, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \ + _(2428, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(2429, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(2430, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \ + _(2431, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(2432, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(2436, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \ + _(2437, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(2438, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(2439, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_CONST) \ + _(2440, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPZ) \ + _(2441, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPNZ) \ + _(2442, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \ + _(2443, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(2444, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(2445, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \ + _(2446, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(2447, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(2451, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \ + _(2452, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(2453, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(2469, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_CONST) \ + _(2470, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPZ) \ + _(2471, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPNZ) \ + _(2472, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \ + _(2473, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(2474, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(2475, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \ + _(2476, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(2477, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(2481, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \ + _(2482, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(2483, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(2499, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST) \ + _(2500, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPZ) \ + _(2501, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPNZ) \ + _(2502, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ + _(2503, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(2504, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(2505, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ + _(2506, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(2507, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(2511, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ + _(2512, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(2513, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(2514, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST) \ + _(2515, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPZ) \ + _(2516, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPNZ) \ + _(2517, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ + _(2518, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(2519, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(2520, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ + _(2521, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(2522, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(2526, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ + _(2527, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(2528, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(2544, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST) \ + _(2545, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPZ) \ + _(2546, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPNZ) \ + _(2547, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ + _(2548, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(2549, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(2550, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ + _(2551, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(2552, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(2556, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ + _(2557, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(2558, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(2574, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_CONST) \ + _(2575, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPZ) \ + _(2576, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPNZ) \ + _(2577, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \ + _(2578, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(2579, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(2580, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \ + _(2581, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(2582, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(2586, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \ + _(2587, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(2588, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(2589, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_CONST) \ + _(2590, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPZ) \ + _(2591, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPNZ) \ + _(2592, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \ + _(2593, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(2594, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(2595, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \ + _(2596, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(2597, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(2601, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \ + _(2602, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(2603, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(2619, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_CONST) \ + _(2620, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPZ) \ + _(2621, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPNZ) \ + _(2622, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \ + _(2623, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(2624, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(2625, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \ + _(2626, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(2627, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(2631, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \ + _(2632, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(2633, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(2649, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST) \ + _(2650, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPZ) \ + _(2651, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPNZ) \ + _(2652, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ + _(2653, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(2654, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(2655, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ + _(2656, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(2657, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(2661, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ + _(2662, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(2663, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(2664, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST) \ + _(2665, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPZ) \ + _(2666, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPNZ) \ + _(2667, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ + _(2668, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(2669, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(2670, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ + _(2671, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(2672, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(2676, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ + _(2677, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(2678, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(2694, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST) \ + _(2695, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPZ) \ + _(2696, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPNZ) \ + _(2697, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ + _(2698, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(2699, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(2700, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ + _(2701, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(2702, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(2706, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ + _(2707, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(2708, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(2712, ZEND_IS_SMALLER_LONG_SPEC_CONST_TMPVARCV) \ + _(2713, ZEND_IS_SMALLER_LONG_SPEC_CONST_TMPVARCV_JMPZ) \ + _(2714, ZEND_IS_SMALLER_LONG_SPEC_CONST_TMPVARCV_JMPNZ) \ + _(2715, ZEND_IS_SMALLER_LONG_SPEC_CONST_TMPVARCV) \ + _(2716, ZEND_IS_SMALLER_LONG_SPEC_CONST_TMPVARCV_JMPZ) \ + _(2717, ZEND_IS_SMALLER_LONG_SPEC_CONST_TMPVARCV_JMPNZ) \ + _(2721, ZEND_IS_SMALLER_LONG_SPEC_CONST_TMPVARCV) \ + _(2722, ZEND_IS_SMALLER_LONG_SPEC_CONST_TMPVARCV_JMPZ) \ + _(2723, ZEND_IS_SMALLER_LONG_SPEC_CONST_TMPVARCV_JMPNZ) \ + _(2724, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_CONST) \ + _(2725, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_CONST_JMPZ) \ + _(2726, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_CONST_JMPNZ) \ + _(2727, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV) \ + _(2728, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(2729, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(2730, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV) \ + _(2731, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(2732, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(2736, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV) \ + _(2737, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(2738, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(2739, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_CONST) \ + _(2740, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_CONST_JMPZ) \ + _(2741, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_CONST_JMPNZ) \ + _(2742, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV) \ + _(2743, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(2744, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(2745, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV) \ + _(2746, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(2747, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(2751, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV) \ + _(2752, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(2753, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(2769, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_CONST) \ + _(2770, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_CONST_JMPZ) \ + _(2771, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_CONST_JMPNZ) \ + _(2772, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV) \ + _(2773, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(2774, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(2775, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV) \ + _(2776, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(2777, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(2781, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV) \ + _(2782, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(2783, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(2787, ZEND_IS_SMALLER_DOUBLE_SPEC_CONST_TMPVARCV) \ + _(2788, ZEND_IS_SMALLER_DOUBLE_SPEC_CONST_TMPVARCV_JMPZ) \ + _(2789, ZEND_IS_SMALLER_DOUBLE_SPEC_CONST_TMPVARCV_JMPNZ) \ + _(2790, ZEND_IS_SMALLER_DOUBLE_SPEC_CONST_TMPVARCV) \ + _(2791, ZEND_IS_SMALLER_DOUBLE_SPEC_CONST_TMPVARCV_JMPZ) \ + _(2792, ZEND_IS_SMALLER_DOUBLE_SPEC_CONST_TMPVARCV_JMPNZ) \ + _(2796, ZEND_IS_SMALLER_DOUBLE_SPEC_CONST_TMPVARCV) \ + _(2797, ZEND_IS_SMALLER_DOUBLE_SPEC_CONST_TMPVARCV_JMPZ) \ + _(2798, ZEND_IS_SMALLER_DOUBLE_SPEC_CONST_TMPVARCV_JMPNZ) \ + _(2799, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_CONST) \ + _(2800, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_CONST_JMPZ) \ + _(2801, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_CONST_JMPNZ) \ + _(2802, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ + _(2803, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(2804, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(2805, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ + _(2806, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(2807, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(2811, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ + _(2812, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(2813, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(2814, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_CONST) \ + _(2815, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_CONST_JMPZ) \ + _(2816, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_CONST_JMPNZ) \ + _(2817, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ + _(2818, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(2819, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(2820, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ + _(2821, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(2822, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(2826, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ + _(2827, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(2828, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(2844, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_CONST) \ + _(2845, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_CONST_JMPZ) \ + _(2846, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_CONST_JMPNZ) \ + _(2847, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ + _(2848, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(2849, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(2850, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ + _(2851, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(2852, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(2856, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ + _(2857, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(2858, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(2862, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_CONST_TMPVARCV) \ + _(2863, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_CONST_TMPVARCV_JMPZ) \ + _(2864, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_CONST_TMPVARCV_JMPNZ) \ + _(2865, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_CONST_TMPVARCV) \ + _(2866, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_CONST_TMPVARCV_JMPZ) \ + _(2867, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_CONST_TMPVARCV_JMPNZ) \ + _(2871, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_CONST_TMPVARCV) \ + _(2872, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_CONST_TMPVARCV_JMPZ) \ + _(2873, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_CONST_TMPVARCV_JMPNZ) \ + _(2874, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_CONST) \ + _(2875, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPZ) \ + _(2876, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPNZ) \ + _(2877, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \ + _(2878, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(2879, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(2880, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \ + _(2881, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(2882, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(2886, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \ + _(2887, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(2888, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(2889, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_CONST) \ + _(2890, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPZ) \ + _(2891, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPNZ) \ + _(2892, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \ + _(2893, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(2894, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(2895, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \ + _(2896, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(2897, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(2901, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \ + _(2902, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(2903, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(2919, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_CONST) \ + _(2920, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPZ) \ + _(2921, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPNZ) \ + _(2922, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \ + _(2923, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(2924, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(2925, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \ + _(2926, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(2927, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(2931, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \ + _(2932, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(2933, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(2937, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_CONST_TMPVARCV) \ + _(2938, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_CONST_TMPVARCV_JMPZ) \ + _(2939, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_CONST_TMPVARCV_JMPNZ) \ + _(2940, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_CONST_TMPVARCV) \ + _(2941, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_CONST_TMPVARCV_JMPZ) \ + _(2942, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_CONST_TMPVARCV_JMPNZ) \ + _(2946, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_CONST_TMPVARCV) \ + _(2947, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_CONST_TMPVARCV_JMPZ) \ + _(2948, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_CONST_TMPVARCV_JMPNZ) \ + _(2949, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST) \ + _(2950, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPZ) \ + _(2951, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPNZ) \ + _(2952, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ + _(2953, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(2954, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(2955, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ + _(2956, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(2957, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(2961, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ + _(2962, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(2963, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(2964, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST) \ + _(2965, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPZ) \ + _(2966, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPNZ) \ + _(2967, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ + _(2968, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(2969, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(2970, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ + _(2971, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(2972, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(2976, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ + _(2977, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(2978, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(2994, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST) \ + _(2995, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPZ) \ + _(2996, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPNZ) \ + _(2997, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ + _(2998, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(2999, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(3000, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ + _(3001, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(3002, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(3006, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ + _(3007, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(3008, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(3009, ZEND_PRE_INC_LONG_NO_OVERFLOW_SPEC_TMPVARCV_RETVAL_UNUSED) \ + _(3010, ZEND_PRE_INC_LONG_NO_OVERFLOW_SPEC_TMPVARCV_RETVAL_USED) \ + _(3011, ZEND_PRE_INC_LONG_SPEC_TMPVARCV_RETVAL_UNUSED) \ + _(3012, ZEND_PRE_INC_LONG_SPEC_TMPVARCV_RETVAL_USED) \ + _(3013, ZEND_PRE_INC_LONG_OR_DOUBLE_SPEC_TMPVARCV_RETVAL_UNUSED) \ + _(3014, ZEND_PRE_INC_LONG_OR_DOUBLE_SPEC_TMPVARCV_RETVAL_USED) \ + _(3015, ZEND_PRE_DEC_LONG_NO_OVERFLOW_SPEC_TMPVARCV_RETVAL_UNUSED) \ + _(3016, ZEND_PRE_DEC_LONG_NO_OVERFLOW_SPEC_TMPVARCV_RETVAL_USED) \ + _(3017, ZEND_PRE_DEC_LONG_SPEC_TMPVARCV_RETVAL_UNUSED) \ + _(3018, ZEND_PRE_DEC_LONG_SPEC_TMPVARCV_RETVAL_USED) \ + _(3019, ZEND_PRE_DEC_LONG_OR_DOUBLE_SPEC_TMPVARCV_RETVAL_UNUSED) \ + _(3020, ZEND_PRE_DEC_LONG_OR_DOUBLE_SPEC_TMPVARCV_RETVAL_USED) \ + _(3021, ZEND_POST_INC_LONG_NO_OVERFLOW_SPEC_TMPVARCV) \ + _(3022, ZEND_POST_INC_LONG_SPEC_TMPVARCV) \ + _(3023, ZEND_POST_INC_LONG_OR_DOUBLE_SPEC_TMPVARCV) \ + _(3024, ZEND_POST_DEC_LONG_NO_OVERFLOW_SPEC_TMPVARCV) \ + _(3025, ZEND_POST_DEC_LONG_SPEC_TMPVARCV) \ + _(3026, ZEND_POST_DEC_LONG_OR_DOUBLE_SPEC_TMPVARCV) \ + _(3027, ZEND_QM_ASSIGN_DOUBLE_SPEC_CONST) \ + _(3028, ZEND_QM_ASSIGN_DOUBLE_SPEC_TMPVARCV) \ + _(3029, ZEND_QM_ASSIGN_DOUBLE_SPEC_TMPVARCV) \ + _(3031, ZEND_QM_ASSIGN_DOUBLE_SPEC_TMPVARCV) \ + _(3032, ZEND_QM_ASSIGN_NOREF_SPEC_CONST) \ + _(3033, ZEND_QM_ASSIGN_NOREF_SPEC_TMPVARCV) \ + _(3034, ZEND_QM_ASSIGN_NOREF_SPEC_TMPVARCV) \ + _(3036, ZEND_QM_ASSIGN_NOREF_SPEC_TMPVARCV) \ + _(3038, ZEND_FETCH_DIM_R_INDEX_SPEC_CONST_TMPVARCV) \ + _(3039, ZEND_FETCH_DIM_R_INDEX_SPEC_CONST_TMPVARCV) \ + _(3041, ZEND_FETCH_DIM_R_INDEX_SPEC_CONST_TMPVARCV) \ + _(3042, ZEND_FETCH_DIM_R_INDEX_SPEC_TMPVAR_CONST) \ + _(3043, ZEND_FETCH_DIM_R_INDEX_SPEC_TMPVAR_TMPVARCV) \ + _(3044, ZEND_FETCH_DIM_R_INDEX_SPEC_TMPVAR_TMPVARCV) \ + _(3046, ZEND_FETCH_DIM_R_INDEX_SPEC_TMPVAR_TMPVARCV) \ + _(3047, ZEND_FETCH_DIM_R_INDEX_SPEC_TMPVAR_CONST) \ + _(3048, ZEND_FETCH_DIM_R_INDEX_SPEC_TMPVAR_TMPVARCV) \ + _(3049, ZEND_FETCH_DIM_R_INDEX_SPEC_TMPVAR_TMPVARCV) \ + _(3051, ZEND_FETCH_DIM_R_INDEX_SPEC_TMPVAR_TMPVARCV) \ + _(3057, ZEND_FETCH_DIM_R_INDEX_SPEC_CV_CONST) \ + _(3058, ZEND_FETCH_DIM_R_INDEX_SPEC_CV_TMPVARCV) \ + _(3059, ZEND_FETCH_DIM_R_INDEX_SPEC_CV_TMPVARCV) \ + _(3061, ZEND_FETCH_DIM_R_INDEX_SPEC_CV_TMPVARCV) \ + _(3064, ZEND_SEND_VAR_SIMPLE_SPEC_VAR) \ + _(3066, ZEND_SEND_VAR_SIMPLE_SPEC_CV) \ + _(3069, ZEND_SEND_VAR_EX_SIMPLE_SPEC_VAR) \ + _(3071, ZEND_SEND_VAR_EX_SIMPLE_SPEC_CV) \ + _(3072, ZEND_SEND_VAL_SIMPLE_SPEC_CONST) \ + _(3073, ZEND_SEND_VAL_EX_SIMPLE_SPEC_CONST) \ + _(3074, ZEND_FE_FETCH_R_SIMPLE_SPEC_VAR_CV_RETVAL_UNUSED) \ + _(3075, ZEND_FE_FETCH_R_SIMPLE_SPEC_VAR_CV_RETVAL_USED) \ + _(3075+1, ZEND_NULL) diff --git a/Zend/zend_vm_opcodes.c b/Zend/zend_vm_opcodes.c index bf2b486efc1d..26e61e05e583 100644 --- a/Zend/zend_vm_opcodes.c +++ b/Zend/zend_vm_opcodes.c @@ -269,7 +269,7 @@ static uint32_t zend_vm_opcodes_flags[195] = { 0x03002007, 0x00002007, 0x00002007, - 0x00000705, + 0x00000707, 0x00000101, 0x00001001, 0x07000003, diff --git a/ext/spl/spl_observer.c b/ext/spl/spl_observer.c index b3879c5ec3f5..2bbf4f78962a 100644 --- a/ext/spl/spl_observer.c +++ b/ext/spl/spl_observer.c @@ -348,11 +348,11 @@ static int spl_object_storage_compare_info(zval *e1, zval *e2) /* {{{ */ spl_SplObjectStorageElement *s2 = (spl_SplObjectStorageElement*)Z_PTR_P(e2); zval result; - if (compare_function(&result, &s1->inf, &s2->inf) == FAILURE) { + if (case_equal_function(&result, &s1->inf, &s2->inf) == FAILURE) { return 1; } - return ZEND_NORMALIZE_BOOL(Z_LVAL(result)); + return Z_TYPE(result) == IS_FALSE; } /* }}} */ diff --git a/ext/spl/tests/ArrayObject_compare.phpt b/ext/spl/tests/ArrayObject_compare.phpt new file mode 100644 index 000000000000..d1d751c86fde --- /dev/null +++ b/ext/spl/tests/ArrayObject_compare.phpt @@ -0,0 +1,19 @@ +--TEST-- +SPL: ArrayObject: `==` comparison +--FILE-- + 0, 'bar' => 2]); +$x = new ArrayObject(['bar' => 2, 'foo' => 0]); +$y = new ArrayObject(['foo' => null, 'bar' => 2]); +$z = new ArrayObject(['foo' => 0, 'bar' => '2']); +$nop = new ArrayObject(['foo' => 99, 'bar' => 99]); + +var_dump($o == $nop); +var_dump($o == $x); +var_dump($o == $y); +var_dump($o == $z); +--EXPECT-- +bool(false) +bool(true) +bool(true) +bool(true) \ No newline at end of file diff --git a/ext/spl/tests/ArrayObject_compare_strict.phpt b/ext/spl/tests/ArrayObject_compare_strict.phpt new file mode 100644 index 000000000000..1ff481775178 --- /dev/null +++ b/ext/spl/tests/ArrayObject_compare_strict.phpt @@ -0,0 +1,21 @@ +--TEST-- +SPL: ArrayObject: `==` comparison with strict_operators directive +--FILE-- + 0, 'bar' => 2]); +$x = new ArrayObject(['bar' => 2, 'foo' => 0]); +$y = new ArrayObject(['foo' => null, 'bar' => 2]); +$z = new ArrayObject(['foo' => 0, 'bar' => '2']); +$nop = new ArrayObject(['foo' => 99, 'bar' => 99]); + +var_dump($o == $nop); +var_dump($o == $x); +var_dump($o == $y); +var_dump($o == $z); +--EXPECT-- +bool(false) +bool(true) +bool(false) +bool(false) \ No newline at end of file diff --git a/ext/spl/tests/SplObjectStorage_compare.phpt b/ext/spl/tests/SplObjectStorage_compare.phpt new file mode 100644 index 000000000000..7b88449ab7d1 --- /dev/null +++ b/ext/spl/tests/SplObjectStorage_compare.phpt @@ -0,0 +1,19 @@ +--TEST-- +SPL: SplObjectStorage: `==` comparison +--FILE-- +