Allow NULL

A questionnaire on how to implement the Allow NULL RFC.

Results from cebe (back)

open source maintainer, have no voting rights

How should PHP 9 work?
  1. NULL triggers a Fatal Error with strict_types=1, otherwise use coercion (like how integers can be coerced to a string).

Which of the following parameters should continue to Accept NULL, or should NULL trigger a Fatal Error?

Encoding/Decoding

urlencode(string:string) Accept NULL
urldecode(string:string) Fatal Error
rawurlencode(string:string) Accept NULL
rawurldecode(string:string) Fatal Error
base64_encode(string:string) Accept NULL
base64_decode(string:string, strict:bool) Fatal Error
utf8_encode(string:string) Accept NULL
utf8_decode(string:string) Accept NULL
bin2hex(string:string) Fatal Error
hex2bin(string:string) Fatal Error
bindec(binary_string:string) Fatal Error
hexdec(hex_string:string) Fatal Error
octdec(octal_string:string) Fatal Error
base_convert(num:string, from_base:int, to_base:int) Fatal Error
htmlspecialchars(string:string, flags:int, encoding:string, double_encode:bool) Accept NULL
htmlspecialchars_decode(string:string, flags:int) Accept NULL
html_entity_decode(string:string, flags:int, encoding:string) Accept NULL
htmlentities(string:string, flags:int, encoding:string, double_encode:bool) Accept NULL
addslashes(string:string) Accept NULL
addcslashes(string:string, characters:string) Accept NULL
stripslashes(string:string) Accept NULL
stripcslashes(string:string) Accept NULL
quotemeta(string:string) Accept NULL
quoted_printable_decode(string:string) Accept NULL
quoted_printable_encode(string:string) Accept NULL
escapeshellarg(arg:string) Accept NULL
curl_escape(handle:CurlHandle, string:string) Accept NULL
curl_unescape(handle:CurlHandle, string:string) Accept NULL
convert_uuencode(string:string) Accept NULL
zlib_encode(data:string, encoding:int, level:int) Accept NULL
gzdeflate(data:string, level:int, encoding:int) Don't Mind
gzencode(data:string, level:int, encoding:int) Don't Mind
gzcompress(data:string, level:int, encoding:int) Don't Mind
gzwrite(_stream:?_, data:string, length:int) Accept NULL
gzputs(_stream:?_, data:string, length:int) Accept NULL
deflate_add(context:DeflateContext, data:string, flush_mode:int) Don't Mind
inflate_add(context:InflateContext, data:string, flush_mode:int) Don't Mind
unpack(format:string, string:string, offset:int) Fatal Error
iconv_mime_encode(field_name:string, field_value:string, options:array) Accept NULL
iconv_mime_decode(string:string, mode:int, encoding:string) Accept NULL
iconv(from_encoding:string, to_encoding:string, string:string) Accept NULL
iconv(from_encoding:string, to_encoding:string, string:string) Accept NULL
iconv(from_encoding:string, to_encoding:string, string:string) Accept NULL
sodium_bin2hex(string:string) Fatal Error
sodium_hex2bin(string:string, ignore:string) Fatal Error
sodium_hex2bin(string:string, ignore:string) Fatal Error
sodium_bin2base64(string:string, id:int) Fatal Error
sodium_base642bin(string:string, id:int, ignore:string) Fatal Error
sodium_base642bin(string:string, id:int, ignore:string) Fatal Error
mb_convert_encoding(string:array|string, to_encoding:string, from_encoding:array|string|null) Accept NULL
mb_detect_encoding(string:string, encodings:array|string|null, strict:bool) Accept NULL
mb_encode_mimeheader(string:string, charset:string, transfer_encoding:string, newline:string, indent:int) Accept NULL
mb_decode_mimeheader(string:string) Accept NULL
mb_encode_numericentity(string:string, map:array, encoding:string, hex:bool) Don't Mind
mb_decode_numericentity(string:string, map:array, encoding:string) Don't Mind
transliterator_transliterate(transliterator:Transliterator|string, string:string, start:int, end:int) Accept NULL
mysqli_real_escape_string(mysql:mysqli, string:string) Fatal Error
mysqli_escape_string(mysql:mysqli, string:string) Fatal Error
pg_escape_string(_connection:?_, string:string) Fatal Error
pg_escape_bytea(_connection:?_, string:string) Fatal Error
pg_unescape_bytea(string:string) Fatal Error
pg_escape_literal(_connection:?_, string:string) Fatal Error
pg_copy_to(connection:PgSql\Connection, table_name:string, separator:string, null_as:string) Fatal Error
pg_copy_from(connection:PgSql\Connection, table_name:string, rows:array, separator:string, null_as:string) Fatal Error

String Modification

strtoupper(string:string) Accept NULL
strtolower(string:string) Accept NULL
ucfirst(string:string) Accept NULL
lcfirst(string:string) Accept NULL
ucwords(string:string, separators:string) Accept NULL
trim(string:string, characters:string) Accept NULL
ltrim(string:string, characters:string) Accept NULL
rtrim(string:string, characters:string) Accept NULL
chop(string:string, characters:string) Accept NULL
str_rot13(string:string) Accept NULL
str_shuffle(string:string) Accept NULL
substr(string:string, offset:int, length:int) Accept NULL
substr_replace(string:array|string, replace:array|string, offset:array|int, length:array|int|null) Accept NULL
substr_replace(string:array|string, replace:array|string, offset:array|int, length:array|int|null) Accept NULL
substr_count(haystack:string, needle:string, offset:int, length:int) Accept NULL
explode(separator:string, string:string, limit:int) Accept NULL
strcoll(string1:string, string2:string) Accept NULL
strcoll(string1:string, string2:string) Accept NULL
str_split(string:string, length:int) Accept NULL
chunk_split(string:string, length:int, separator:string) Accept NULL
wordwrap(string:string, width:int, break:string, cut_long_words:bool) Accept NULL
strtr(string:string, from:array|string, to:string) Accept NULL
strrev(string:string) Accept NULL
str_replace(search:array|string, replace:array|string, subject:array|string, _count:?_) Accept NULL
str_replace(search:array|string, replace:array|string, subject:array|string, _count:?_) Accept NULL
str_replace(search:array|string, replace:array|string, subject:array|string, _count:?_) Accept NULL
str_ireplace(search:array|string, replace:array|string, subject:array|string, _count:?_) Accept NULL
str_ireplace(search:array|string, replace:array|string, subject:array|string, _count:?_) Accept NULL
str_ireplace(search:array|string, replace:array|string, subject:array|string, _count:?_) Accept NULL
str_repeat(string:string, times:int) Fatal Error doesn't this fail on emtpy input anyway?
str_pad(string:string, length:int, pad_string:string, pad_type:int) Accept NULL
nl2br(string:string, use_xhtml:bool) Accept NULL
strip_tags(string:string, allowed_tags:array|string|null) Accept NULL
hebrev(string:string, max_chars_per_line:int) Don't Mind
iconv_substr(string:string, offset:int, length:int, encoding:string) Accept NULL
mb_strtoupper(string:string, encoding:string) Accept NULL
mb_strtolower(string:string, encoding:string) Accept NULL
mb_convert_case(string:string, mode:int, encoding:string) Accept NULL
mb_convert_kana(string:string, mode:string, encoding:string) Accept NULL
mb_convert_kana(string:string, mode:string, encoding:string) Don't Mind
mb_scrub(string:string, encoding:string) Accept NULL
mb_substr(string:string, start:int, length:int, encoding:string) Accept NULL
mb_substr_count(haystack:string, needle:string, encoding:string) Accept NULL
mb_str_split(string:string, length:int, encoding:string) Accept NULL
mb_split(pattern:string, string:string, limit:int) Accept NULL
sodium_pad(string:string, block_size:int) Fatal Error
grapheme_substr(string:string, offset:int, length:int) Accept NULL
grapheme_extract(haystack:string, size:int, type:int, offset:int, _next:?_) Accept NULL

String Position

strpos(haystack:string, needle:string, offset:int) Accept NULL
strrpos(haystack:string, needle:string, offset:int) Accept NULL
stripos(haystack:string, needle:string, offset:int) Accept NULL
strripos(haystack:string, needle:string, offset:int) Accept NULL
iconv_strpos(haystack:string, needle:string, offset:int, encoding:string) Accept NULL
iconv_strrpos(haystack:string, needle:string, encoding:string) Accept NULL
mb_strpos(haystack:string, needle:string, offset:int, encoding:string) Accept NULL
mb_strrpos(haystack:string, needle:string, offset:int, encoding:string) Accept NULL
mb_stripos(haystack:string, needle:string, offset:int, encoding:string) Accept NULL
mb_strripos(haystack:string, needle:string, offset:int, encoding:string) Accept NULL
grapheme_strpos(haystack:string, needle:string, offset:int) Accept NULL
grapheme_strrpos(haystack:string, needle:string, offset:int) Accept NULL
grapheme_stripos(haystack:string, needle:string, offset:int) Accept NULL
grapheme_strripos(haystack:string, needle:string, offset:int) Accept NULL

String Comparison

strcmp(string1:string, string2:string) Accept NULL
strcmp(string1:string, string2:string) Accept NULL
strncmp(string1:string, string2:string, length:int) Accept NULL
strncmp(string1:string, string2:string, length:int) Accept NULL
strcasecmp(string1:string, string2:string) Accept NULL
strcasecmp(string1:string, string2:string) Accept NULL
strncasecmp(string1:string, string2:string, length:int) Accept NULL
strncasecmp(string1:string, string2:string, length:int) Accept NULL
strnatcmp(string1:string, string2:string) Accept NULL
strnatcmp(string1:string, string2:string) Accept NULL
strnatcasecmp(string1:string, string2:string) Accept NULL
strnatcasecmp(string1:string, string2:string) Accept NULL
substr_compare(haystack:string, needle:string, offset:int, length:int, case_insensitive:bool) Accept NULL
str_contains(haystack:string, needle:string) Accept NULL
str_starts_with(haystack:string, needle:string) Accept NULL
str_ends_with(haystack:string, needle:string) Accept NULL
collator_compare(object:Collator, string1:string, string2:string) Accept NULL
collator_compare(object:Collator, string1:string, string2:string) Accept NULL
collator_get_sort_key(object:Collator, string:string) Accept NULL
metaphone(string:string, max_phonemes:int) Accept NULL
soundex(string:string) Accept NULL
levenshtein(string1:string, string2:string, insertion_cost:int, replacement_cost:int, deletion_cost:int) Accept NULL
levenshtein(string1:string, string2:string, insertion_cost:int, replacement_cost:int, deletion_cost:int) Accept NULL
similar_text(string1:string, string2:string, _percent:?_) Accept NULL
similar_text(string1:string, string2:string, _percent:?_) Accept NULL
sodium_compare(string1:string, string2:string) Fatal Error
sodium_compare(string1:string, string2:string) Fatal Error
sodium_memcmp(string1:string, string2:string) Fatal Error
sodium_memcmp(string1:string, string2:string) Fatal Error

String Details

strlen(string:string) Accept NULL
strstr(haystack:string, needle:string, before_needle:bool) Accept NULL
strchr(haystack:string, needle:string, before_needle:bool) Accept NULL
stristr(haystack:string, needle:string, before_needle:bool) Accept NULL
strrchr(haystack:string, needle:string) Accept NULL
strpbrk(string:string, characters:string) Accept NULL
strspn(string:string, characters:string, offset:int, length:int) Accept NULL
strcspn(string:string, characters:string, offset:int, length:int) Accept NULL
strtok(string:string, token:string) Accept NULL
str_word_count(string:string, format:int, characters:string) Accept NULL
count_chars(string:string, mode:int) Accept NULL
iconv_strlen(string:string, encoding:string) Accept NULL
mb_strlen(string:string, encoding:string) Accept NULL
mb_strstr(haystack:string, needle:string, before_needle:bool, encoding:string) Accept NULL
mb_strrchr(haystack:string, needle:string, before_needle:bool, encoding:string) Accept NULL
mb_stristr(haystack:string, needle:string, before_needle:bool, encoding:string) Accept NULL
mb_strrichr(haystack:string, needle:string, before_needle:bool, encoding:string) Accept NULL
mb_strcut(string:string, start:int, length:int, encoding:string) Accept NULL
mb_strwidth(string:string, encoding:string) Accept NULL
mb_strimwidth(string:string, start:int, width:int, trim_marker:string, encoding:string) Accept NULL
mb_strimwidth(string:string, start:int, width:int, trim_marker:string, encoding:string) Accept NULL
grapheme_strlen(string:string) Accept NULL
grapheme_strstr(haystack:string, needle:string, beforeNeedle:bool) Accept NULL
grapheme_stristr(haystack:string, needle:string, beforeNeedle:bool) Accept NULL

RegEx

preg_match(pattern:string, subject:string, _matches:?_, flags:int, offset:int) Accept NULL
preg_match_all(pattern:string, subject:string, _matches:?_, flags:int, offset:int) Accept NULL
preg_replace(pattern:array|string, replacement:array|string, subject:array|string, limit:int, _count:?_) Accept NULL
preg_replace(pattern:array|string, replacement:array|string, subject:array|string, limit:int, _count:?_) Accept NULL
preg_filter(pattern:array|string, replacement:array|string, subject:array|string, limit:int, _count:?_) Accept NULL
preg_filter(pattern:array|string, replacement:array|string, subject:array|string, limit:int, _count:?_) Accept NULL
preg_replace_callback(pattern:array|string, callback:callable, subject:array|string, limit:int, _count:?_, flags:int) Accept NULL
preg_replace_callback_array(pattern:array, subject:array|string, limit:int, _count:?_, flags:int) Accept NULL
preg_split(pattern:string, subject:string, limit:int, flags:int) Accept NULL
preg_quote(str:string, delimiter:string) Accept NULL
mb_ereg(pattern:string, string:string, _matches:?_) Accept NULL
mb_eregi(pattern:string, string:string, _matches:?_) Accept NULL
mb_ereg_replace(pattern:string, replacement:string, string:string, options:string) Accept NULL
mb_ereg_replace(pattern:string, replacement:string, string:string, options:string) Accept NULL
mb_eregi_replace(pattern:string, replacement:string, string:string, options:string) Accept NULL
mb_eregi_replace(pattern:string, replacement:string, string:string, options:string) Accept NULL
mb_ereg_replace_callback(pattern:string, callback:callable, string:string, options:string) Accept NULL
mb_ereg_match(pattern:string, string:string, options:string) Accept NULL
mb_ereg_search_init(string:string, pattern:string, options:string) Accept NULL

Normalising

normalizer_normalize(string:string, form:int) Accept NULL
normalizer_is_normalized(string:string, form:int) Fatal Error
normalizer_get_raw_decomposition(string:string, form:int) Accept NULL

Hashing

hash(algo:string, data:string, binary:bool, options:array) Fatal Error
hash_hmac(algo:string, data:string, key:string, binary:bool) Fatal Error
hash_update(context:HashContext, data:string) Fatal Error
hash_pbkdf2(algo:string, password:string, salt:string, iterations:int, length:int, binary:bool) Fatal Error
crc32(string:string) Fatal Error
md5(string:string, binary:bool) Fatal Error
sha1(string:string, binary:bool) Fatal Error
crypt(string:string, salt:string) Fatal Error

Files

basename(path:string, suffix:string) Accept NULL
dirname(path:string, levels:int) Accept NULL
pathinfo(path:string, flags:int) Accept NULL
fwrite(_stream:?_, data:string, length:int) Accept NULL
fputs(_stream:?_, data:string, length:int) Accept NULL

Output

setcookie(name:string, value:string, expires_or_options:array|int, path:string, domain:string, secure:bool, httponly:bool) Accept NULL
setcookie(name:string, value:string, expires_or_options:array|int, path:string, domain:string, secure:bool, httponly:bool) Accept NULL
setcookie(name:string, value:string, expires_or_options:array|int, path:string, domain:string, secure:bool, httponly:bool) Accept NULL
setrawcookie(name:string, value:string, expires_or_options:array|int, path:string, domain:string, secure:bool, httponly:bool) Accept NULL
setrawcookie(name:string, value:string, expires_or_options:array|int, path:string, domain:string, secure:bool, httponly:bool) Accept NULL
setrawcookie(name:string, value:string, expires_or_options:array|int, path:string, domain:string, secure:bool, httponly:bool) Accept NULL
output_add_rewrite_var(name:string, value:string) Accept NULL

Parsing

parse_url(url:string, component:int) Accept NULL
parse_str(string:string, _result:?_) Accept NULL
mb_parse_str(string:string, _result:?_) Accept NULL
numfmt_parse(formatter:NumberFormatter, string:string, type:int, _offset:?_) Accept NULL
parse_ini_string(ini_string:string, process_sections:bool, scanner_mode:int) Accept NULL
sscanf(string:string, format:string, vars:mixed) Accept NULL
locale_accept_from_http(header:string) Accept NULL
msgfmt_parse(formatter:MessageFormatter, string:string) Accept NULL
msgfmt_parse_message(locale:string, pattern:string, message:string) Accept NULL

CSV

str_getcsv(string:string, separator:string, enclosure:string, escape:string) Accept NULL
str_getcsv(string:string, separator:string, enclosure:string, escape:string) Accept NULL
str_getcsv(string:string, separator:string, enclosure:string, escape:string) Accept NULL
fputcsv(_stream:?_, fields:array, separator:string, enclosure:string, escape:string, eol:string) Accept NULL
fgetcsv(_stream:?_, length:int, separator:string, enclosure:string, escape:string) Accept NULL

Images

imagechar(image:GdImage, font:GdFont|int, x:int, y:int, char:string, color:int) Accept NULL
imagecharup(image:GdImage, font:GdFont|int, x:int, y:int, char:string, color:int) Accept NULL
imagestring(image:GdImage, font:GdFont|int, x:int, y:int, string:string, color:int) Accept NULL
imagestringup(image:GdImage, font:GdFont|int, x:int, y:int, string:string, color:int) Accept NULL
imageftbbox(size:float, angle:float, font_filename:string, string:string, options:array) Accept NULL
imagefttext(image:GdImage, size:float, angle:float, x:int, y:int, color:int, font_filename:string, text:string, options:array) Accept NULL
imagettfbbox(size:float, angle:float, font_filename:string, string:string, options:array) Accept NULL
imagettftext(image:GdImage, size:float, angle:float, x:int, y:int, color:int, font_filename:string, text:string, options:array) Accept NULL

Passwords

password_hash(password:string, algo:string|int|null, options:array) Fatal Error
password_verify(password:string, hash:string) Fatal Error

BC Math

bcadd(num1:string, num2:string, scale:int) Fatal Error
bcadd(num1:string, num2:string, scale:int) Fatal Error
bcsub(num1:string, num2:string, scale:int) Fatal Error
bcsub(num1:string, num2:string, scale:int) Fatal Error
bcmul(num1:string, num2:string, scale:int) Fatal Error
bcmul(num1:string, num2:string, scale:int) Fatal Error
bcdiv(num1:string, num2:string, scale:int) Fatal Error
bcmod(num1:string, num2:string, scale:int) Fatal Error
bcpow(num:string, exponent:string, scale:int) Fatal Error
bcpow(num:string, exponent:string, scale:int) Fatal Error
bcpowmod(num:string, exponent:string, modulus:string, scale:int) Fatal Error
bcpowmod(num:string, exponent:string, modulus:string, scale:int) Fatal Error
bcsqrt(num:string, scale:int) Fatal Error
bccomp(num1:string, num2:string, scale:int) Fatal Error
bccomp(num1:string, num2:string, scale:int) Fatal Error

XML

simplexml_load_string(data:string, class_name:string, options:int, namespace_or_prefix:string, is_prefix:bool) Fatal Error
simplexml_load_string(data:string, class_name:string, options:int, namespace_or_prefix:string, is_prefix:bool) Accept NULL
xml_parser_create_ns(encoding:string, separator:string) Don't Mind
xml_parse(parser:XMLParser, data:string, is_final:bool) Fatal Error
xml_parse_into_struct(parser:XMLParser, data:string, _values:?_, _index:?_) Fatal Error
xmlwriter_set_indent_string(writer:XMLWriter, indentation:string) Accept NULL
xmlwriter_write_attribute(writer:XMLWriter, name:string, value:string) Accept NULL
xmlwriter_write_attribute_ns(writer:XMLWriter, prefix:string, name:string, namespace:string, value:string) Accept NULL
xmlwriter_write_pi(writer:XMLWriter, target:string, content:string) Don't Mind
xmlwriter_write_cdata(writer:XMLWriter, content:string) Don't Mind
xmlwriter_text(writer:XMLWriter, content:string) Don't Mind
xmlwriter_write_raw(writer:XMLWriter, content:string) Don't Mind
xmlwriter_write_comment(writer:XMLWriter, content:string) Don't Mind
xmlwriter_write_dtd(writer:XMLWriter, name:string, publicId:string, systemId:string, content:string) Don't Mind
xmlwriter_write_dtd_element(writer:XMLWriter, name:string, content:string) Don't Mind
xmlwriter_write_dtd_attlist(writer:XMLWriter, name:string, content:string) Don't Mind
xmlwriter_write_dtd_entity(writer:XMLWriter, name:string, content:string, isParam:bool, publicId:string, systemId:string, notationData:string) Don't Mind

PSpell

pspell_new(language:string, spelling:string, jargon:string, encoding:string, mode:int) Don't Mind
pspell_new(language:string, spelling:string, jargon:string, encoding:string, mode:int) Don't Mind
pspell_new(language:string, spelling:string, jargon:string, encoding:string, mode:int) Don't Mind
pspell_new_personal(filename:string, language:string, spelling:string, jargon:string, encoding:string, mode:int) Don't Mind
pspell_new_personal(filename:string, language:string, spelling:string, jargon:string, encoding:string, mode:int) Don't Mind
pspell_new_personal(filename:string, language:string, spelling:string, jargon:string, encoding:string, mode:int) Don't Mind
pspell_check(dictionary:PSpell\Dictionary, word:string) Don't Mind
pspell_suggest(dictionary:PSpell\Dictionary, word:string) Don't Mind
pspell_store_replacement(dictionary:PSpell\Dictionary, misspelled:string, correct:string) Don't Mind
pspell_add_to_personal(dictionary:PSpell\Dictionary, word:string) Don't Mind
pspell_add_to_session(dictionary:PSpell\Dictionary, word:string) Don't Mind
pspell_config_create(language:string, spelling:string, jargon:string, encoding:string) Don't Mind
pspell_config_create(language:string, spelling:string, jargon:string, encoding:string) Don't Mind
pspell_config_create(language:string, spelling:string, jargon:string, encoding:string) Don't Mind
pspell_config_create(language:string, spelling:string, jargon:string, encoding:string) Don't Mind

Sodium

sodium_crypto_aead_aes256gcm_encrypt(message:string, additional_data:string, nonce:string, key:string) Don't Mind
sodium_crypto_aead_aes256gcm_encrypt(message:string, additional_data:string, nonce:string, key:string) Don't Mind
sodium_crypto_aead_aes256gcm_decrypt(ciphertext:string, additional_data:string, nonce:string, key:string) Don't Mind
sodium_crypto_aead_chacha20poly1305_encrypt(message:string, additional_data:string, nonce:string, key:string) Don't Mind
sodium_crypto_aead_chacha20poly1305_encrypt(message:string, additional_data:string, nonce:string, key:string) Don't Mind
sodium_crypto_aead_chacha20poly1305_decrypt(ciphertext:string, additional_data:string, nonce:string, key:string) Don't Mind
sodium_crypto_aead_chacha20poly1305_ietf_encrypt(message:string, additional_data:string, nonce:string, key:string) Don't Mind
sodium_crypto_aead_chacha20poly1305_ietf_encrypt(message:string, additional_data:string, nonce:string, key:string) Don't Mind
sodium_crypto_aead_chacha20poly1305_ietf_decrypt(ciphertext:string, additional_data:string, nonce:string, key:string) Don't Mind
sodium_crypto_aead_xchacha20poly1305_ietf_encrypt(message:string, additional_data:string, nonce:string, key:string) Don't Mind
sodium_crypto_aead_xchacha20poly1305_ietf_encrypt(message:string, additional_data:string, nonce:string, key:string) Don't Mind
sodium_crypto_aead_xchacha20poly1305_ietf_decrypt(ciphertext:string, additional_data:string, nonce:string, key:string) Don't Mind
sodium_crypto_auth(message:string, key:string) Don't Mind
sodium_crypto_auth_verify(mac:string, message:string, key:string) Don't Mind
sodium_crypto_box(message:string, nonce:string, key_pair:string) Don't Mind
sodium_crypto_box_seal(message:string, public_key:string) Don't Mind
sodium_crypto_generichash(message:string, key:string, length:int) Don't Mind
sodium_crypto_generichash(message:string, key:string, length:int) Don't Mind
sodium_crypto_generichash_update(state:string, message:string) Don't Mind
sodium_crypto_secretbox(message:string, nonce:string, key:string) Don't Mind
sodium_crypto_secretstream_xchacha20poly1305_push(state:string, message:string, additional_data:string, tag:int) Don't Mind
sodium_crypto_secretstream_xchacha20poly1305_push(state:string, message:string, additional_data:string, tag:int) Don't Mind
sodium_crypto_secretstream_xchacha20poly1305_pull(state:string, ciphertext:string, additional_data:string) Don't Mind
sodium_crypto_shorthash(message:string, key:string) Don't Mind
sodium_crypto_sign(message:string, secret_key:string) Don't Mind
sodium_crypto_sign_detached(message:string, secret_key:string) Don't Mind
sodium_crypto_sign_open(signed_message:string, public_key:string) Don't Mind
sodium_crypto_sign_verify_detached(signature:string, message:string, public_key:string) Don't Mind
sodium_crypto_stream_xor(message:string, nonce:string, key:string) Don't Mind
sodium_crypto_stream_xchacha20_xor(message:string, nonce:string, key:string) Don't Mind

Stream

stream_socket_sendto(_socket:?_, data:string, flags:int, address:string) Don't Mind
stream_socket_sendto(_socket:?_, data:string, flags:int, address:string) Don't Mind
stream_get_line(_stream:?_, length:int, ending:string) Don't Mind

Socket

socket_write(socket:Socket, data:string, length:int) Don't Mind
socket_send(socket:Socket, data:string, length:int, flags:int) Don't Mind
socket_sendto(socket:Socket, data:string, length:int, flags:int, address:string, port:int) Don't Mind

E-Mail

mail(to:string, subject:string, message:string, additional_headers:array|string, additional_params:string) Don't Mind
mail(to:string, subject:string, message:string, additional_headers:array|string, additional_params:string) Don't Mind
mail(to:string, subject:string, message:string, additional_headers:array|string, additional_params:string) Don't Mind
mail(to:string, subject:string, message:string, additional_headers:array|string, additional_params:string) Don't Mind
mb_send_mail(to:string, subject:string, message:string, additional_headers:array|string, additional_params:string) Don't Mind
mb_send_mail(to:string, subject:string, message:string, additional_headers:array|string, additional_params:string) Don't Mind
mb_send_mail(to:string, subject:string, message:string, additional_headers:array|string, additional_params:string) Don't Mind