<?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
- Output for 7.0.0 - 7.0.24, 7.1.0 - 7.1.25, 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.25, 8.4.1 - 8.4.12
- array(5) {
["$haystack"]=>
string(88) "Шустрая бурая лиса прыгает через ленивую собаку"
["$needle"]=>
string(12) "собаку"
["strlen($needle)"]=>
int(12)
["substr($haystack, -strlen($needle))"]=>
string(12) "собаку"
["substr($haystack, -strlen($needle)) === (string) $needle"]=>
bool(true)
}
array(5) {
["$haystack"]=>
string(56) "날쌘 갈색 여우가 게으른 개를 뛰어넘는다"
["$needle"]=>
string(22) "개를 뛰어넘는다"
["strlen($needle)"]=>
int(22)
["substr($haystack, -strlen($needle))"]=>
string(22) "개를 뛰어넘는다"
["substr($haystack, -strlen($needle)) === (string) $needle"]=>
bool(true)
}
array(5) {
["$haystack"]=>
string(42) "敏捷的棕毛狐狸从懶狗身上跃过"
["$needle"]=>
string(21) "从懶狗身上跃过"
["strlen($needle)"]=>
int(21)
["substr($haystack, -strlen($needle))"]=>
string(21) "从懶狗身上跃过"
["substr($haystack, -strlen($needle)) === (string) $needle"]=>
bool(true)
}
array(5) {
["$search"]=>
string(8) "лиса"
["$replace"]=>
string(12) "собаку"
["$subject"]=>
string(88) "Шустрая бурая лиса прыгает через ленивую собаку"
["strpos($subject, $search)"]=>
int(26)
["substr_replace($subject, $replace, $position, strlen($search))"]=>
string(92) "Шустрая бурая собаку прыгает через ленивую собаку"
}
array(5) {
["$search"]=>
string(6) "여우"
["$replace"]=>
string(6) "개를"
["$subject"]=>
string(56) "날쌘 갈색 여우가 게으른 개를 뛰어넘는다"
["strpos($subject, $search)"]=>
int(14)
["substr_replace($subject, $replace, $position, strlen($search))"]=>
string(56) "날쌘 갈색 개를가 게으른 개를 뛰어넘는다"
}
array(5) {
["$search"]=>
string(3) "狐"
["$replace"]=>
string(3) "狗"
["$subject"]=>
string(42) "敏捷的棕毛狐狸从懶狗身上跃过"
["strpos($subject, $search)"]=>
int(15)
["substr_replace($subject, $replace, $position, strlen($search))"]=>
string(42) "敏捷的棕毛狗狸从懶狗身上跃过"
}
preferences:
145.85 ms | 418 KiB | 5 Q