<?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