3v4l.org

run code in 300+ PHP versions simultaneously
<?php function endsWith($haystack, $needles) { foreach ((array) $needles as $needle) { var_dump([ '$haystack' => $haystack, '$needle' => $needle, 'strlen($needle)' => strlen($needle), 'substr($haystack, -strlen($needle))' => substr($haystack, -strlen($needle)), 'substr($haystack, -strlen($needle)) === (string) $needle' => substr($haystack, -strlen($needle)) === (string) $needle, ]); } } function replaceFirst($search, $replace, $subject) { var_dump([ '$search' => $search, '$replace' => $replace, '$subject' => $subject, 'strpos($subject, $search)' => $position = strpos($subject, $search), 'substr_replace($subject, $replace, $position, strlen($search))' => substr_replace($subject, $replace, $position, strlen($search)), ]); } endsWith('Шустрая бурая лиса прыгает через ленивую собаку', 'собаку'); // Russian endsWith('날쌘 갈색 여우가 게으른 개를 뛰어넘는다', '개를 뛰어넘는다'); // Korean endsWith('敏捷的棕毛狐狸从懶狗身上跃过', '从懶狗身上跃过'); // Chinese replaceFirst('лиса', 'собаку', 'Шустрая бурая лиса прыгает через ленивую собаку'); // Russian replaceFirst('여우', '개를', '날쌘 갈색 여우가 게으른 개를 뛰어넘는다'); // Korean replaceFirst('狐', '狗', '敏捷的棕毛狐狸从懶狗身上跃过'); // Chinese

preferences:
123.71 ms | 407 KiB | 5 Q