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