1--TEST-- 2Test mb_strrpos() function : basic functionality 3--SKIPIF-- 4<?php 5extension_loaded('mbstring') or die('skip'); 6function_exists('mb_strrpos') or die("skip mb_strrpos() is not available in this build"); 7?> 8--FILE-- 9<?php 10/* Prototype : int mb_strrpos(string $haystack, string $needle [, int $offset [, string $encoding]]) 11 * Description: Find position of last occurrence of a string within another 12 * Source code: ext/mbstring/mbstring.c 13 */ 14 15/* 16 * Test basic functionality of mb_strrpos() 17 */ 18 19echo "*** Testing mb_strrpos() : basic ***\n"; 20 21mb_internal_encoding('UTF-8'); 22 23$string_ascii = b'This is an English string. 0123456789.'; 24//Japanese string in UTF-8 25$string_mb = base64_decode('5pel5pys6Kqe44OG44Kt44K544OI44Gn44GZ44CCMDEyMzTvvJXvvJbvvJfvvJjvvJnjgII='); 26 27echo "\n-- ASCII string 1 --\n"; 28var_dump(mb_strrpos($string_ascii, b'is', 4, 'ISO-8859-1')); 29 30echo "\n-- ASCII string 2 --\n"; 31var_dump(mb_strrpos($string_ascii, b'hello, world')); 32 33echo "\n-- Multibyte string 1 --\n"; 34$needle1 = base64_decode('44CC'); 35var_dump(mb_strrpos($string_mb, $needle1)); 36 37echo "\n-- Multibyte string 2 --\n"; 38$needle2 = base64_decode('44GT44KT44Gr44Gh44Gv44CB5LiW55WM'); 39var_dump(mb_strrpos($string_mb, $needle2)); 40 41echo "Done"; 42?> 43--EXPECTF-- 44*** Testing mb_strrpos() : basic *** 45 46-- ASCII string 1 -- 47int(15) 48 49-- ASCII string 2 -- 50bool(false) 51 52-- Multibyte string 1 -- 53int(20) 54 55-- Multibyte string 2 -- 56bool(false) 57Done 58 59