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