Chunks of the library are wildly inconsistent from one another.
Underscore versus not: strpos/str_rot13, php_uname/phpversion, base64_encode/urlencode, gettype/get_class
“to” versus 2: ascii2ebcdic, bin2hex, deg2rad, strtolower, strtotime
Object+verb versus verb+object: base64_decode, str_shuffle, var_dump versus create_function, recode_string
Argument order: array_filter($input, $callback) versus array_map($callback, $input), strpos($haystack, $needle) versus array_search($needle, $haystack)
Prefix confusion: usleep versus microtime
Case insensitive functions vary on where the i goes in the name.
About half the array functions actually start with array_. The others do not.
htmlentities and html_entity_decode are inverses of each other, with completely different naming conventions.
https://eev.ee/blog/2012/04/09/php-a-fractal-of-bad-design/