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' ---
25int(0)
26--- testing: '0' * '65' ---
27int(0)
28--- testing: '0' * '-44' ---
29int(0)
30--- testing: '0' * '1.2' ---
31float(0)
32--- testing: '0' * '-7.7' ---
33float(-0)
34--- testing: '0' * 'abc' ---
35int(0)
36--- testing: '0' * '123abc' ---
37int(0)
38--- testing: '0' * '123e5' ---
39float(0)
40--- testing: '0' * '123e5xyz' ---
41float(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' ---
49float(0)
50--- testing: '0' * 'a5.9' ---
51int(0)
52--- testing: '65' * '0' ---
53int(0)
54--- testing: '65' * '65' ---
55int(4225)
56--- testing: '65' * '-44' ---
57int(-2860)
58--- testing: '65' * '1.2' ---
59float(78)
60--- testing: '65' * '-7.7' ---
61float(-500.5)
62--- testing: '65' * 'abc' ---
63int(0)
64--- testing: '65' * '123abc' ---
65int(7995)
66--- testing: '65' * '123e5' ---
67float(799500000)
68--- testing: '65' * '123e5xyz' ---
69float(799500000)
70--- testing: '65' * ' 123abc' ---
71int(7995)
72--- testing: '65' * '123 abc' ---
73int(7995)
74--- testing: '65' * '123abc ' ---
75int(7995)
76--- testing: '65' * '3.4a' ---
77float(221)
78--- testing: '65' * 'a5.9' ---
79int(0)
80--- testing: '-44' * '0' ---
81int(0)
82--- testing: '-44' * '65' ---
83int(-2860)
84--- testing: '-44' * '-44' ---
85int(1936)
86--- testing: '-44' * '1.2' ---
87float(-52.8)
88--- testing: '-44' * '-7.7' ---
89float(338.8)
90--- testing: '-44' * 'abc' ---
91int(0)
92--- testing: '-44' * '123abc' ---
93int(-5412)
94--- testing: '-44' * '123e5' ---
95float(-541200000)
96--- testing: '-44' * '123e5xyz' ---
97float(-541200000)
98--- testing: '-44' * ' 123abc' ---
99int(-5412)
100--- testing: '-44' * '123 abc' ---
101int(-5412)
102--- testing: '-44' * '123abc ' ---
103int(-5412)
104--- testing: '-44' * '3.4a' ---
105float(-149.6)
106--- testing: '-44' * 'a5.9' ---
107int(0)
108--- testing: '1.2' * '0' ---
109float(0)
110--- testing: '1.2' * '65' ---
111float(78)
112--- testing: '1.2' * '-44' ---
113float(-52.8)
114--- testing: '1.2' * '1.2' ---
115float(1.44)
116--- testing: '1.2' * '-7.7' ---
117float(-9.24)
118--- testing: '1.2' * 'abc' ---
119float(0)
120--- testing: '1.2' * '123abc' ---
121float(147.6)
122--- testing: '1.2' * '123e5' ---
123float(14760000)
124--- testing: '1.2' * '123e5xyz' ---
125float(14760000)
126--- testing: '1.2' * ' 123abc' ---
127float(147.6)
128--- testing: '1.2' * '123 abc' ---
129float(147.6)
130--- testing: '1.2' * '123abc ' ---
131float(147.6)
132--- testing: '1.2' * '3.4a' ---
133float(4.08)
134--- testing: '1.2' * 'a5.9' ---
135float(0)
136--- testing: '-7.7' * '0' ---
137float(-0)
138--- testing: '-7.7' * '65' ---
139float(-500.5)
140--- testing: '-7.7' * '-44' ---
141float(338.8)
142--- testing: '-7.7' * '1.2' ---
143float(-9.24)
144--- testing: '-7.7' * '-7.7' ---
145float(59.29)
146--- testing: '-7.7' * 'abc' ---
147float(-0)
148--- testing: '-7.7' * '123abc' ---
149float(-947.1)
150--- testing: '-7.7' * '123e5' ---
151float(-94710000)
152--- testing: '-7.7' * '123e5xyz' ---
153float(-94710000)
154--- testing: '-7.7' * ' 123abc' ---
155float(-947.1)
156--- testing: '-7.7' * '123 abc' ---
157float(-947.1)
158--- testing: '-7.7' * '123abc ' ---
159float(-947.1)
160--- testing: '-7.7' * '3.4a' ---
161float(-26.18)
162--- testing: '-7.7' * 'a5.9' ---
163float(-0)
164--- testing: 'abc' * '0' ---
165int(0)
166--- testing: 'abc' * '65' ---
167int(0)
168--- testing: 'abc' * '-44' ---
169int(0)
170--- testing: 'abc' * '1.2' ---
171float(0)
172--- testing: 'abc' * '-7.7' ---
173float(-0)
174--- testing: 'abc' * 'abc' ---
175int(0)
176--- testing: 'abc' * '123abc' ---
177int(0)
178--- testing: 'abc' * '123e5' ---
179float(0)
180--- testing: 'abc' * '123e5xyz' ---
181float(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' ---
189float(0)
190--- testing: 'abc' * 'a5.9' ---
191int(0)
192--- testing: '123abc' * '0' ---
193int(0)
194--- testing: '123abc' * '65' ---
195int(7995)
196--- testing: '123abc' * '-44' ---
197int(-5412)
198--- testing: '123abc' * '1.2' ---
199float(147.6)
200--- testing: '123abc' * '-7.7' ---
201float(-947.1)
202--- testing: '123abc' * 'abc' ---
203int(0)
204--- testing: '123abc' * '123abc' ---
205int(15129)
206--- testing: '123abc' * '123e5' ---
207float(1512900000)
208--- testing: '123abc' * '123e5xyz' ---
209float(1512900000)
210--- testing: '123abc' * ' 123abc' ---
211int(15129)
212--- testing: '123abc' * '123 abc' ---
213int(15129)
214--- testing: '123abc' * '123abc ' ---
215int(15129)
216--- testing: '123abc' * '3.4a' ---
217float(418.2)
218--- testing: '123abc' * 'a5.9' ---
219int(0)
220--- testing: '123e5' * '0' ---
221float(0)
222--- testing: '123e5' * '65' ---
223float(799500000)
224--- testing: '123e5' * '-44' ---
225float(-541200000)
226--- testing: '123e5' * '1.2' ---
227float(14760000)
228--- testing: '123e5' * '-7.7' ---
229float(-94710000)
230--- testing: '123e5' * 'abc' ---
231float(0)
232--- testing: '123e5' * '123abc' ---
233float(1512900000)
234--- testing: '123e5' * '123e5' ---
235float(1.5129E+14)
236--- testing: '123e5' * '123e5xyz' ---
237float(1.5129E+14)
238--- testing: '123e5' * ' 123abc' ---
239float(1512900000)
240--- testing: '123e5' * '123 abc' ---
241float(1512900000)
242--- testing: '123e5' * '123abc ' ---
243float(1512900000)
244--- testing: '123e5' * '3.4a' ---
245float(41820000)
246--- testing: '123e5' * 'a5.9' ---
247float(0)
248--- testing: '123e5xyz' * '0' ---
249float(0)
250--- testing: '123e5xyz' * '65' ---
251float(799500000)
252--- testing: '123e5xyz' * '-44' ---
253float(-541200000)
254--- testing: '123e5xyz' * '1.2' ---
255float(14760000)
256--- testing: '123e5xyz' * '-7.7' ---
257float(-94710000)
258--- testing: '123e5xyz' * 'abc' ---
259float(0)
260--- testing: '123e5xyz' * '123abc' ---
261float(1512900000)
262--- testing: '123e5xyz' * '123e5' ---
263float(1.5129E+14)
264--- testing: '123e5xyz' * '123e5xyz' ---
265float(1.5129E+14)
266--- testing: '123e5xyz' * ' 123abc' ---
267float(1512900000)
268--- testing: '123e5xyz' * '123 abc' ---
269float(1512900000)
270--- testing: '123e5xyz' * '123abc ' ---
271float(1512900000)
272--- testing: '123e5xyz' * '3.4a' ---
273float(41820000)
274--- testing: '123e5xyz' * 'a5.9' ---
275float(0)
276--- testing: ' 123abc' * '0' ---
277int(0)
278--- testing: ' 123abc' * '65' ---
279int(7995)
280--- testing: ' 123abc' * '-44' ---
281int(-5412)
282--- testing: ' 123abc' * '1.2' ---
283float(147.6)
284--- testing: ' 123abc' * '-7.7' ---
285float(-947.1)
286--- testing: ' 123abc' * 'abc' ---
287int(0)
288--- testing: ' 123abc' * '123abc' ---
289int(15129)
290--- testing: ' 123abc' * '123e5' ---
291float(1512900000)
292--- testing: ' 123abc' * '123e5xyz' ---
293float(1512900000)
294--- testing: ' 123abc' * ' 123abc' ---
295int(15129)
296--- testing: ' 123abc' * '123 abc' ---
297int(15129)
298--- testing: ' 123abc' * '123abc ' ---
299int(15129)
300--- testing: ' 123abc' * '3.4a' ---
301float(418.2)
302--- testing: ' 123abc' * 'a5.9' ---
303int(0)
304--- testing: '123 abc' * '0' ---
305int(0)
306--- testing: '123 abc' * '65' ---
307int(7995)
308--- testing: '123 abc' * '-44' ---
309int(-5412)
310--- testing: '123 abc' * '1.2' ---
311float(147.6)
312--- testing: '123 abc' * '-7.7' ---
313float(-947.1)
314--- testing: '123 abc' * 'abc' ---
315int(0)
316--- testing: '123 abc' * '123abc' ---
317int(15129)
318--- testing: '123 abc' * '123e5' ---
319float(1512900000)
320--- testing: '123 abc' * '123e5xyz' ---
321float(1512900000)
322--- testing: '123 abc' * ' 123abc' ---
323int(15129)
324--- testing: '123 abc' * '123 abc' ---
325int(15129)
326--- testing: '123 abc' * '123abc ' ---
327int(15129)
328--- testing: '123 abc' * '3.4a' ---
329float(418.2)
330--- testing: '123 abc' * 'a5.9' ---
331int(0)
332--- testing: '123abc ' * '0' ---
333int(0)
334--- testing: '123abc ' * '65' ---
335int(7995)
336--- testing: '123abc ' * '-44' ---
337int(-5412)
338--- testing: '123abc ' * '1.2' ---
339float(147.6)
340--- testing: '123abc ' * '-7.7' ---
341float(-947.1)
342--- testing: '123abc ' * 'abc' ---
343int(0)
344--- testing: '123abc ' * '123abc' ---
345int(15129)
346--- testing: '123abc ' * '123e5' ---
347float(1512900000)
348--- testing: '123abc ' * '123e5xyz' ---
349float(1512900000)
350--- testing: '123abc ' * ' 123abc' ---
351int(15129)
352--- testing: '123abc ' * '123 abc' ---
353int(15129)
354--- testing: '123abc ' * '123abc ' ---
355int(15129)
356--- testing: '123abc ' * '3.4a' ---
357float(418.2)
358--- testing: '123abc ' * 'a5.9' ---
359int(0)
360--- testing: '3.4a' * '0' ---
361float(0)
362--- testing: '3.4a' * '65' ---
363float(221)
364--- testing: '3.4a' * '-44' ---
365float(-149.6)
366--- testing: '3.4a' * '1.2' ---
367float(4.08)
368--- testing: '3.4a' * '-7.7' ---
369float(-26.18)
370--- testing: '3.4a' * 'abc' ---
371float(0)
372--- testing: '3.4a' * '123abc' ---
373float(418.2)
374--- testing: '3.4a' * '123e5' ---
375float(41820000)
376--- testing: '3.4a' * '123e5xyz' ---
377float(41820000)
378--- testing: '3.4a' * ' 123abc' ---
379float(418.2)
380--- testing: '3.4a' * '123 abc' ---
381float(418.2)
382--- testing: '3.4a' * '123abc ' ---
383float(418.2)
384--- testing: '3.4a' * '3.4a' ---
385float(11.56)
386--- testing: '3.4a' * 'a5.9' ---
387float(0)
388--- testing: 'a5.9' * '0' ---
389int(0)
390--- testing: 'a5.9' * '65' ---
391int(0)
392--- testing: 'a5.9' * '-44' ---
393int(0)
394--- testing: 'a5.9' * '1.2' ---
395float(0)
396--- testing: 'a5.9' * '-7.7' ---
397float(-0)
398--- testing: 'a5.9' * 'abc' ---
399int(0)
400--- testing: 'a5.9' * '123abc' ---
401int(0)
402--- testing: 'a5.9' * '123e5' ---
403float(0)
404--- testing: 'a5.9' * '123e5xyz' ---
405float(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' ---
413float(0)
414--- testing: 'a5.9' * 'a5.9' ---
415int(0)
416===DONE===
417