1--TEST--
2Test % operator : various numbers as strings
3--FILE--
4<?php
5
6$strVals = array(
7   "0","65","-44", "1.2", "-7.7", "abc", "123abc", "123e5", "123e5xyz", " 123abc", "123 abc", "123abc ", "3.4a",
8   "a5.9"
9);
10
11error_reporting(E_ERROR);
12
13foreach ($strVals as $strVal) {
14   foreach($strVals as $otherVal) {
15	   echo "--- testing: '$strVal' % '$otherVal' ---\n";
16      var_dump($strVal%$otherVal);
17   }
18}
19
20
21?>
22===DONE===
23--EXPECT--
24--- testing: '0' % '0' ---
25bool(false)
26--- testing: '0' % '65' ---
27int(0)
28--- testing: '0' % '-44' ---
29int(0)
30--- testing: '0' % '1.2' ---
31int(0)
32--- testing: '0' % '-7.7' ---
33int(0)
34--- testing: '0' % 'abc' ---
35bool(false)
36--- testing: '0' % '123abc' ---
37int(0)
38--- testing: '0' % '123e5' ---
39int(0)
40--- testing: '0' % '123e5xyz' ---
41int(0)
42--- testing: '0' % ' 123abc' ---
43int(0)
44--- testing: '0' % '123 abc' ---
45int(0)
46--- testing: '0' % '123abc ' ---
47int(0)
48--- testing: '0' % '3.4a' ---
49int(0)
50--- testing: '0' % 'a5.9' ---
51bool(false)
52--- testing: '65' % '0' ---
53bool(false)
54--- testing: '65' % '65' ---
55int(0)
56--- testing: '65' % '-44' ---
57int(21)
58--- testing: '65' % '1.2' ---
59int(0)
60--- testing: '65' % '-7.7' ---
61int(2)
62--- testing: '65' % 'abc' ---
63bool(false)
64--- testing: '65' % '123abc' ---
65int(65)
66--- testing: '65' % '123e5' ---
67int(65)
68--- testing: '65' % '123e5xyz' ---
69int(65)
70--- testing: '65' % ' 123abc' ---
71int(65)
72--- testing: '65' % '123 abc' ---
73int(65)
74--- testing: '65' % '123abc ' ---
75int(65)
76--- testing: '65' % '3.4a' ---
77int(2)
78--- testing: '65' % 'a5.9' ---
79bool(false)
80--- testing: '-44' % '0' ---
81bool(false)
82--- testing: '-44' % '65' ---
83int(-44)
84--- testing: '-44' % '-44' ---
85int(0)
86--- testing: '-44' % '1.2' ---
87int(0)
88--- testing: '-44' % '-7.7' ---
89int(-2)
90--- testing: '-44' % 'abc' ---
91bool(false)
92--- testing: '-44' % '123abc' ---
93int(-44)
94--- testing: '-44' % '123e5' ---
95int(-44)
96--- testing: '-44' % '123e5xyz' ---
97int(-44)
98--- testing: '-44' % ' 123abc' ---
99int(-44)
100--- testing: '-44' % '123 abc' ---
101int(-44)
102--- testing: '-44' % '123abc ' ---
103int(-44)
104--- testing: '-44' % '3.4a' ---
105int(-2)
106--- testing: '-44' % 'a5.9' ---
107bool(false)
108--- testing: '1.2' % '0' ---
109bool(false)
110--- testing: '1.2' % '65' ---
111int(1)
112--- testing: '1.2' % '-44' ---
113int(1)
114--- testing: '1.2' % '1.2' ---
115int(0)
116--- testing: '1.2' % '-7.7' ---
117int(1)
118--- testing: '1.2' % 'abc' ---
119bool(false)
120--- testing: '1.2' % '123abc' ---
121int(1)
122--- testing: '1.2' % '123e5' ---
123int(1)
124--- testing: '1.2' % '123e5xyz' ---
125int(1)
126--- testing: '1.2' % ' 123abc' ---
127int(1)
128--- testing: '1.2' % '123 abc' ---
129int(1)
130--- testing: '1.2' % '123abc ' ---
131int(1)
132--- testing: '1.2' % '3.4a' ---
133int(1)
134--- testing: '1.2' % 'a5.9' ---
135bool(false)
136--- testing: '-7.7' % '0' ---
137bool(false)
138--- testing: '-7.7' % '65' ---
139int(-7)
140--- testing: '-7.7' % '-44' ---
141int(-7)
142--- testing: '-7.7' % '1.2' ---
143int(0)
144--- testing: '-7.7' % '-7.7' ---
145int(0)
146--- testing: '-7.7' % 'abc' ---
147bool(false)
148--- testing: '-7.7' % '123abc' ---
149int(-7)
150--- testing: '-7.7' % '123e5' ---
151int(-7)
152--- testing: '-7.7' % '123e5xyz' ---
153int(-7)
154--- testing: '-7.7' % ' 123abc' ---
155int(-7)
156--- testing: '-7.7' % '123 abc' ---
157int(-7)
158--- testing: '-7.7' % '123abc ' ---
159int(-7)
160--- testing: '-7.7' % '3.4a' ---
161int(-1)
162--- testing: '-7.7' % 'a5.9' ---
163bool(false)
164--- testing: 'abc' % '0' ---
165bool(false)
166--- testing: 'abc' % '65' ---
167int(0)
168--- testing: 'abc' % '-44' ---
169int(0)
170--- testing: 'abc' % '1.2' ---
171int(0)
172--- testing: 'abc' % '-7.7' ---
173int(0)
174--- testing: 'abc' % 'abc' ---
175bool(false)
176--- testing: 'abc' % '123abc' ---
177int(0)
178--- testing: 'abc' % '123e5' ---
179int(0)
180--- testing: 'abc' % '123e5xyz' ---
181int(0)
182--- testing: 'abc' % ' 123abc' ---
183int(0)
184--- testing: 'abc' % '123 abc' ---
185int(0)
186--- testing: 'abc' % '123abc ' ---
187int(0)
188--- testing: 'abc' % '3.4a' ---
189int(0)
190--- testing: 'abc' % 'a5.9' ---
191bool(false)
192--- testing: '123abc' % '0' ---
193bool(false)
194--- testing: '123abc' % '65' ---
195int(58)
196--- testing: '123abc' % '-44' ---
197int(35)
198--- testing: '123abc' % '1.2' ---
199int(0)
200--- testing: '123abc' % '-7.7' ---
201int(4)
202--- testing: '123abc' % 'abc' ---
203bool(false)
204--- testing: '123abc' % '123abc' ---
205int(0)
206--- testing: '123abc' % '123e5' ---
207int(0)
208--- testing: '123abc' % '123e5xyz' ---
209int(0)
210--- testing: '123abc' % ' 123abc' ---
211int(0)
212--- testing: '123abc' % '123 abc' ---
213int(0)
214--- testing: '123abc' % '123abc ' ---
215int(0)
216--- testing: '123abc' % '3.4a' ---
217int(0)
218--- testing: '123abc' % 'a5.9' ---
219bool(false)
220--- testing: '123e5' % '0' ---
221bool(false)
222--- testing: '123e5' % '65' ---
223int(58)
224--- testing: '123e5' % '-44' ---
225int(35)
226--- testing: '123e5' % '1.2' ---
227int(0)
228--- testing: '123e5' % '-7.7' ---
229int(4)
230--- testing: '123e5' % 'abc' ---
231bool(false)
232--- testing: '123e5' % '123abc' ---
233int(0)
234--- testing: '123e5' % '123e5' ---
235int(0)
236--- testing: '123e5' % '123e5xyz' ---
237int(0)
238--- testing: '123e5' % ' 123abc' ---
239int(0)
240--- testing: '123e5' % '123 abc' ---
241int(0)
242--- testing: '123e5' % '123abc ' ---
243int(0)
244--- testing: '123e5' % '3.4a' ---
245int(0)
246--- testing: '123e5' % 'a5.9' ---
247bool(false)
248--- testing: '123e5xyz' % '0' ---
249bool(false)
250--- testing: '123e5xyz' % '65' ---
251int(58)
252--- testing: '123e5xyz' % '-44' ---
253int(35)
254--- testing: '123e5xyz' % '1.2' ---
255int(0)
256--- testing: '123e5xyz' % '-7.7' ---
257int(4)
258--- testing: '123e5xyz' % 'abc' ---
259bool(false)
260--- testing: '123e5xyz' % '123abc' ---
261int(0)
262--- testing: '123e5xyz' % '123e5' ---
263int(0)
264--- testing: '123e5xyz' % '123e5xyz' ---
265int(0)
266--- testing: '123e5xyz' % ' 123abc' ---
267int(0)
268--- testing: '123e5xyz' % '123 abc' ---
269int(0)
270--- testing: '123e5xyz' % '123abc ' ---
271int(0)
272--- testing: '123e5xyz' % '3.4a' ---
273int(0)
274--- testing: '123e5xyz' % 'a5.9' ---
275bool(false)
276--- testing: ' 123abc' % '0' ---
277bool(false)
278--- testing: ' 123abc' % '65' ---
279int(58)
280--- testing: ' 123abc' % '-44' ---
281int(35)
282--- testing: ' 123abc' % '1.2' ---
283int(0)
284--- testing: ' 123abc' % '-7.7' ---
285int(4)
286--- testing: ' 123abc' % 'abc' ---
287bool(false)
288--- testing: ' 123abc' % '123abc' ---
289int(0)
290--- testing: ' 123abc' % '123e5' ---
291int(0)
292--- testing: ' 123abc' % '123e5xyz' ---
293int(0)
294--- testing: ' 123abc' % ' 123abc' ---
295int(0)
296--- testing: ' 123abc' % '123 abc' ---
297int(0)
298--- testing: ' 123abc' % '123abc ' ---
299int(0)
300--- testing: ' 123abc' % '3.4a' ---
301int(0)
302--- testing: ' 123abc' % 'a5.9' ---
303bool(false)
304--- testing: '123 abc' % '0' ---
305bool(false)
306--- testing: '123 abc' % '65' ---
307int(58)
308--- testing: '123 abc' % '-44' ---
309int(35)
310--- testing: '123 abc' % '1.2' ---
311int(0)
312--- testing: '123 abc' % '-7.7' ---
313int(4)
314--- testing: '123 abc' % 'abc' ---
315bool(false)
316--- testing: '123 abc' % '123abc' ---
317int(0)
318--- testing: '123 abc' % '123e5' ---
319int(0)
320--- testing: '123 abc' % '123e5xyz' ---
321int(0)
322--- testing: '123 abc' % ' 123abc' ---
323int(0)
324--- testing: '123 abc' % '123 abc' ---
325int(0)
326--- testing: '123 abc' % '123abc ' ---
327int(0)
328--- testing: '123 abc' % '3.4a' ---
329int(0)
330--- testing: '123 abc' % 'a5.9' ---
331bool(false)
332--- testing: '123abc ' % '0' ---
333bool(false)
334--- testing: '123abc ' % '65' ---
335int(58)
336--- testing: '123abc ' % '-44' ---
337int(35)
338--- testing: '123abc ' % '1.2' ---
339int(0)
340--- testing: '123abc ' % '-7.7' ---
341int(4)
342--- testing: '123abc ' % 'abc' ---
343bool(false)
344--- testing: '123abc ' % '123abc' ---
345int(0)
346--- testing: '123abc ' % '123e5' ---
347int(0)
348--- testing: '123abc ' % '123e5xyz' ---
349int(0)
350--- testing: '123abc ' % ' 123abc' ---
351int(0)
352--- testing: '123abc ' % '123 abc' ---
353int(0)
354--- testing: '123abc ' % '123abc ' ---
355int(0)
356--- testing: '123abc ' % '3.4a' ---
357int(0)
358--- testing: '123abc ' % 'a5.9' ---
359bool(false)
360--- testing: '3.4a' % '0' ---
361bool(false)
362--- testing: '3.4a' % '65' ---
363int(3)
364--- testing: '3.4a' % '-44' ---
365int(3)
366--- testing: '3.4a' % '1.2' ---
367int(0)
368--- testing: '3.4a' % '-7.7' ---
369int(3)
370--- testing: '3.4a' % 'abc' ---
371bool(false)
372--- testing: '3.4a' % '123abc' ---
373int(3)
374--- testing: '3.4a' % '123e5' ---
375int(3)
376--- testing: '3.4a' % '123e5xyz' ---
377int(3)
378--- testing: '3.4a' % ' 123abc' ---
379int(3)
380--- testing: '3.4a' % '123 abc' ---
381int(3)
382--- testing: '3.4a' % '123abc ' ---
383int(3)
384--- testing: '3.4a' % '3.4a' ---
385int(0)
386--- testing: '3.4a' % 'a5.9' ---
387bool(false)
388--- testing: 'a5.9' % '0' ---
389bool(false)
390--- testing: 'a5.9' % '65' ---
391int(0)
392--- testing: 'a5.9' % '-44' ---
393int(0)
394--- testing: 'a5.9' % '1.2' ---
395int(0)
396--- testing: 'a5.9' % '-7.7' ---
397int(0)
398--- testing: 'a5.9' % 'abc' ---
399bool(false)
400--- testing: 'a5.9' % '123abc' ---
401int(0)
402--- testing: 'a5.9' % '123e5' ---
403int(0)
404--- testing: 'a5.9' % '123e5xyz' ---
405int(0)
406--- testing: 'a5.9' % ' 123abc' ---
407int(0)
408--- testing: 'a5.9' % '123 abc' ---
409int(0)
410--- testing: 'a5.9' % '123abc ' ---
411int(0)
412--- testing: 'a5.9' % '3.4a' ---
413int(0)
414--- testing: 'a5.9' % 'a5.9' ---
415bool(false)
416===DONE===
417