<?php
if (!function_exists('str_contains'))
{
function str_contains(string $haystack, string $needle): bool
{
return '' === $needle || false !== strpos($haystack, $needle);
}
}
if (!function_exists('str_ends_with'))
{
function str_ends_with(string $haystack, string $needle): bool
{
return '' === $needle || ('' !== $haystack && 0 === \substr_compare($haystack, $needle, -\strlen($needle)));
}
}
if (!function_exists('str_starts_with'))
{
function str_starts_with(string $haystack, string $needle): bool
{
return 0 === \strncmp($haystack, $needle, \strlen($needle));
}
}
$methods = [
'str_contains',
'str_starts_with',
'str_ends_with',
];
$types = [
'string' => 'test',
'int' => 1,
'float' => 1.23,
'null' => null,
'true' => true,
'false' => false,
'object' => new StdClass(),
'array' => [],
];
$result = [];
foreach ($methods as $method)
{
foreach ($types as $type => $val)
{
foreach (['first' => [$val, 'test'], 'second' => ['test', $val]] as $firstSecond => $args)
{
try
{
$res = $method(...$args);
}
catch (Error $e)
{
$res = 'Fatal error triggered';
}
$result[$method][$type][$firstSecond] = $res;
}
}
}
var_export($result);
- Output for 8.1.0 - 8.1.28, 8.2.0 - 8.2.19, 8.3.0 - 8.3.4, 8.3.6 - 8.3.7
- Deprecated: str_contains(): Passing null to parameter #1 ($haystack) of type string is deprecated in /in/m8OIn on line 53
Deprecated: str_contains(): Passing null to parameter #2 ($needle) of type string is deprecated in /in/m8OIn on line 53
Deprecated: str_starts_with(): Passing null to parameter #1 ($haystack) of type string is deprecated in /in/m8OIn on line 53
Deprecated: str_starts_with(): Passing null to parameter #2 ($needle) of type string is deprecated in /in/m8OIn on line 53
Deprecated: str_ends_with(): Passing null to parameter #1 ($haystack) of type string is deprecated in /in/m8OIn on line 53
Deprecated: str_ends_with(): Passing null to parameter #2 ($needle) of type string is deprecated in /in/m8OIn on line 53
array (
'str_contains' =>
array (
'string' =>
array (
'first' => true,
'second' => true,
),
'int' =>
array (
'first' => false,
'second' => false,
),
'float' =>
array (
'first' => false,
'second' => false,
),
'null' =>
array (
'first' => false,
'second' => true,
),
'true' =>
array (
'first' => false,
'second' => false,
),
'false' =>
array (
'first' => false,
'second' => true,
),
'object' =>
array (
'first' => 'Fatal error triggered',
'second' => 'Fatal error triggered',
),
'array' =>
array (
'first' => 'Fatal error triggered',
'second' => 'Fatal error triggered',
),
),
'str_starts_with' =>
array (
'string' =>
array (
'first' => true,
'second' => true,
),
'int' =>
array (
'first' => false,
'second' => false,
),
'float' =>
array (
'first' => false,
'second' => false,
),
'null' =>
array (
'first' => false,
'second' => true,
),
'true' =>
array (
'first' => false,
'second' => false,
),
'false' =>
array (
'first' => false,
'second' => true,
),
'object' =>
array (
'first' => 'Fatal error triggered',
'second' => 'Fatal error triggered',
),
'array' =>
array (
'first' => 'Fatal error triggered',
'second' => 'Fatal error triggered',
),
),
'str_ends_with' =>
array (
'string' =>
array (
'first' => true,
'second' => true,
),
'int' =>
array (
'first' => false,
'second' => false,
),
'float' =>
array (
'first' => false,
'second' => false,
),
'null' =>
array (
'first' => false,
'second' => true,
),
'true' =>
array (
'first' => false,
'second' => false,
),
'false' =>
array (
'first' => false,
'second' => true,
),
'object' =>
array (
'first' => 'Fatal error triggered',
'second' => 'Fatal error triggered',
),
'array' =>
array (
'first' => 'Fatal error triggered',
'second' => 'Fatal error triggered',
),
),
)
- Output for 8.3.5
- Warning: PHP Startup: Unable to load dynamic library 'sodium.so' (tried: /usr/lib/php/8.3.5/modules/sodium.so (libsodium.so.23: cannot open shared object file: No such file or directory), /usr/lib/php/8.3.5/modules/sodium.so.so (/usr/lib/php/8.3.5/modules/sodium.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
Deprecated: str_contains(): Passing null to parameter #1 ($haystack) of type string is deprecated in /in/m8OIn on line 53
Deprecated: str_contains(): Passing null to parameter #2 ($needle) of type string is deprecated in /in/m8OIn on line 53
Deprecated: str_starts_with(): Passing null to parameter #1 ($haystack) of type string is deprecated in /in/m8OIn on line 53
Deprecated: str_starts_with(): Passing null to parameter #2 ($needle) of type string is deprecated in /in/m8OIn on line 53
Deprecated: str_ends_with(): Passing null to parameter #1 ($haystack) of type string is deprecated in /in/m8OIn on line 53
Deprecated: str_ends_with(): Passing null to parameter #2 ($needle) of type string is deprecated in /in/m8OIn on line 53
array (
'str_contains' =>
array (
'string' =>
array (
'first' => true,
'second' => true,
),
'int' =>
array (
'first' => false,
'second' => false,
),
'float' =>
array (
'first' => false,
'second' => false,
),
'null' =>
array (
'first' => false,
'second' => true,
),
'true' =>
array (
'first' => false,
'second' => false,
),
'false' =>
array (
'first' => false,
'second' => true,
),
'object' =>
array (
'first' => 'Fatal error triggered',
'second' => 'Fatal error triggered',
),
'array' =>
array (
'first' => 'Fatal error triggered',
'second' => 'Fatal error triggered',
),
),
'str_starts_with' =>
array (
'string' =>
array (
'first' => true,
'second' => true,
),
'int' =>
array (
'first' => false,
'second' => false,
),
'float' =>
array (
'first' => false,
'second' => false,
),
'null' =>
array (
'first' => false,
'second' => true,
),
'true' =>
array (
'first' => false,
'second' => false,
),
'false' =>
array (
'first' => false,
'second' => true,
),
'object' =>
array (
'first' => 'Fatal error triggered',
'second' => 'Fatal error triggered',
),
'array' =>
array (
'first' => 'Fatal error triggered',
'second' => 'Fatal error triggered',
),
),
'str_ends_with' =>
array (
'string' =>
array (
'first' => true,
'second' => true,
),
'int' =>
array (
'first' => false,
'second' => false,
),
'float' =>
array (
'first' => false,
'second' => false,
),
'null' =>
array (
'first' => false,
'second' => true,
),
'true' =>
array (
'first' => false,
'second' => false,
),
'false' =>
array (
'first' => false,
'second' => true,
),
'object' =>
array (
'first' => 'Fatal error triggered',
'second' => 'Fatal error triggered',
),
'array' =>
array (
'first' => 'Fatal error triggered',
'second' => 'Fatal error triggered',
),
),
)
- Output for 8.0.0 - 8.0.30
- array (
'str_contains' =>
array (
'string' =>
array (
'first' => true,
'second' => true,
),
'int' =>
array (
'first' => false,
'second' => false,
),
'float' =>
array (
'first' => false,
'second' => false,
),
'null' =>
array (
'first' => false,
'second' => true,
),
'true' =>
array (
'first' => false,
'second' => false,
),
'false' =>
array (
'first' => false,
'second' => true,
),
'object' =>
array (
'first' => 'Fatal error triggered',
'second' => 'Fatal error triggered',
),
'array' =>
array (
'first' => 'Fatal error triggered',
'second' => 'Fatal error triggered',
),
),
'str_starts_with' =>
array (
'string' =>
array (
'first' => true,
'second' => true,
),
'int' =>
array (
'first' => false,
'second' => false,
),
'float' =>
array (
'first' => false,
'second' => false,
),
'null' =>
array (
'first' => false,
'second' => true,
),
'true' =>
array (
'first' => false,
'second' => false,
),
'false' =>
array (
'first' => false,
'second' => true,
),
'object' =>
array (
'first' => 'Fatal error triggered',
'second' => 'Fatal error triggered',
),
'array' =>
array (
'first' => 'Fatal error triggered',
'second' => 'Fatal error triggered',
),
),
'str_ends_with' =>
array (
'string' =>
array (
'first' => true,
'second' => true,
),
'int' =>
array (
'first' => false,
'second' => false,
),
'float' =>
array (
'first' => false,
'second' => false,
),
'null' =>
array (
'first' => false,
'second' => true,
),
'true' =>
array (
'first' => false,
'second' => false,
),
'false' =>
array (
'first' => false,
'second' => true,
),
'object' =>
array (
'first' => 'Fatal error triggered',
'second' => 'Fatal error triggered',
),
'array' =>
array (
'first' => 'Fatal error triggered',
'second' => 'Fatal error triggered',
),
),
)
- Output for 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33
- array (
'str_contains' =>
array (
'string' =>
array (
'first' => true,
'second' => true,
),
'int' =>
array (
'first' => false,
'second' => false,
),
'float' =>
array (
'first' => false,
'second' => false,
),
'null' =>
array (
'first' => 'Fatal error triggered',
'second' => 'Fatal error triggered',
),
'true' =>
array (
'first' => false,
'second' => false,
),
'false' =>
array (
'first' => false,
'second' => true,
),
'object' =>
array (
'first' => 'Fatal error triggered',
'second' => 'Fatal error triggered',
),
'array' =>
array (
'first' => 'Fatal error triggered',
'second' => 'Fatal error triggered',
),
),
'str_starts_with' =>
array (
'string' =>
array (
'first' => true,
'second' => true,
),
'int' =>
array (
'first' => false,
'second' => false,
),
'float' =>
array (
'first' => false,
'second' => false,
),
'null' =>
array (
'first' => 'Fatal error triggered',
'second' => 'Fatal error triggered',
),
'true' =>
array (
'first' => false,
'second' => false,
),
'false' =>
array (
'first' => false,
'second' => true,
),
'object' =>
array (
'first' => 'Fatal error triggered',
'second' => 'Fatal error triggered',
),
'array' =>
array (
'first' => 'Fatal error triggered',
'second' => 'Fatal error triggered',
),
),
'str_ends_with' =>
array (
'string' =>
array (
'first' => true,
'second' => true,
),
'int' =>
array (
'first' => false,
'second' => false,
),
'float' =>
array (
'first' => false,
'second' => false,
),
'null' =>
array (
'first' => 'Fatal error triggered',
'second' => 'Fatal error triggered',
),
'true' =>
array (
'first' => false,
'second' => false,
),
'false' =>
array (
'first' => false,
'second' => true,
),
'object' =>
array (
'first' => 'Fatal error triggered',
'second' => 'Fatal error triggered',
),
'array' =>
array (
'first' => 'Fatal error triggered',
'second' => 'Fatal error triggered',
),
),
)
preferences:
157.8 ms | 410 KiB | 182 Q