mb_strrichr_variation5.phpt 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. --TEST--
  2. Test mb_strrichr() function : usage variation - multiple needles
  3. --EXTENSIONS--
  4. mbstring
  5. --FILE--
  6. <?php
  7. echo "*** Testing mb_strrichr() : basic functionality ***\n";
  8. mb_internal_encoding('UTF-8');
  9. //ascii mixed case, multiple needles
  10. $string_ascii = 'abcDef zBcDyx';
  11. $needle_ascii_upper = "BCD";
  12. $needle_ascii_mixed = "bCd";
  13. $needle_ascii_lower = "bcd";
  14. //Greek string in mixed case UTF-8 with multiple needles
  15. $string_mb = base64_decode('zrrOu868zr3Ovs6fzqDOoSDOus67zpzOnc6+zr/OoA==');
  16. $needle_mb_upper = base64_decode('zpzOnc6ezp8=');
  17. $needle_mb_lower = base64_decode('zrzOvc6+zr8=');
  18. $needle_mb_mixed = base64_decode('zpzOnc6+zr8=');
  19. echo "\n-- ASCII string: needle exists --\n";
  20. var_dump(bin2hex(mb_strrichr($string_ascii, $needle_ascii_upper, false)));
  21. var_dump(bin2hex(mb_strrichr($string_ascii, $needle_ascii_upper, true)));
  22. var_dump(bin2hex(mb_strrichr($string_ascii, $needle_ascii_lower, false)));
  23. var_dump(bin2hex(mb_strrichr($string_ascii, $needle_ascii_lower, true)));
  24. var_dump(bin2hex(mb_strrichr($string_ascii, $needle_ascii_mixed, false)));
  25. var_dump(bin2hex(mb_strrichr($string_ascii, $needle_ascii_mixed, true)));
  26. echo "\n-- Multibyte string: needle exists --\n";
  27. var_dump(bin2hex(mb_strrichr($string_mb, $needle_mb_upper, false)));
  28. var_dump(bin2hex(mb_strrichr($string_mb, $needle_mb_upper, true)));
  29. var_dump(bin2hex(mb_strrichr($string_mb, $needle_mb_lower, false)));
  30. var_dump(bin2hex(mb_strrichr($string_mb, $needle_mb_lower, true)));
  31. var_dump(bin2hex(mb_strrichr($string_mb, $needle_mb_mixed, false)));
  32. var_dump(bin2hex(mb_strrichr($string_mb, $needle_mb_mixed, true)));
  33. ?>
  34. --EXPECT--
  35. *** Testing mb_strrichr() : basic functionality ***
  36. -- ASCII string: needle exists --
  37. string(10) "4263447978"
  38. string(16) "616263446566207a"
  39. string(10) "4263447978"
  40. string(16) "616263446566207a"
  41. string(10) "4263447978"
  42. string(16) "616263446566207a"
  43. -- Multibyte string: needle exists --
  44. string(20) "ce9cce9dcebecebfcea0"
  45. string(42) "cebacebbcebccebdcebece9fcea0cea120cebacebb"
  46. string(20) "ce9cce9dcebecebfcea0"
  47. string(42) "cebacebbcebccebdcebece9fcea0cea120cebacebb"
  48. string(20) "ce9cce9dcebecebfcea0"
  49. string(42) "cebacebbcebccebdcebece9fcea0cea120cebacebb"