3v4l.org

run code in 300+ PHP versions simultaneously
<?php /** * Напишите реализацию для ф-ии strstr: * function strstr(string $haystack, string $needle) * нельзя использовать встроенные ф-ии php: substr, strtok, ... * (*) это более удачная реализация, работает за О(n) */ /** * Find substring starting in string, starting from some symbol(s) * @param string $haystack * @param string $needle * @return string */ function my_strstr2(string $haystack, string $needle): string { $isFound = false; $lenHaystack = strlen($haystack); $lenNeedle = strlen($needle); for($i = 0, $j = 0, $cnt = 0; $i < $lenHaystack, $j < $lenNeedle; $i++) { if($haystack[$i + $j] == $needle[$j]) { $j++; } else { $j = 0; } if($j >= strlen($lenNeedle)) { $isFound = true; break; } } return ($isFound ? substr($haystack, $i) : ''); } var_dump(my_strstr2('asdfghend', 'fg')); // 'fghend';
Output for 8.0.1 - 8.0.30, 8.1.0 - 8.1.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.28, 8.4.1 - 8.4.14, 8.5.0
string(6) "fghend"
Output for 8.4.15
/bin/php-8.4.15: /usr/lib/libm.so.6: version `GLIBC_2.38' not found (required by /bin/php-8.4.15) /bin/php-8.4.15: /usr/lib/libm.so.6: version `GLIBC_2.35' not found (required by /bin/php-8.4.15) /bin/php-8.4.15: /usr/lib/libc.so.6: version `GLIBC_2.34' not found (required by /bin/php-8.4.15) /bin/php-8.4.15: /usr/lib/libc.so.6: version `GLIBC_2.38' not found (required by /bin/php-8.4.15)
Process exited with code 1.

preferences:
103.45 ms | 407 KiB | 5 Q