-
Notifications
You must be signed in to change notification settings - Fork 51
/
Copy pathoperators.php
118 lines (104 loc) · 1.95 KB
/
operators.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
<?php
namespace Operators;
use stdClass;
$int = 123;
$float = 123.456;
$array = [];
$string = '123';
$object = new stdClass();
$null = null;
/** @var int|float $intOrFloat */
$intOrFloat = foo();
$int + $int;
$int + $float;
$float + $int;
$float + $float;
$int + $float + $int;
$intOrFloat + $int;
$array + $array;
$array + $array + $array;
$int + $string;
$int + $array;
$int + $object;
$int + $null;
$int + $float + $string + $null;
$array + $float + $array + $int;
$int - $int;
$int - $float;
$float - $int;
$float - $float;
$int - $float - $int;
$intOrFloat - $int;
$int - $string;
$int - $array;
$int - $object;
$int - $null;
$int - $float - $string - $null;
$array - $float - $array - $int;
$int * $int;
$int * $float;
$float * $int;
$float * $float;
$int * $float * $int;
$intOrFloat * $int;
$int * $string;
$int * $array;
$int * $object;
$int * $null;
$int * $float * $string * $null;
$array * $float * $array * $int;
$int / $int;
$int / $float;
$float / $int;
$float / $float;
$int / $float / $int;
$intOrFloat / $int;
$int / $string;
$int / $array;
$int / $object;
$int / $null;
$int / $float / $string / $null;
$array / $float / $array / $int;
$int ** $int;
$int ** $float;
$float ** $int;
$float ** $float;
$int ** $float ** $int;
$intOrFloat ** $int;
$int ** $string;
$int ** $array;
$int ** $object;
$int ** $null;
$int ** $float ** $string ** $null;
$array ** $float ** $array ** $int;
$int % $int;
$int % $float;
$float % $int;
$float % $float;
$int % $float % $int;
$intOrFloat % $int;
$int % $string;
$int % $array;
$int % $object;
$int % $null;
$int % $float % $string % $null;
$array % $float % $array % $int;
function ($mixed, int $a, string $b) {
$mixed + $mixed;
$mixed + $a;
$a + $mixed;
$mixed + $b;
$b + $mixed;
};
function (array $array, int $int, $mixed) {
foreach ($array as $i => $val) {
$i + $int;
}
explode($mixed, $mixed) + $int;
};
$float === 123.2;
$float == 123.2;
$float !== 123.2;
$float != 123.2;
$float >= 123.2;
$float <= 123.2;