1--TEST-- 2token_get_all() 3--SKIPIF-- 4<?php if (!extension_loaded("tokenizer")) print "skip"; ?> 5--FILE-- 6<?php 7 8$strings = array( 9 '<?php echo 1; if (isset($a)) print $a+1; $a++; $a--; $a == 2; $a === 2; endif; ?>', 10 '<?php switch($a) { case 1: break; default: break; } while($a) { exit; } ?>', 11 '<?php /* comment */ if (1 || 2) { } $a = 2 | 1; $b = 3^2; $c = 4&2; ?>', 12 /* feel free to add more yourself */ 13 'wrong syntax here' 14); 15 16foreach ($strings as $s) { 17 var_dump(token_get_all($s)); 18} 19 20echo "Done\n"; 21?> 22--EXPECTF-- 23array(48) { 24 [0]=> 25 array(3) { 26 [0]=> 27 int(%d) 28 [1]=> 29 string(6) "<?php " 30 [2]=> 31 int(1) 32 } 33 [1]=> 34 array(3) { 35 [0]=> 36 int(%d) 37 [1]=> 38 string(4) "echo" 39 [2]=> 40 int(1) 41 } 42 [2]=> 43 array(3) { 44 [0]=> 45 int(%d) 46 [1]=> 47 string(1) " " 48 [2]=> 49 int(1) 50 } 51 [3]=> 52 array(3) { 53 [0]=> 54 int(%d) 55 [1]=> 56 string(1) "1" 57 [2]=> 58 int(1) 59 } 60 [4]=> 61 string(1) ";" 62 [5]=> 63 array(3) { 64 [0]=> 65 int(%d) 66 [1]=> 67 string(1) " " 68 [2]=> 69 int(1) 70 } 71 [6]=> 72 array(3) { 73 [0]=> 74 int(%d) 75 [1]=> 76 string(2) "if" 77 [2]=> 78 int(1) 79 } 80 [7]=> 81 array(3) { 82 [0]=> 83 int(%d) 84 [1]=> 85 string(1) " " 86 [2]=> 87 int(1) 88 } 89 [8]=> 90 string(1) "(" 91 [9]=> 92 array(3) { 93 [0]=> 94 int(%d) 95 [1]=> 96 string(5) "isset" 97 [2]=> 98 int(1) 99 } 100 [10]=> 101 string(1) "(" 102 [11]=> 103 array(3) { 104 [0]=> 105 int(%d) 106 [1]=> 107 string(2) "$a" 108 [2]=> 109 int(1) 110 } 111 [12]=> 112 string(1) ")" 113 [13]=> 114 string(1) ")" 115 [14]=> 116 array(3) { 117 [0]=> 118 int(%d) 119 [1]=> 120 string(1) " " 121 [2]=> 122 int(1) 123 } 124 [15]=> 125 array(3) { 126 [0]=> 127 int(%d) 128 [1]=> 129 string(5) "print" 130 [2]=> 131 int(1) 132 } 133 [16]=> 134 array(3) { 135 [0]=> 136 int(%d) 137 [1]=> 138 string(1) " " 139 [2]=> 140 int(1) 141 } 142 [17]=> 143 array(3) { 144 [0]=> 145 int(%d) 146 [1]=> 147 string(2) "$a" 148 [2]=> 149 int(1) 150 } 151 [18]=> 152 string(1) "+" 153 [19]=> 154 array(3) { 155 [0]=> 156 int(%d) 157 [1]=> 158 string(1) "1" 159 [2]=> 160 int(1) 161 } 162 [20]=> 163 string(1) ";" 164 [21]=> 165 array(3) { 166 [0]=> 167 int(%d) 168 [1]=> 169 string(1) " " 170 [2]=> 171 int(1) 172 } 173 [22]=> 174 array(3) { 175 [0]=> 176 int(%d) 177 [1]=> 178 string(2) "$a" 179 [2]=> 180 int(1) 181 } 182 [23]=> 183 array(3) { 184 [0]=> 185 int(%d) 186 [1]=> 187 string(2) "++" 188 [2]=> 189 int(1) 190 } 191 [24]=> 192 string(1) ";" 193 [25]=> 194 array(3) { 195 [0]=> 196 int(%d) 197 [1]=> 198 string(1) " " 199 [2]=> 200 int(1) 201 } 202 [26]=> 203 array(3) { 204 [0]=> 205 int(%d) 206 [1]=> 207 string(2) "$a" 208 [2]=> 209 int(1) 210 } 211 [27]=> 212 array(3) { 213 [0]=> 214 int(%d) 215 [1]=> 216 string(2) "--" 217 [2]=> 218 int(1) 219 } 220 [28]=> 221 string(1) ";" 222 [29]=> 223 array(3) { 224 [0]=> 225 int(%d) 226 [1]=> 227 string(1) " " 228 [2]=> 229 int(1) 230 } 231 [30]=> 232 array(3) { 233 [0]=> 234 int(%d) 235 [1]=> 236 string(2) "$a" 237 [2]=> 238 int(1) 239 } 240 [31]=> 241 array(3) { 242 [0]=> 243 int(%d) 244 [1]=> 245 string(1) " " 246 [2]=> 247 int(1) 248 } 249 [32]=> 250 array(3) { 251 [0]=> 252 int(%d) 253 [1]=> 254 string(2) "==" 255 [2]=> 256 int(1) 257 } 258 [33]=> 259 array(3) { 260 [0]=> 261 int(%d) 262 [1]=> 263 string(1) " " 264 [2]=> 265 int(1) 266 } 267 [34]=> 268 array(3) { 269 [0]=> 270 int(%d) 271 [1]=> 272 string(1) "2" 273 [2]=> 274 int(1) 275 } 276 [35]=> 277 string(1) ";" 278 [36]=> 279 array(3) { 280 [0]=> 281 int(%d) 282 [1]=> 283 string(1) " " 284 [2]=> 285 int(1) 286 } 287 [37]=> 288 array(3) { 289 [0]=> 290 int(%d) 291 [1]=> 292 string(2) "$a" 293 [2]=> 294 int(1) 295 } 296 [38]=> 297 array(3) { 298 [0]=> 299 int(%d) 300 [1]=> 301 string(1) " " 302 [2]=> 303 int(1) 304 } 305 [39]=> 306 array(3) { 307 [0]=> 308 int(%d) 309 [1]=> 310 string(3) "===" 311 [2]=> 312 int(1) 313 } 314 [40]=> 315 array(3) { 316 [0]=> 317 int(%d) 318 [1]=> 319 string(1) " " 320 [2]=> 321 int(1) 322 } 323 [41]=> 324 array(3) { 325 [0]=> 326 int(%d) 327 [1]=> 328 string(1) "2" 329 [2]=> 330 int(1) 331 } 332 [42]=> 333 string(1) ";" 334 [43]=> 335 array(3) { 336 [0]=> 337 int(%d) 338 [1]=> 339 string(1) " " 340 [2]=> 341 int(1) 342 } 343 [44]=> 344 array(3) { 345 [0]=> 346 int(%d) 347 [1]=> 348 string(5) "endif" 349 [2]=> 350 int(1) 351 } 352 [45]=> 353 string(1) ";" 354 [46]=> 355 array(3) { 356 [0]=> 357 int(%d) 358 [1]=> 359 string(1) " " 360 [2]=> 361 int(1) 362 } 363 [47]=> 364 array(3) { 365 [0]=> 366 int(%d) 367 [1]=> 368 string(2) "?>" 369 [2]=> 370 int(1) 371 } 372} 373array(37) { 374 [0]=> 375 array(3) { 376 [0]=> 377 int(%d) 378 [1]=> 379 string(6) "<?php " 380 [2]=> 381 int(1) 382 } 383 [1]=> 384 array(3) { 385 [0]=> 386 int(%d) 387 [1]=> 388 string(6) "switch" 389 [2]=> 390 int(1) 391 } 392 [2]=> 393 string(1) "(" 394 [3]=> 395 array(3) { 396 [0]=> 397 int(%d) 398 [1]=> 399 string(2) "$a" 400 [2]=> 401 int(1) 402 } 403 [4]=> 404 string(1) ")" 405 [5]=> 406 array(3) { 407 [0]=> 408 int(%d) 409 [1]=> 410 string(1) " " 411 [2]=> 412 int(1) 413 } 414 [6]=> 415 string(1) "{" 416 [7]=> 417 array(3) { 418 [0]=> 419 int(%d) 420 [1]=> 421 string(1) " " 422 [2]=> 423 int(1) 424 } 425 [8]=> 426 array(3) { 427 [0]=> 428 int(%d) 429 [1]=> 430 string(4) "case" 431 [2]=> 432 int(1) 433 } 434 [9]=> 435 array(3) { 436 [0]=> 437 int(%d) 438 [1]=> 439 string(1) " " 440 [2]=> 441 int(1) 442 } 443 [10]=> 444 array(3) { 445 [0]=> 446 int(%d) 447 [1]=> 448 string(1) "1" 449 [2]=> 450 int(1) 451 } 452 [11]=> 453 string(1) ":" 454 [12]=> 455 array(3) { 456 [0]=> 457 int(%d) 458 [1]=> 459 string(1) " " 460 [2]=> 461 int(1) 462 } 463 [13]=> 464 array(3) { 465 [0]=> 466 int(%d) 467 [1]=> 468 string(5) "break" 469 [2]=> 470 int(1) 471 } 472 [14]=> 473 string(1) ";" 474 [15]=> 475 array(3) { 476 [0]=> 477 int(%d) 478 [1]=> 479 string(1) " " 480 [2]=> 481 int(1) 482 } 483 [16]=> 484 array(3) { 485 [0]=> 486 int(%d) 487 [1]=> 488 string(7) "default" 489 [2]=> 490 int(1) 491 } 492 [17]=> 493 string(1) ":" 494 [18]=> 495 array(3) { 496 [0]=> 497 int(%d) 498 [1]=> 499 string(1) " " 500 [2]=> 501 int(1) 502 } 503 [19]=> 504 array(3) { 505 [0]=> 506 int(%d) 507 [1]=> 508 string(5) "break" 509 [2]=> 510 int(1) 511 } 512 [20]=> 513 string(1) ";" 514 [21]=> 515 array(3) { 516 [0]=> 517 int(%d) 518 [1]=> 519 string(1) " " 520 [2]=> 521 int(1) 522 } 523 [22]=> 524 string(1) "}" 525 [23]=> 526 array(3) { 527 [0]=> 528 int(%d) 529 [1]=> 530 string(1) " " 531 [2]=> 532 int(1) 533 } 534 [24]=> 535 array(3) { 536 [0]=> 537 int(%d) 538 [1]=> 539 string(5) "while" 540 [2]=> 541 int(1) 542 } 543 [25]=> 544 string(1) "(" 545 [26]=> 546 array(3) { 547 [0]=> 548 int(%d) 549 [1]=> 550 string(2) "$a" 551 [2]=> 552 int(1) 553 } 554 [27]=> 555 string(1) ")" 556 [28]=> 557 array(3) { 558 [0]=> 559 int(%d) 560 [1]=> 561 string(1) " " 562 [2]=> 563 int(1) 564 } 565 [29]=> 566 string(1) "{" 567 [30]=> 568 array(3) { 569 [0]=> 570 int(%d) 571 [1]=> 572 string(1) " " 573 [2]=> 574 int(1) 575 } 576 [31]=> 577 array(3) { 578 [0]=> 579 int(%d) 580 [1]=> 581 string(4) "exit" 582 [2]=> 583 int(1) 584 } 585 [32]=> 586 string(1) ";" 587 [33]=> 588 array(3) { 589 [0]=> 590 int(%d) 591 [1]=> 592 string(1) " " 593 [2]=> 594 int(1) 595 } 596 [34]=> 597 string(1) "}" 598 [35]=> 599 array(3) { 600 [0]=> 601 int(%d) 602 [1]=> 603 string(1) " " 604 [2]=> 605 int(1) 606 } 607 [36]=> 608 array(3) { 609 [0]=> 610 int(%d) 611 [1]=> 612 string(2) "?>" 613 [2]=> 614 int(1) 615 } 616} 617array(47) { 618 [0]=> 619 array(3) { 620 [0]=> 621 int(%d) 622 [1]=> 623 string(6) "<?php " 624 [2]=> 625 int(1) 626 } 627 [1]=> 628 array(3) { 629 [0]=> 630 int(%d) 631 [1]=> 632 string(13) "/* comment */" 633 [2]=> 634 int(1) 635 } 636 [2]=> 637 array(3) { 638 [0]=> 639 int(%d) 640 [1]=> 641 string(1) " " 642 [2]=> 643 int(1) 644 } 645 [3]=> 646 array(3) { 647 [0]=> 648 int(%d) 649 [1]=> 650 string(2) "if" 651 [2]=> 652 int(1) 653 } 654 [4]=> 655 array(3) { 656 [0]=> 657 int(%d) 658 [1]=> 659 string(1) " " 660 [2]=> 661 int(1) 662 } 663 [5]=> 664 string(1) "(" 665 [6]=> 666 array(3) { 667 [0]=> 668 int(%d) 669 [1]=> 670 string(1) "1" 671 [2]=> 672 int(1) 673 } 674 [7]=> 675 array(3) { 676 [0]=> 677 int(%d) 678 [1]=> 679 string(1) " " 680 [2]=> 681 int(1) 682 } 683 [8]=> 684 array(3) { 685 [0]=> 686 int(%d) 687 [1]=> 688 string(2) "||" 689 [2]=> 690 int(1) 691 } 692 [9]=> 693 array(3) { 694 [0]=> 695 int(%d) 696 [1]=> 697 string(1) " " 698 [2]=> 699 int(1) 700 } 701 [10]=> 702 array(3) { 703 [0]=> 704 int(%d) 705 [1]=> 706 string(1) "2" 707 [2]=> 708 int(1) 709 } 710 [11]=> 711 string(1) ")" 712 [12]=> 713 array(3) { 714 [0]=> 715 int(%d) 716 [1]=> 717 string(1) " " 718 [2]=> 719 int(1) 720 } 721 [13]=> 722 string(1) "{" 723 [14]=> 724 array(3) { 725 [0]=> 726 int(%d) 727 [1]=> 728 string(1) " " 729 [2]=> 730 int(1) 731 } 732 [15]=> 733 string(1) "}" 734 [16]=> 735 array(3) { 736 [0]=> 737 int(%d) 738 [1]=> 739 string(1) " " 740 [2]=> 741 int(1) 742 } 743 [17]=> 744 array(3) { 745 [0]=> 746 int(%d) 747 [1]=> 748 string(2) "$a" 749 [2]=> 750 int(1) 751 } 752 [18]=> 753 array(3) { 754 [0]=> 755 int(%d) 756 [1]=> 757 string(1) " " 758 [2]=> 759 int(1) 760 } 761 [19]=> 762 string(1) "=" 763 [20]=> 764 array(3) { 765 [0]=> 766 int(%d) 767 [1]=> 768 string(1) " " 769 [2]=> 770 int(1) 771 } 772 [21]=> 773 array(3) { 774 [0]=> 775 int(%d) 776 [1]=> 777 string(1) "2" 778 [2]=> 779 int(1) 780 } 781 [22]=> 782 array(3) { 783 [0]=> 784 int(%d) 785 [1]=> 786 string(1) " " 787 [2]=> 788 int(1) 789 } 790 [23]=> 791 string(1) "|" 792 [24]=> 793 array(3) { 794 [0]=> 795 int(%d) 796 [1]=> 797 string(1) " " 798 [2]=> 799 int(1) 800 } 801 [25]=> 802 array(3) { 803 [0]=> 804 int(%d) 805 [1]=> 806 string(1) "1" 807 [2]=> 808 int(1) 809 } 810 [26]=> 811 string(1) ";" 812 [27]=> 813 array(3) { 814 [0]=> 815 int(%d) 816 [1]=> 817 string(1) " " 818 [2]=> 819 int(1) 820 } 821 [28]=> 822 array(3) { 823 [0]=> 824 int(%d) 825 [1]=> 826 string(2) "$b" 827 [2]=> 828 int(1) 829 } 830 [29]=> 831 array(3) { 832 [0]=> 833 int(%d) 834 [1]=> 835 string(1) " " 836 [2]=> 837 int(1) 838 } 839 [30]=> 840 string(1) "=" 841 [31]=> 842 array(3) { 843 [0]=> 844 int(%d) 845 [1]=> 846 string(1) " " 847 [2]=> 848 int(1) 849 } 850 [32]=> 851 array(3) { 852 [0]=> 853 int(%d) 854 [1]=> 855 string(1) "3" 856 [2]=> 857 int(1) 858 } 859 [33]=> 860 string(1) "^" 861 [34]=> 862 array(3) { 863 [0]=> 864 int(%d) 865 [1]=> 866 string(1) "2" 867 [2]=> 868 int(1) 869 } 870 [35]=> 871 string(1) ";" 872 [36]=> 873 array(3) { 874 [0]=> 875 int(%d) 876 [1]=> 877 string(1) " " 878 [2]=> 879 int(1) 880 } 881 [37]=> 882 array(3) { 883 [0]=> 884 int(%d) 885 [1]=> 886 string(2) "$c" 887 [2]=> 888 int(1) 889 } 890 [38]=> 891 array(3) { 892 [0]=> 893 int(%d) 894 [1]=> 895 string(1) " " 896 [2]=> 897 int(1) 898 } 899 [39]=> 900 string(1) "=" 901 [40]=> 902 array(3) { 903 [0]=> 904 int(%d) 905 [1]=> 906 string(1) " " 907 [2]=> 908 int(1) 909 } 910 [41]=> 911 array(3) { 912 [0]=> 913 int(%d) 914 [1]=> 915 string(1) "4" 916 [2]=> 917 int(1) 918 } 919 [42]=> 920 string(1) "&" 921 [43]=> 922 array(3) { 923 [0]=> 924 int(%d) 925 [1]=> 926 string(1) "2" 927 [2]=> 928 int(1) 929 } 930 [44]=> 931 string(1) ";" 932 [45]=> 933 array(3) { 934 [0]=> 935 int(%d) 936 [1]=> 937 string(1) " " 938 [2]=> 939 int(1) 940 } 941 [46]=> 942 array(3) { 943 [0]=> 944 int(%d) 945 [1]=> 946 string(2) "?>" 947 [2]=> 948 int(1) 949 } 950} 951array(1) { 952 [0]=> 953 array(3) { 954 [0]=> 955 int(%d) 956 [1]=> 957 string(17) "wrong syntax here" 958 [2]=> 959 int(1) 960 } 961} 962Done 963