1<?php
2
3/** @generate-class-entries */
4
5/* array.c */
6
7/**
8 * @var int
9 * @cvalue PHP_EXTR_OVERWRITE
10 */
11const EXTR_OVERWRITE = UNKNOWN;
12/**
13 * @var int
14 * @cvalue PHP_EXTR_SKIP
15 */
16const EXTR_SKIP = UNKNOWN;
17/**
18 * @var int
19 * @cvalue PHP_EXTR_PREFIX_SAME
20 */
21const EXTR_PREFIX_SAME = UNKNOWN;
22/**
23 * @var int
24 * @cvalue PHP_EXTR_PREFIX_ALL
25 */
26const EXTR_PREFIX_ALL = UNKNOWN;
27/**
28 * @var int
29 * @cvalue PHP_EXTR_PREFIX_INVALID
30 */
31const EXTR_PREFIX_INVALID = UNKNOWN;
32/**
33 * @var int
34 * @cvalue PHP_EXTR_PREFIX_IF_EXISTS
35 */
36const EXTR_PREFIX_IF_EXISTS = UNKNOWN;
37/**
38 * @var int
39 * @cvalue PHP_EXTR_IF_EXISTS
40 */
41const EXTR_IF_EXISTS = UNKNOWN;
42/**
43 * @var int
44 * @cvalue PHP_EXTR_REFS
45 */
46const EXTR_REFS = UNKNOWN;
47
48/**
49 * @var int
50 * @cvalue PHP_SORT_ASC
51 */
52const SORT_ASC = UNKNOWN;
53/**
54 * @var int
55 * @cvalue PHP_SORT_DESC
56 */
57const SORT_DESC = UNKNOWN;
58
59/**
60 * @var int
61 * @cvalue PHP_SORT_REGULAR
62 */
63const SORT_REGULAR = UNKNOWN;
64/**
65 * @var int
66 * @cvalue PHP_SORT_NUMERIC
67 */
68const SORT_NUMERIC = UNKNOWN;
69/**
70 * @var int
71 * @cvalue PHP_SORT_STRING
72 */
73const SORT_STRING = UNKNOWN;
74/**
75 * @var int
76 * @cvalue PHP_SORT_LOCALE_STRING
77 */
78const SORT_LOCALE_STRING = UNKNOWN;
79/**
80 * @var int
81 * @cvalue PHP_SORT_NATURAL
82 */
83const SORT_NATURAL = UNKNOWN;
84/**
85 * @var int
86 * @cvalue PHP_SORT_FLAG_CASE
87 */
88const SORT_FLAG_CASE = UNKNOWN;
89
90/**
91 * @var int
92 * @cvalue PHP_CASE_LOWER
93 */
94const CASE_LOWER = UNKNOWN;
95/**
96 * @var int
97 * @cvalue PHP_CASE_UPPER
98 */
99const CASE_UPPER = UNKNOWN;
100
101/**
102 * @var int
103 * @cvalue PHP_COUNT_NORMAL
104 */
105const COUNT_NORMAL = UNKNOWN;
106/**
107 * @var int
108 * @cvalue PHP_COUNT_RECURSIVE
109 */
110const COUNT_RECURSIVE = UNKNOWN;
111
112/**
113 * @var int
114 * @cvalue ARRAY_FILTER_USE_BOTH
115 */
116const ARRAY_FILTER_USE_BOTH = UNKNOWN;
117/**
118 * @var int
119 * @cvalue ARRAY_FILTER_USE_KEY
120 */
121const ARRAY_FILTER_USE_KEY = UNKNOWN;
122
123/* assert.c */
124
125/**
126 * @var int
127 * @deprecated
128 * @cvalue PHP_ASSERT_ACTIVE
129 */
130const ASSERT_ACTIVE = UNKNOWN;
131/**
132 * @var int
133 * @deprecated
134 * @cvalue PHP_ASSERT_CALLBACK
135 */
136const ASSERT_CALLBACK = UNKNOWN;
137/**
138 * @var int
139 * @deprecated
140 * @cvalue PHP_ASSERT_BAIL
141 */
142const ASSERT_BAIL = UNKNOWN;
143/**
144 * @var int
145 * @deprecated
146 * @cvalue PHP_ASSERT_WARNING
147 */
148const ASSERT_WARNING = UNKNOWN;
149/**
150 * @var int
151 * @deprecated
152 * @cvalue PHP_ASSERT_EXCEPTION
153 */
154const ASSERT_EXCEPTION = UNKNOWN;
155
156/* basic_functions.h */
157
158/**
159 * @var int
160 * @cvalue PHP_CONNECTION_ABORTED
161 */
162const CONNECTION_ABORTED = UNKNOWN;
163/**
164 * @var int
165 * @cvalue PHP_CONNECTION_NORMAL
166 */
167const CONNECTION_NORMAL = UNKNOWN;
168/**
169 * @var int
170 * @cvalue PHP_CONNECTION_TIMEOUT
171 */
172const CONNECTION_TIMEOUT = UNKNOWN;
173
174/**
175 * @var int
176 * @cvalue ZEND_INI_USER
177 */
178const INI_USER = UNKNOWN;
179/**
180 * @var int
181 * @cvalue ZEND_INI_PERDIR
182 */
183const INI_PERDIR = UNKNOWN;
184/**
185 * @var int
186 * @cvalue ZEND_INI_SYSTEM
187 */
188const INI_SYSTEM = UNKNOWN;
189/**
190 * @var int
191 * @cvalue ZEND_INI_ALL
192 */
193const INI_ALL = UNKNOWN;
194
195/**
196 * @var int
197 * @cvalue ZEND_INI_SCANNER_NORMAL
198 */
199const INI_SCANNER_NORMAL = UNKNOWN;
200/**
201 * @var int
202 * @cvalue ZEND_INI_SCANNER_RAW
203 */
204const INI_SCANNER_RAW = UNKNOWN;
205/**
206 * @var int
207 * @cvalue ZEND_INI_SCANNER_TYPED
208 */
209const INI_SCANNER_TYPED = UNKNOWN;
210
211/**
212 * @var int
213 * @cvalue PHP_URL_SCHEME
214 */
215const PHP_URL_SCHEME = UNKNOWN;
216/**
217 * @var int
218 * @cvalue PHP_URL_HOST
219 */
220const PHP_URL_HOST = UNKNOWN;
221/**
222 * @var int
223 * @cvalue PHP_URL_PORT
224 */
225const PHP_URL_PORT = UNKNOWN;
226/**
227 * @var int
228 * @cvalue PHP_URL_USER
229 */
230const PHP_URL_USER = UNKNOWN;
231/**
232 * @var int
233 * @cvalue PHP_URL_PASS
234 */
235const PHP_URL_PASS = UNKNOWN;
236/**
237 * @var int
238 * @cvalue PHP_URL_PATH
239 */
240const PHP_URL_PATH = UNKNOWN;
241/**
242 * @var int
243 * @cvalue PHP_URL_QUERY
244 */
245const PHP_URL_QUERY = UNKNOWN;
246/**
247 * @var int
248 * @cvalue PHP_URL_FRAGMENT
249 */
250const PHP_URL_FRAGMENT = UNKNOWN;
251/**
252 * @var int
253 * @cvalue PHP_QUERY_RFC1738
254 */
255const PHP_QUERY_RFC1738 = UNKNOWN;
256/**
257 * @var int
258 * @cvalue PHP_QUERY_RFC3986
259 */
260const PHP_QUERY_RFC3986 = UNKNOWN;
261
262/**
263 * @var float
264 * @cvalue M_E
265 */
266const M_E = 2.718281828459045;
267/**
268 * @var float
269 * @cvalue M_LOG2E
270 */
271const M_LOG2E = 1.4426950408889634074;
272/**
273 * @var float
274 * @cvalue M_LOG10E
275 */
276const M_LOG10E = 0.43429448190325182765;
277/**
278 * @var float
279 * @cvalue M_LN2
280 */
281const M_LN2 = 0.69314718055994530942;
282/**
283 * @var float
284 * @cvalue M_LN10
285 */
286const M_LN10 = 2.30258509299404568402;
287/**
288 * @var float
289 * @cvalue M_PI
290 */
291const M_PI = 3.14159265358979323846;
292/**
293 * @var float
294 * @cvalue M_PI_2
295 */
296const M_PI_2 = 1.57079632679489661923;
297/**
298 * @var float
299 * @cvalue M_PI_4
300 */
301const M_PI_4 = 0.78539816339744830962;
302/**
303 * @var float
304 * @cvalue M_1_PI
305 */
306const M_1_PI = 0.31830988618379067154;
307/**
308 * @var float
309 * @cvalue M_2_PI
310 */
311const M_2_PI = 0.63661977236758134308;
312/**
313 * @var float
314 * @cvalue M_SQRTPI
315 */
316const M_SQRTPI = 1.77245385090551602729;
317/**
318 * @var float
319 * @cvalue M_2_SQRTPI
320 */
321const M_2_SQRTPI = 1.12837916709551257390;
322/**
323 * @var float
324 * @cvalue M_LNPI
325 */
326const M_LNPI = 1.14472988584940017414;
327/**
328 * @var float
329 * @cvalue M_EULER
330 */
331const M_EULER = 0.57721566490153286061;
332/**
333 * @var float
334 * @cvalue M_SQRT2
335 */
336const M_SQRT2 = 1.41421356237309504880;
337/**
338 * @var float
339 * @cvalue M_SQRT1_2
340 */
341const M_SQRT1_2 = 0.70710678118654752440;
342/**
343 * @var float
344 * @cvalue M_SQRT3
345 */
346const M_SQRT3 = 1.73205080756887729352;
347/**
348 * @var float
349 * @cvalue ZEND_INFINITY
350 */
351const INF = UNKNOWN;
352/**
353 * @var float
354 * @cvalue ZEND_NAN
355 */
356const NAN = UNKNOWN;
357
358/**
359 * @var int
360 * @cvalue PHP_ROUND_HALF_UP
361 */
362const PHP_ROUND_HALF_UP = UNKNOWN;
363/**
364 * @var int
365 * @cvalue PHP_ROUND_HALF_DOWN
366 */
367const PHP_ROUND_HALF_DOWN = UNKNOWN;
368/**
369 * @var int
370 * @cvalue PHP_ROUND_HALF_EVEN
371 */
372const PHP_ROUND_HALF_EVEN = UNKNOWN;
373/**
374 * @var int
375 * @cvalue PHP_ROUND_HALF_ODD
376 */
377const PHP_ROUND_HALF_ODD = UNKNOWN;
378
379/* crypt.c */
380
381/**
382 * @var int
383 * @cvalue PHP_MAX_SALT_LEN
384 */
385const CRYPT_SALT_LENGTH = UNKNOWN;
386/** @var int */
387const CRYPT_STD_DES = 1;
388/** @var int */
389const CRYPT_EXT_DES = 1;
390/** @var int */
391const CRYPT_MD5 = 1;
392/** @var int */
393const CRYPT_BLOWFISH = 1;
394/** @var int */
395const CRYPT_SHA256 = 1;
396/** @var int */
397const CRYPT_SHA512 = 1;
398
399/* dns.c */
400
401#if (defined(PHP_WIN32) || (defined(HAVE_DNS_SEARCH_FUNC) && defined(HAVE_FULL_DNS_FUNCS)))
402/**
403 * @var int
404 * @cvalue PHP_DNS_A
405 */
406const DNS_A = UNKNOWN;
407/**
408 * @var int
409 * @cvalue PHP_DNS_NS
410 */
411const DNS_NS = UNKNOWN;
412/**
413 * @var int
414 * @cvalue PHP_DNS_CNAME
415 */
416const DNS_CNAME = UNKNOWN;
417/**
418 * @var int
419 * @cvalue PHP_DNS_SOA
420 */
421const DNS_SOA = UNKNOWN;
422/**
423 * @var int
424 * @cvalue PHP_DNS_PTR
425 */
426const DNS_PTR = UNKNOWN;
427/**
428 * @var int
429 * @cvalue PHP_DNS_HINFO
430 */
431const DNS_HINFO = UNKNOWN;
432#if (!defined(PHP_WIN32))
433/**
434 * @var int
435 * @cvalue PHP_DNS_CAA
436 */
437const DNS_CAA = UNKNOWN;
438#endif
439/**
440 * @var int
441 * @cvalue PHP_DNS_MX
442 */
443const DNS_MX = UNKNOWN;
444/**
445 * @var int
446 * @cvalue PHP_DNS_TXT
447 */
448const DNS_TXT = UNKNOWN;
449/**
450 * @var int
451 * @cvalue PHP_DNS_SRV
452 */
453const DNS_SRV = UNKNOWN;
454/**
455 * @var int
456 * @cvalue PHP_DNS_NAPTR
457 */
458const DNS_NAPTR = UNKNOWN;
459/**
460 * @var int
461 * @cvalue PHP_DNS_AAAA
462 */
463const DNS_AAAA = UNKNOWN;
464/**
465 * @var int
466 * @cvalue PHP_DNS_A6
467 */
468const DNS_A6 = UNKNOWN;
469/**
470 * @var int
471 * @cvalue PHP_DNS_ANY
472 */
473const DNS_ANY = UNKNOWN;
474/**
475 * @var int
476 * @cvalue PHP_DNS_ALL
477 */
478const DNS_ALL = UNKNOWN;
479#endif
480
481/* html.c */
482
483/**
484* @var int
485* @cvalue PHP_HTML_SPECIALCHARS
486*/
487const HTML_SPECIALCHARS = UNKNOWN;
488/**
489* @var int
490* @cvalue PHP_HTML_ENTITIES
491*/
492const HTML_ENTITIES = UNKNOWN;
493/**
494* @var int
495* @cvalue ENT_COMPAT
496*/
497const ENT_COMPAT = UNKNOWN;
498/**
499* @var int
500* @cvalue ENT_QUOTES
501*/
502const ENT_QUOTES = UNKNOWN;
503/**
504* @var int
505* @cvalue ENT_NOQUOTES
506*/
507const ENT_NOQUOTES = UNKNOWN;
508/**
509* @var int
510* @cvalue ENT_IGNORE
511*/
512const ENT_IGNORE = UNKNOWN;
513/**
514* @var int
515* @cvalue ENT_SUBSTITUTE
516*/
517const ENT_SUBSTITUTE = UNKNOWN;
518/**
519* @var int
520* @cvalue ENT_DISALLOWED
521*/
522const ENT_DISALLOWED = UNKNOWN;
523/**
524* @var int
525* @cvalue ENT_HTML401
526*/
527const ENT_HTML401 = UNKNOWN;
528/**
529* @var int
530* @cvalue ENT_XML1
531*/
532const ENT_XML1 = UNKNOWN;
533/**
534* @var int
535* @cvalue ENT_XHTML
536*/
537const ENT_XHTML = UNKNOWN;
538/**
539* @var int
540* @cvalue ENT_HTML5
541*/
542const ENT_HTML5 = UNKNOWN;
543
544/* image.c */
545
546/**
547 * @var int
548 * @cvalue IMAGE_FILETYPE_GIF
549 */
550const IMAGETYPE_GIF = UNKNOWN;
551/**
552 * @var int
553 * @cvalue IMAGE_FILETYPE_JPEG
554 */
555const IMAGETYPE_JPEG = UNKNOWN;
556/**
557 * @var int
558 * @cvalue IMAGE_FILETYPE_PNG
559 */
560const IMAGETYPE_PNG = UNKNOWN;
561/**
562 * @var int
563 * @cvalue IMAGE_FILETYPE_SWF
564 */
565const IMAGETYPE_SWF = UNKNOWN;
566/**
567 * @var int
568 * @cvalue IMAGE_FILETYPE_PSD
569 */
570const IMAGETYPE_PSD = UNKNOWN;
571/**
572 * @var int
573 * @cvalue IMAGE_FILETYPE_BMP
574 */
575const IMAGETYPE_BMP = UNKNOWN;
576/**
577 * @var int
578 * @cvalue IMAGE_FILETYPE_TIFF_II
579 */
580const IMAGETYPE_TIFF_II = UNKNOWN;
581/**
582 * @var int
583 * @cvalue IMAGE_FILETYPE_TIFF_MM
584 */
585const IMAGETYPE_TIFF_MM = UNKNOWN;
586/**
587 * @var int
588 * @cvalue IMAGE_FILETYPE_JPC
589 */
590const IMAGETYPE_JPC = UNKNOWN;
591/**
592 * @var int
593 * @cvalue IMAGE_FILETYPE_JP2
594 */
595const IMAGETYPE_JP2 = UNKNOWN;
596/**
597 * @var int
598 * @cvalue IMAGE_FILETYPE_JPX
599 */
600const IMAGETYPE_JPX = UNKNOWN;
601/**
602 * @var int
603 * @cvalue IMAGE_FILETYPE_JB2
604 */
605const IMAGETYPE_JB2 = UNKNOWN;
606#if (defined(HAVE_ZLIB) && !defined(COMPILE_DL_ZLIB))
607/**
608 * @var int
609 * @cvalue IMAGE_FILETYPE_SWC
610 */
611const IMAGETYPE_SWC = UNKNOWN;
612#endif
613/**
614 * @var int
615 * @cvalue IMAGE_FILETYPE_IFF
616 */
617const IMAGETYPE_IFF = UNKNOWN;
618/**
619 * @var int
620 * @cvalue IMAGE_FILETYPE_WBMP
621 */
622const IMAGETYPE_WBMP = UNKNOWN;
623/* keep alias */
624/**
625 * @var int
626 * @cvalue IMAGE_FILETYPE_JPC
627 */
628const IMAGETYPE_JPEG2000 = UNKNOWN;
629/**
630 * @var int
631 * @cvalue IMAGE_FILETYPE_XBM
632 */
633const IMAGETYPE_XBM = UNKNOWN;
634/**
635 * @var int
636 * @cvalue IMAGE_FILETYPE_ICO
637 */
638const IMAGETYPE_ICO = UNKNOWN;
639/**
640 * @var int
641 * @cvalue IMAGE_FILETYPE_WEBP
642 */
643const IMAGETYPE_WEBP = UNKNOWN;
644/**
645 * @var int
646 * @cvalue IMAGE_FILETYPE_AVIF
647 */
648const IMAGETYPE_AVIF = UNKNOWN;
649/**
650 * @var int
651 * @cvalue IMAGE_FILETYPE_UNKNOWN
652 */
653const IMAGETYPE_UNKNOWN = UNKNOWN;
654/**
655 * @var int
656 * @cvalue IMAGE_FILETYPE_COUNT
657 */
658const IMAGETYPE_COUNT = UNKNOWN;
659
660/* info.c */
661
662/**
663 * @var int
664 * @cvalue PHP_INFO_GENERAL
665 */
666const INFO_GENERAL = UNKNOWN;
667/**
668* @var int
669* @cvalue PHP_INFO_CREDITS
670*/
671const INFO_CREDITS = UNKNOWN;
672/**
673* @var int
674* @cvalue PHP_INFO_CONFIGURATION
675*/
676const INFO_CONFIGURATION = UNKNOWN;
677/**
678* @var int
679* @cvalue PHP_INFO_MODULES
680*/
681const INFO_MODULES = UNKNOWN;
682/**
683* @var int
684* @cvalue PHP_INFO_ENVIRONMENT
685*/
686const INFO_ENVIRONMENT = UNKNOWN;
687/**
688* @var int
689* @cvalue PHP_INFO_VARIABLES
690*/
691const INFO_VARIABLES = UNKNOWN;
692/**
693* @var int
694* @cvalue PHP_INFO_LICENSE
695*/
696const INFO_LICENSE = UNKNOWN;
697/**
698* @var int
699* @cvalue PHP_INFO_ALL
700*/
701const INFO_ALL = UNKNOWN;
702/**
703* @var int
704* @cvalue PHP_CREDITS_GROUP
705*/
706const CREDITS_GROUP = UNKNOWN;
707/**
708* @var int
709* @cvalue PHP_CREDITS_GENERAL
710*/
711const CREDITS_GENERAL = UNKNOWN;
712/**
713* @var int
714* @cvalue PHP_CREDITS_SAPI
715*/
716const CREDITS_SAPI = UNKNOWN;
717/**
718* @var int
719* @cvalue PHP_CREDITS_MODULES
720*/
721const CREDITS_MODULES = UNKNOWN;
722/**
723* @var int
724* @cvalue PHP_CREDITS_DOCS
725*/
726const CREDITS_DOCS = UNKNOWN;
727/**
728* @var int
729* @cvalue PHP_CREDITS_FULLPAGE
730*/
731const CREDITS_FULLPAGE = UNKNOWN;
732/**
733* @var int
734* @cvalue PHP_CREDITS_QA
735*/
736const CREDITS_QA = UNKNOWN;
737/**
738* @var int
739* @cvalue PHP_CREDITS_ALL
740*/
741const CREDITS_ALL = UNKNOWN;
742
743/* syslog.c */
744
745/* error levels */
746
747/**
748 * system unusable
749 * @var int
750 * @cvalue LOG_EMERG
751 */
752const LOG_EMERG = UNKNOWN;
753/**
754 * immediate action required
755 * @var int
756 * @cvalue LOG_ALERT
757 */
758const LOG_ALERT = UNKNOWN;
759/**
760 * critical conditions
761 * @var int
762 * @cvalue LOG_CRIT
763 */
764const LOG_CRIT = UNKNOWN;
765/**
766 * @var int
767 * @cvalue LOG_ERR
768 */
769const LOG_ERR = UNKNOWN;
770/**
771 * @var int
772 * @cvalue LOG_WARNING
773 */
774const LOG_WARNING = UNKNOWN;
775/**
776 * @var int
777 * @cvalue LOG_NOTICE
778 */
779const LOG_NOTICE = UNKNOWN;
780/**
781 * @var int
782 * @cvalue LOG_INFO
783 */
784const LOG_INFO = UNKNOWN;
785/**
786 * @var int
787 * @cvalue LOG_DEBUG
788 */
789const LOG_DEBUG = UNKNOWN;
790/* facility: type of program logging the message */
791/**
792 * @var int
793 * @cvalue LOG_KERN
794 */
795const LOG_KERN = UNKNOWN;
796/**
797 * generic user level
798 * @var int
799 * @cvalue LOG_USER
800 */
801const LOG_USER = UNKNOWN;
802/**
803 * log to email
804 * @var int
805 * @cvalue LOG_MAIL
806 */
807const LOG_MAIL = UNKNOWN;
808/**
809 * other system daemons
810 * @var int
811 * @cvalue LOG_DAEMON
812 */
813const LOG_DAEMON = UNKNOWN;
814/**
815 * @var int
816 * @cvalue LOG_AUTH
817 */
818const LOG_AUTH = UNKNOWN;
819/**
820 * @var int
821 * @cvalue LOG_SYSLOG
822 */
823const LOG_SYSLOG = UNKNOWN;
824/**
825 * @var int
826 * @cvalue LOG_LPR
827 */
828const LOG_LPR = UNKNOWN;
829#ifdef LOG_NEWS
830/* No LOG_NEWS on HP-UX */
831/**
832 * usenet new
833 * @var int
834 * @cvalue LOG_NEWS
835 */
836const LOG_NEWS = UNKNOWN;
837#endif
838#ifdef LOG_UUCP
839/* No LOG_UUCP on HP-UX */
840/**
841 * @var int
842 * @cvalue LOG_UUCP
843 */
844const LOG_UUCP = UNKNOWN;
845#endif
846#ifdef LOG_CRON
847/* apparently some systems don't have this one */
848/**
849 * @var int
850 * @cvalue LOG_CRON
851 */
852const LOG_CRON = UNKNOWN;
853#endif
854#ifdef LOG_AUTHPRIV
855/* AIX doesn't have LOG_AUTHPRIV */
856/**
857 * @var int
858 * @cvalue LOG_AUTHPRIV
859 */
860const LOG_AUTHPRIV = UNKNOWN;
861#endif
862#ifndef PHP_WIN32
863/**
864 * @var int
865 * @cvalue LOG_LOCAL0
866 */
867const LOG_LOCAL0 = UNKNOWN;
868/**
869 * @var int
870 * @cvalue LOG_LOCAL1
871 */
872const LOG_LOCAL1 = UNKNOWN;
873/**
874 * @var int
875 * @cvalue LOG_LOCAL2
876 */
877const LOG_LOCAL2 = UNKNOWN;
878/**
879 * @var int
880 * @cvalue LOG_LOCAL3
881 */
882const LOG_LOCAL3 = UNKNOWN;
883/**
884 * @var int
885 * @cvalue LOG_LOCAL4
886 */
887const LOG_LOCAL4 = UNKNOWN;
888/**
889 * @var int
890 * @cvalue LOG_LOCAL5
891 */
892const LOG_LOCAL5 = UNKNOWN;
893/**
894 * @var int
895 * @cvalue LOG_LOCAL6
896 */
897const LOG_LOCAL6 = UNKNOWN;
898/**
899 * @var int
900 * @cvalue LOG_LOCAL7
901 */
902const LOG_LOCAL7 = UNKNOWN;
903#endif
904/* options */
905/**
906 * @var int
907 * @cvalue LOG_PID
908 */
909const LOG_PID = UNKNOWN;
910/**
911 * @var int
912 * @cvalue LOG_CONS
913 */
914const LOG_CONS = UNKNOWN;
915/**
916 * @var int
917 * @cvalue LOG_ODELAY
918 */
919const LOG_ODELAY = UNKNOWN;
920/**
921 * @var int
922 * @cvalue LOG_NDELAY
923 */
924const LOG_NDELAY = UNKNOWN;
925#ifdef LOG_NOWAIT
926/**
927 * @var int
928 * @cvalue LOG_NOWAIT
929 */
930const LOG_NOWAIT = UNKNOWN;
931#endif
932#ifdef LOG_PERROR
933/* AIX doesn't have LOG_PERROR */
934/**
935 * log to stderr
936 * @var int
937 * @cvalue LOG_PERROR
938 */
939const LOG_PERROR = UNKNOWN;
940#endif
941
942/* string.c */
943
944/**
945 * @var int
946 * @cvalue PHP_STR_PAD_LEFT
947 */
948const STR_PAD_LEFT = UNKNOWN;
949/**
950 * @var int
951 * @cvalue PHP_STR_PAD_RIGHT
952 */
953const STR_PAD_RIGHT = UNKNOWN;
954/**
955 * @var int
956 * @cvalue PHP_STR_PAD_BOTH
957 */
958const STR_PAD_BOTH = UNKNOWN;
959/**
960 * @var int
961 * @cvalue PHP_PATHINFO_DIRNAME
962 */
963const PATHINFO_DIRNAME = UNKNOWN;
964/**
965 * @var int
966 * @cvalue PHP_PATHINFO_BASENAME
967 */
968const PATHINFO_BASENAME = UNKNOWN;
969/**
970 * @var int
971 * @cvalue PHP_PATHINFO_EXTENSION
972 */
973const PATHINFO_EXTENSION = UNKNOWN;
974/**
975 * @var int
976 * @cvalue PHP_PATHINFO_FILENAME
977 */
978const PATHINFO_FILENAME = UNKNOWN;
979/**
980 * @var int
981 * @cvalue PHP_PATHINFO_ALL
982 */
983const PATHINFO_ALL = UNKNOWN;
984
985/**
986 * If last members of struct lconv equal CHAR_MAX, no grouping is done
987 * @var int
988 * @cvalue CHAR_MAX
989 */
990const CHAR_MAX = UNKNOWN;
991/**
992 * @var int
993 * @cvalue LC_CTYPE
994 */
995const LC_CTYPE = UNKNOWN;
996/**
997 * @var int
998 * @cvalue LC_NUMERIC
999 */
1000const LC_NUMERIC = UNKNOWN;
1001/**
1002 * @var int
1003 * @cvalue LC_TIME
1004 */
1005const LC_TIME = UNKNOWN;
1006/**
1007 * @var int
1008 * @cvalue LC_COLLATE
1009 */
1010const LC_COLLATE = UNKNOWN;
1011/**
1012 * @var int
1013 * @cvalue LC_MONETARY
1014 */
1015const LC_MONETARY = UNKNOWN;
1016/**
1017 * @var int
1018 * @cvalue LC_ALL
1019 */
1020const LC_ALL = UNKNOWN;
1021#ifdef LC_MESSAGES
1022/**
1023 * @var int
1024 * @cvalue LC_MESSAGES
1025 */
1026const LC_MESSAGES = UNKNOWN;
1027#endif
1028
1029#ifdef HAVE_NL_LANGINFO
1030#ifdef ABDAY_1
1031/**
1032 * @var int
1033 * @cvalue ABDAY_1
1034 */
1035const ABDAY_1 = UNKNOWN;
1036/**
1037 * @var int
1038 * @cvalue ABDAY_2
1039 */
1040const ABDAY_2 = UNKNOWN;
1041/**
1042 * @var int
1043 * @cvalue ABDAY_3
1044 */
1045const ABDAY_3 = UNKNOWN;
1046/**
1047 * @var int
1048 * @cvalue ABDAY_4
1049 */
1050const ABDAY_4 = UNKNOWN;
1051/**
1052 * @var int
1053 * @cvalue ABDAY_5
1054 */
1055const ABDAY_5 = UNKNOWN;
1056/**
1057 * @var int
1058 * @cvalue ABDAY_6
1059 */
1060const ABDAY_6 = UNKNOWN;
1061/**
1062 * @var int
1063 * @cvalue ABDAY_7
1064 */
1065const ABDAY_7 = UNKNOWN;
1066#endif
1067#ifdef DAY_1
1068/**
1069 * @var int
1070 * @cvalue DAY_1
1071 */
1072const DAY_1 = UNKNOWN;
1073/**
1074 * @var int
1075 * @cvalue DAY_2
1076 */
1077const DAY_2 = UNKNOWN;
1078/**
1079 * @var int
1080 * @cvalue DAY_3
1081 */
1082const DAY_3 = UNKNOWN;
1083/**
1084 * @var int
1085 * @cvalue DAY_4
1086 */
1087const DAY_4 = UNKNOWN;
1088/**
1089 * @var int
1090 * @cvalue DAY_5
1091 */
1092const DAY_5 = UNKNOWN;
1093/**
1094 * @var int
1095 * @cvalue DAY_6
1096 */
1097const DAY_6 = UNKNOWN;
1098/**
1099 * @var int
1100 * @cvalue DAY_7
1101 */
1102const DAY_7 = UNKNOWN;
1103#endif
1104#ifdef ABMON_1
1105/**
1106 * @var int
1107 * @cvalue ABMON_1
1108 */
1109const ABMON_1 = UNKNOWN;
1110/**
1111 * @var int
1112 * @cvalue ABMON_2
1113 */
1114const ABMON_2 = UNKNOWN;
1115/**
1116 * @var int
1117 * @cvalue ABMON_3
1118 */
1119const ABMON_3 = UNKNOWN;
1120/**
1121 * @var int
1122 * @cvalue ABMON_4
1123 */
1124const ABMON_4 = UNKNOWN;
1125/**
1126 * @var int
1127 * @cvalue ABMON_5
1128 */
1129const ABMON_5 = UNKNOWN;
1130/**
1131 * @var int
1132 * @cvalue ABMON_6
1133 */
1134const ABMON_6 = UNKNOWN;
1135/**
1136 * @var int
1137 * @cvalue ABMON_7
1138 */
1139const ABMON_7 = UNKNOWN;
1140/**
1141 * @var int
1142 * @cvalue ABMON_8
1143 */
1144const ABMON_8 = UNKNOWN;
1145/**
1146 * @var int
1147 * @cvalue ABMON_9
1148 */
1149const ABMON_9 = UNKNOWN;
1150/**
1151 * @var int
1152 * @cvalue ABMON_10
1153 */
1154const ABMON_10 = UNKNOWN;
1155/**
1156 * @var int
1157 * @cvalue ABMON_11
1158 */
1159const ABMON_11 = UNKNOWN;
1160/**
1161 * @var int
1162 * @cvalue ABMON_12
1163 */
1164const ABMON_12 = UNKNOWN;
1165#endif
1166#ifdef MON_1
1167/**
1168 * @var int
1169 * @cvalue MON_1
1170 */
1171const MON_1 = UNKNOWN;
1172/**
1173 * @var int
1174 * @cvalue MON_2
1175 */
1176const MON_2 = UNKNOWN;
1177/**
1178 * @var int
1179 * @cvalue MON_3
1180 */
1181const MON_3 = UNKNOWN;
1182/**
1183 * @var int
1184 * @cvalue MON_4
1185 */
1186const MON_4 = UNKNOWN;
1187/**
1188 * @var int
1189 * @cvalue MON_5
1190 */
1191const MON_5 = UNKNOWN;
1192/**
1193 * @var int
1194 * @cvalue MON_6
1195 */
1196const MON_6 = UNKNOWN;
1197/**
1198 * @var int
1199 * @cvalue MON_7
1200 */
1201const MON_7 = UNKNOWN;
1202/**
1203 * @var int
1204 * @cvalue MON_8
1205 */
1206const MON_8 = UNKNOWN;
1207/**
1208 * @var int
1209 * @cvalue MON_9
1210 */
1211const MON_9 = UNKNOWN;
1212/**
1213 * @var int
1214 * @cvalue MON_10
1215 */
1216const MON_10 = UNKNOWN;
1217/**
1218 * @var int
1219 * @cvalue MON_11
1220 */
1221const MON_11 = UNKNOWN;
1222/**
1223 * @var int
1224 * @cvalue MON_12
1225 */
1226const MON_12 = UNKNOWN;
1227#endif
1228#ifdef AM_STR
1229/**
1230 * @var int
1231 * @cvalue AM_STR
1232 */
1233const AM_STR = UNKNOWN;
1234#endif
1235#ifdef PM_STR
1236/**
1237 * @var int
1238 * @cvalue PM_STR
1239 */
1240const PM_STR = UNKNOWN;
1241#endif
1242#ifdef D_T_FMT
1243/**
1244 * @var int
1245 * @cvalue D_T_FMT
1246 */
1247const D_T_FMT = UNKNOWN;
1248#endif
1249#ifdef D_FMT
1250/**
1251 * @var int
1252 * @cvalue D_FMT
1253 */
1254const D_FMT = UNKNOWN;
1255#endif
1256#ifdef T_FMT
1257/**
1258 * @var int
1259 * @cvalue T_FMT
1260 */
1261const T_FMT = UNKNOWN;
1262#endif
1263#ifdef T_FMT_AMPM
1264/**
1265 * @var int
1266 * @cvalue T_FMT_AMPM
1267 */
1268const T_FMT_AMPM = UNKNOWN;
1269#endif
1270#ifdef ERA
1271/**
1272 * @var int
1273 * @cvalue ERA
1274 */
1275const ERA = UNKNOWN;
1276#endif
1277#ifdef ERA_YEAR
1278/**
1279 * @var int
1280 * @cvalue ERA_YEAR
1281 */
1282const ERA_YEAR = UNKNOWN;
1283#endif
1284#ifdef ERA_D_T_FMT
1285/**
1286 * @var int
1287 * @cvalue ERA_D_T_FMT
1288 */
1289const ERA_D_T_FMT = UNKNOWN;
1290#endif
1291#ifdef ERA_D_FMT
1292/**
1293 * @var int
1294 * @cvalue ERA_D_FMT
1295 */
1296const ERA_D_FMT = UNKNOWN;
1297#endif
1298#ifdef ERA_T_FMT
1299/**
1300 * @var int
1301 * @cvalue ERA_T_FMT
1302 */
1303const ERA_T_FMT = UNKNOWN;
1304#endif
1305#ifdef ALT_DIGITS
1306/**
1307 * @var int
1308 * @cvalue ALT_DIGITS
1309 */
1310const ALT_DIGITS = UNKNOWN;
1311#endif
1312#ifdef INT_CURR_SYMBOL
1313/**
1314 * @var int
1315 * @cvalue INT_CURR_SYMBOL
1316 */
1317const INT_CURR_SYMBOL = UNKNOWN;
1318#endif
1319#ifdef CURRENCY_SYMBOL
1320/**
1321 * @var int
1322 * @cvalue CURRENCY_SYMBOL
1323 */
1324const CURRENCY_SYMBOL = UNKNOWN;
1325#endif
1326#ifdef CRNCYSTR
1327/**
1328 * @var int
1329 * @cvalue CRNCYSTR
1330 */
1331const CRNCYSTR = UNKNOWN;
1332#endif
1333#ifdef MON_DECIMAL_POINT
1334/**
1335 * @var int
1336 * @cvalue MON_DECIMAL_POINT
1337 */
1338const MON_DECIMAL_POINT = UNKNOWN;
1339#endif
1340#ifdef MON_THOUSANDS_SEP
1341/**
1342 * @var int
1343 * @cvalue MON_THOUSANDS_SEP
1344 */
1345const MON_THOUSANDS_SEP = UNKNOWN;
1346#endif
1347#ifdef MON_GROUPING
1348/**
1349 * @var int
1350 * @cvalue MON_GROUPING
1351 */
1352const MON_GROUPING = UNKNOWN;
1353#endif
1354#ifdef POSITIVE_SIGN
1355/**
1356 * @var int
1357 * @cvalue POSITIVE_SIGN
1358 */
1359const POSITIVE_SIGN = UNKNOWN;
1360#endif
1361#ifdef NEGATIVE_SIGN
1362/**
1363 * @var int
1364 * @cvalue NEGATIVE_SIGN
1365 */
1366const NEGATIVE_SIGN = UNKNOWN;
1367#endif
1368#ifdef INT_FRAC_DIGITS
1369/**
1370 * @var int
1371 * @cvalue INT_FRAC_DIGITS
1372 */
1373const INT_FRAC_DIGITS = UNKNOWN;
1374#endif
1375#ifdef FRAC_DIGITS
1376/**
1377 * @var int
1378 * @cvalue FRAC_DIGITS
1379 */
1380const FRAC_DIGITS = UNKNOWN;
1381#endif
1382#ifdef P_CS_PRECEDES
1383/**
1384 * @var int
1385 * @cvalue P_CS_PRECEDES
1386 */
1387const P_CS_PRECEDES = UNKNOWN;
1388#endif
1389#ifdef P_SEP_BY_SPACE
1390/**
1391 * @var int
1392 * @cvalue P_SEP_BY_SPACE
1393 */
1394const P_SEP_BY_SPACE = UNKNOWN;
1395#endif
1396#ifdef N_CS_PRECEDES
1397/**
1398 * @var int
1399 * @cvalue N_CS_PRECEDES
1400 */
1401const N_CS_PRECEDES = UNKNOWN;
1402#endif
1403#ifdef N_SEP_BY_SPACE
1404/**
1405 * @var int
1406 * @cvalue N_SEP_BY_SPACE
1407 */
1408const N_SEP_BY_SPACE = UNKNOWN;
1409#endif
1410#ifdef P_SIGN_POSN
1411/**
1412 * @var int
1413 * @cvalue P_SIGN_POSN
1414 */
1415const P_SIGN_POSN = UNKNOWN;
1416#endif
1417#ifdef N_SIGN_POSN
1418/**
1419 * @var int
1420 * @cvalue N_SIGN_POSN
1421 */
1422const N_SIGN_POSN = UNKNOWN;
1423#endif
1424#ifdef DECIMAL_POINT
1425/**
1426 * @var int
1427 * @cvalue DECIMAL_POINT
1428 */
1429const DECIMAL_POINT = UNKNOWN;
1430#endif
1431#ifdef RADIXCHAR
1432/**
1433 * @var int
1434 * @cvalue RADIXCHAR
1435 */
1436const RADIXCHAR = UNKNOWN;
1437#endif
1438#ifdef THOUSANDS_SEP
1439/**
1440 * @var int
1441 * @cvalue THOUSANDS_SEP
1442 */
1443const THOUSANDS_SEP = UNKNOWN;
1444#endif
1445#ifdef THOUSEP
1446/**
1447 * @var int
1448 * @cvalue THOUSEP
1449 */
1450const THOUSEP = UNKNOWN;
1451#endif
1452#ifdef GROUPING
1453/**
1454 * @var int
1455 * @cvalue GROUPING
1456 */
1457const GROUPING = UNKNOWN;
1458#endif
1459#ifdef YESEXPR
1460/**
1461 * @var int
1462 * @cvalue YESEXPR
1463 */
1464const YESEXPR = UNKNOWN;
1465#endif
1466#ifdef NOEXPR
1467/**
1468 * @var int
1469 * @cvalue NOEXPR
1470 */
1471const NOEXPR = UNKNOWN;
1472#endif
1473#ifdef YESSTR
1474/**
1475 * @var int
1476 * @cvalue YESSTR
1477 */
1478const YESSTR = UNKNOWN;
1479#endif
1480#ifdef NOSTR
1481/**
1482 * @var int
1483 * @cvalue NOSTR
1484 */
1485const NOSTR = UNKNOWN;
1486#endif
1487#ifdef CODESET
1488/**
1489 * @var int
1490 * @cvalue CODESET
1491 */
1492const CODESET = UNKNOWN;
1493#endif
1494#endif
1495
1496/** @undocumentable */
1497#[AllowDynamicProperties]
1498final class __PHP_Incomplete_Class
1499{
1500}
1501
1502class AssertionError extends Error
1503{
1504}
1505
1506/* main/main.c */
1507
1508function set_time_limit(int $seconds): bool {}
1509
1510/* main/SAPI.c */
1511
1512function header_register_callback(callable $callback): bool {}
1513
1514/* main/output.c */
1515
1516/** @param callable|null $callback */
1517function ob_start($callback = null, int $chunk_size = 0, int $flags = PHP_OUTPUT_HANDLER_STDFLAGS): bool {}
1518
1519function ob_flush(): bool {}
1520
1521function ob_clean(): bool {}
1522
1523function ob_end_flush(): bool {}
1524
1525function ob_end_clean(): bool {}
1526
1527/** @refcount 1 */
1528function ob_get_flush(): string|false {}
1529
1530/** @refcount 1 */
1531function ob_get_clean(): string|false {}
1532
1533function ob_get_contents(): string|false {}
1534
1535function ob_get_level(): int {}
1536
1537function ob_get_length(): int|false {}
1538
1539/**
1540 * @return array<int, string>
1541 * @refcount 1
1542 */
1543function ob_list_handlers(): array {}
1544
1545/**
1546 * @return array<int|string, int|string|array>
1547 * @refcount 1
1548 */
1549function ob_get_status(bool $full_status = false): array {}
1550
1551function ob_implicit_flush(bool $enable = true): void {}
1552
1553function output_reset_rewrite_vars(): bool {}
1554
1555function output_add_rewrite_var(string $name, string $value): bool {}
1556
1557/* main/streams/userspace.c */
1558
1559function stream_wrapper_register(string $protocol, string $class, int $flags = 0): bool {}
1560
1561/** @alias stream_wrapper_register */
1562function stream_register_wrapper(string $protocol, string $class, int $flags = 0): bool {}
1563
1564function stream_wrapper_unregister(string $protocol): bool {}
1565
1566function stream_wrapper_restore(string $protocol): bool {}
1567
1568/* array.c */
1569
1570function array_push(array &$array, mixed ...$values): int {}
1571
1572function krsort(array &$array, int $flags = SORT_REGULAR): true {}
1573
1574function ksort(array &$array, int $flags = SORT_REGULAR): true {}
1575
1576/** @compile-time-eval */
1577function count(Countable|array $value, int $mode = COUNT_NORMAL): int {}
1578
1579/** @alias count */
1580function sizeof(Countable|array $value, int $mode = COUNT_NORMAL): int {}
1581
1582function natsort(array &$array): true {}
1583
1584function natcasesort(array &$array): true {}
1585
1586function asort(array &$array, int $flags = SORT_REGULAR): true {}
1587
1588function arsort(array &$array, int $flags = SORT_REGULAR): true {}
1589
1590function sort(array &$array, int $flags = SORT_REGULAR): true {}
1591
1592function rsort(array &$array, int $flags = SORT_REGULAR): true {}
1593
1594function usort(array &$array, callable $callback): true {}
1595
1596function uasort(array &$array, callable $callback): true {}
1597
1598function uksort(array &$array, callable $callback): true {}
1599
1600function end(array|object &$array): mixed {}
1601
1602function prev(array|object &$array): mixed {}
1603
1604function next(array|object &$array): mixed {}
1605
1606function reset(array|object &$array): mixed {}
1607
1608function current(array|object $array): mixed {}
1609
1610/** @alias current */
1611function pos(array|object $array): mixed {}
1612
1613function key(array|object $array): int|string|null {}
1614
1615/**
1616 * @compile-time-eval
1617 * @frameless-function {"arity": 2}
1618 */
1619function min(mixed $value, mixed ...$values): mixed {}
1620
1621/**
1622 * @compile-time-eval
1623 * @frameless-function {"arity": 2}
1624 */
1625function max(mixed $value, mixed ...$values): mixed {}
1626
1627function array_walk(array|object &$array, callable $callback, mixed $arg = UNKNOWN): true {}
1628
1629function array_walk_recursive(array|object &$array, callable $callback, mixed $arg = UNKNOWN): true {}
1630
1631/**
1632 * @compile-time-eval
1633 * @frameless-function {"arity": 2}
1634 * @frameless-function {"arity": 3}
1635 */
1636function in_array(mixed $needle, array $haystack, bool $strict = false): bool {}
1637
1638/**
1639 * @compile-time-eval
1640 */
1641function array_search(mixed $needle, array $haystack, bool $strict = false): int|string|false {}
1642
1643/** @prefer-ref $array */
1644function extract(array &$array, int $flags = EXTR_OVERWRITE, string $prefix = ""): int {}
1645
1646/**
1647 * @param array|string $var_name
1648 * @param array|string $var_names
1649 * @return array<string, mixed|ref>
1650 * @refcount 1
1651 */
1652function compact($var_name, ...$var_names): array {}
1653
1654/** @return array<int, mixed> */
1655function array_fill(int $start_index, int $count, mixed $value): array {}
1656
1657/** @refcount 1 */
1658function array_fill_keys(array $keys, mixed $value): array {}
1659
1660function range(string|int|float $start, string|int|float $end, int|float $step = 1): array {}
1661
1662function shuffle(array &$array): true {}
1663
1664function array_pop(array &$array): mixed {}
1665
1666function array_shift(array &$array): mixed {}
1667
1668function array_unshift(array &$array, mixed ...$values): int {}
1669
1670function array_splice(array &$array, int $offset, ?int $length = null, mixed $replacement = []): array {}
1671
1672/**
1673 * @compile-time-eval
1674 */
1675function array_slice(array $array, int $offset, ?int $length = null, bool $preserve_keys = false): array {}
1676
1677/**
1678 * @compile-time-eval
1679 */
1680function array_merge(array ...$arrays): array {}
1681
1682/**
1683 * @compile-time-eval
1684 */
1685function array_merge_recursive(array ...$arrays): array {}
1686
1687/**
1688 * @compile-time-eval
1689 * @refcount 1
1690 */
1691function array_replace(array $array, array ...$replacements): array {}
1692
1693/**
1694 * @compile-time-eval
1695 * @refcount 1
1696 */
1697function array_replace_recursive(array $array, array ...$replacements): array {}
1698
1699/**
1700 * @return array<int, int|string>
1701 * @compile-time-eval
1702 */
1703function array_keys(array $array, mixed $filter_value = UNKNOWN, bool $strict = false): array {}
1704
1705/**
1706 * @compile-time-eval
1707 */
1708function array_key_first(array $array): int|string|null {}
1709
1710/**
1711 * @compile-time-eval
1712 */
1713function array_key_last(array $array): int|string|null {}
1714
1715/**
1716 * @return array<int, mixed|ref>
1717 * @compile-time-eval
1718 */
1719function array_values(array $array): array {}
1720
1721/**
1722 * @return array<int|string, int>
1723 * @compile-time-eval
1724 * @refcount 1
1725 */
1726function array_count_values(array $array): array {}
1727
1728/**
1729 * @compile-time-eval
1730 * @refcount 1
1731 */
1732function array_column(array $array, int|string|null $column_key, int|string|null $index_key = null): array {}
1733
1734/**
1735 * @compile-time-eval
1736 * @refcount 1
1737 */
1738function array_reverse(array $array, bool $preserve_keys = false): array {}
1739
1740function array_pad(array $array, int $length, mixed $value): array {}
1741
1742/**
1743 * @return array<int|string, int|string>
1744 * @compile-time-eval
1745 * @refcount 1
1746 */
1747function array_flip(array $array): array {}
1748
1749/**
1750 * @compile-time-eval
1751 * @refcount 1
1752 */
1753function array_change_key_case(array $array, int $case = CASE_LOWER): array {}
1754
1755/**
1756 * @compile-time-eval
1757 */
1758function array_unique(array $array, int $flags = SORT_STRING): array {}
1759
1760/**
1761 * @compile-time-eval
1762 * @refcount 1
1763 */
1764function array_intersect_key(array $array, array ...$arrays): array {}
1765
1766/**
1767 * @param array|callable $rest
1768 * @refcount 1
1769 */
1770function array_intersect_ukey(array $array, ...$rest): array {}
1771
1772/**
1773 * @compile-time-eval
1774 * @refcount 1
1775 */
1776function array_intersect(array $array, array ...$arrays): array {}
1777
1778/**
1779 * @param array|callable $rest
1780 * @refcount 1
1781 */
1782function array_uintersect(array $array, ...$rest): array {}
1783
1784/**
1785 * @compile-time-eval
1786 * @refcount 1
1787 */
1788function array_intersect_assoc(array $array, array ...$arrays): array {}
1789
1790/**
1791 * @param array|callable $rest
1792 * @refcount 1
1793 */
1794function array_uintersect_assoc(array $array, ...$rest): array {}
1795
1796/**
1797 * @param array|callable $rest
1798 * @refcount 1
1799 */
1800function array_intersect_uassoc(array $array, ...$rest): array {}
1801
1802/**
1803 * @param array|callable $rest
1804 * @refcount 1
1805 */
1806function array_uintersect_uassoc(array $array, ...$rest): array {}
1807
1808/**
1809 * @compile-time-eval
1810 * @refcount 1
1811 */
1812function array_diff_key(array $array, array ...$arrays): array {}
1813
1814/**
1815 * @param array|callable $rest
1816 * @refcount 1
1817 */
1818function array_diff_ukey(array $array, ...$rest): array {}
1819
1820/**
1821 * @compile-time-eval
1822 */
1823function array_diff(array $array, array ...$arrays): array {}
1824
1825/**
1826 * @param array|callable $rest
1827 * @refcount 1
1828 */
1829function array_udiff(array $array, ...$rest): array {}
1830
1831/**
1832 * @compile-time-eval
1833 * @refcount 1
1834 */
1835function array_diff_assoc(array $array, array ...$arrays): array {}
1836
1837/**
1838 * @param array|callable $rest
1839 * @refcount 1
1840 */
1841function array_diff_uassoc(array $array, ...$rest): array {}
1842
1843/**
1844 * @param array|callable $rest
1845 * @refcount 1
1846 */
1847function array_udiff_assoc(array $array, ...$rest): array {}
1848
1849/**
1850 * @param array|callable $rest
1851 * @refcount 1
1852 */
1853function array_udiff_uassoc(array $array, ...$rest): array {}
1854
1855/**
1856 * @param array $array
1857 * @param array|int $rest
1858 * @prefer-ref $array
1859 * @prefer-ref $rest
1860 */
1861function array_multisort(&$array, &...$rest): true {}
1862
1863/** @return int|string|array<int, int|string> */
1864function array_rand(array $array, int $num = 1): int|string|array {}
1865
1866/**
1867 * @compile-time-eval
1868 */
1869function array_sum(array $array): int|float {}
1870
1871/**
1872 * @compile-time-eval
1873 */
1874function array_product(array $array): int|float {}
1875
1876function array_reduce(array $array, callable $callback, mixed $initial = null): mixed {}
1877
1878function array_filter(array $array, ?callable $callback = null, int $mode = 0): array {}
1879
1880function array_find(array $array, callable $callback): mixed {}
1881
1882function array_find_key(array $array, callable $callback): mixed {}
1883
1884function array_any(array $array, callable $callback): bool {}
1885
1886function array_all(array $array, callable $callback): bool {}
1887
1888function array_map(?callable $callback, array $array, array ...$arrays): array {}
1889
1890/**
1891 * @param string|int $key
1892 * @compile-time-eval
1893 */
1894function array_key_exists($key, array $array): bool {}
1895
1896/**
1897 * @param string|int $key
1898 * @alias array_key_exists
1899 */
1900function key_exists($key, array $array): bool {}
1901
1902/**
1903 * @compile-time-eval
1904 */
1905function array_chunk(array $array, int $length, bool $preserve_keys = false): array {}
1906
1907/**
1908 * @compile-time-eval
1909 */
1910function array_combine(array $keys, array $values): array {}
1911
1912/** @compile-time-eval */
1913function array_is_list(array $array): bool {}
1914
1915/* base64.c */
1916
1917/**
1918 * @compile-time-eval
1919 * @refcount 1
1920 */
1921function base64_encode(string $string): string {}
1922
1923/**
1924 * @compile-time-eval
1925 * @refcount 1
1926 */
1927function base64_decode(string $string, bool $strict = false): string|false {}
1928
1929/* basic_functions.c */
1930
1931function constant(string $name): mixed {}
1932
1933function ip2long(string $ip): int|false {}
1934
1935/** @refcount 1 */
1936function long2ip(int $ip): string {}
1937
1938/**
1939 * @return string|array<string, string>|false
1940 * @refcount 1
1941 */
1942function getenv(?string $name = null, bool $local_only = false): string|array|false {}
1943
1944#ifdef HAVE_PUTENV
1945function putenv(string $assignment): bool {}
1946#endif
1947
1948/**
1949 * @param int $rest_index
1950 * @return array<int|string, string|array|false>|false
1951 * @refcount 1
1952 */
1953function getopt(string $short_options, array $long_options = [], &$rest_index = null): array|false {}
1954
1955function flush(): void {}
1956
1957function sleep(int $seconds): int {}
1958
1959function usleep(int $microseconds): void {}
1960
1961#ifdef HAVE_NANOSLEEP
1962/**
1963 * @return array<string, int>|bool
1964 * @refcount 1
1965 */
1966function time_nanosleep(int $seconds, int $nanoseconds): array|bool {}
1967
1968function time_sleep_until(float $timestamp): bool {}
1969#endif
1970
1971/** @refcount 1 */
1972function get_current_user(): string {}
1973
1974/** @return string|array<int|string, string|array>|false */
1975function get_cfg_var(string $option): string|array|false {}
1976
1977function error_log(string $message, int $message_type = 0, ?string $destination = null, ?string $additional_headers = null): bool {}
1978
1979/**
1980 * @return array<string, int|string>|null
1981 * @refcount 1
1982 */
1983function error_get_last(): ?array {}
1984
1985function error_clear_last(): void {}
1986
1987function call_user_func(callable $callback, mixed ...$args): mixed {}
1988
1989function call_user_func_array(callable $callback, array $args): mixed {}
1990
1991function forward_static_call(callable $callback, mixed ...$args): mixed {}
1992
1993function forward_static_call_array(callable $callback, array $args): mixed {}
1994
1995function register_shutdown_function(callable $callback, mixed ...$args): void {}
1996
1997/** @refcount 1 */
1998function highlight_file(string $filename, bool $return = false): string|bool {}
1999
2000/** @alias highlight_file */
2001function show_source(string $filename, bool $return = false): string|bool {}
2002
2003/** @refcount 1 */
2004function php_strip_whitespace(string $filename): string {}
2005
2006/** @refcount 1 */
2007function highlight_string(string $string, bool $return = false): string|true {}
2008
2009function ini_get(string $option): string|false {}
2010
2011/**
2012 * @return array<string, string|array|null>|false
2013 * @refcount 1
2014 */
2015function ini_get_all(?string $extension = null, bool $details = true): array|false {}
2016
2017function ini_set(string $option, string|int|float|bool|null $value): string|false {}
2018
2019/** @alias ini_set */
2020function ini_alter(string $option, string|int|float|bool|null $value): string|false {}
2021
2022function ini_restore(string $option): void {}
2023
2024function ini_parse_quantity(string $shorthand): int {}
2025
2026/** @refcount 1 */
2027function set_include_path(string $include_path): string|false {}
2028
2029function get_include_path(): string|false {}
2030
2031/** @refcount 1 */
2032function print_r(mixed $value, bool $return = false): string|true {}
2033
2034function connection_aborted(): int {}
2035
2036function connection_status(): int {}
2037
2038function ignore_user_abort(?bool $enable = null): int {}
2039
2040#ifdef HAVE_GETSERVBYNAME
2041function getservbyname(string $service, string $protocol): int|false {}
2042#endif
2043
2044#ifdef HAVE_GETSERVBYPORT
2045/** @refcount 1 */
2046function getservbyport(int $port, string $protocol): string|false {}
2047#endif
2048
2049#ifdef HAVE_GETPROTOBYNAME
2050function getprotobyname(string $protocol): int|false {}
2051#endif
2052
2053#ifdef HAVE_GETPROTOBYNUMBER
2054/** @refcount 1 */
2055function getprotobynumber(int $protocol): string|false {}
2056#endif
2057
2058function register_tick_function(callable $callback, mixed ...$args): bool {}
2059
2060function unregister_tick_function(callable $callback): void {}
2061
2062function is_uploaded_file(string $filename): bool {}
2063
2064function move_uploaded_file(string $from, string $to): bool {}
2065
2066/**
2067 * @return array<int|string, bool|int|float|string|array|null>|false
2068 * @refcount 1
2069 */
2070function parse_ini_file(string $filename, bool $process_sections = false, int $scanner_mode = INI_SCANNER_NORMAL): array|false {}
2071
2072/**
2073 * @return array<int|string, bool|int|float|string|array|null>|false
2074 * @compile-time-eval
2075 * @refcount 1
2076 */
2077function parse_ini_string(string $ini_string, bool $process_sections = false, int $scanner_mode = INI_SCANNER_NORMAL): array|false {}
2078
2079#if ZEND_DEBUG
2080/**
2081 * @return array<string, string|array>
2082 * @refcount 1
2083 */
2084function config_get_hash(): array {}
2085#endif
2086
2087#ifdef HAVE_GETLOADAVG
2088/**
2089 * @return array<int, float>|false
2090 * @refcount 1
2091 */
2092function sys_getloadavg(): array|false {}
2093#endif
2094
2095/* browscap.c */
2096
2097/**
2098 * @return object|array<string, mixed>|false
2099 * @refcount 1
2100 */
2101function get_browser(?string $user_agent = null, bool $return_array = false): object|array|false {}
2102
2103/* crc32.c */
2104
2105/** @compile-time-eval */
2106function crc32(string $string): int {}
2107
2108/* crypt.c */
2109
2110/** @refcount 1 */
2111function crypt(#[\SensitiveParameter] string $string, string $salt): string {}
2112
2113/* datetime.c */
2114
2115#ifdef HAVE_STRPTIME
2116/**
2117 * @return array<string, int|string>|false
2118 * @refcount 1
2119 */
2120#[\Deprecated(since: '8.2', message: 'use date_parse_from_format() (for locale-independent parsing), or IntlDateFormatter::parse() (for locale-dependent parsing) instead')]
2121function strptime(string $timestamp, string $format): array|false {}
2122#endif
2123
2124/* dns.c */
2125
2126#ifdef HAVE_GETHOSTNAME
2127/** @refcount 1 */
2128function gethostname(): string|false {}
2129#endif
2130
2131/** @refcount 1 */
2132function gethostbyaddr(string $ip): string|false {}
2133
2134/** @refcount 1 */
2135function gethostbyname(string $hostname): string {}
2136
2137/**
2138 * @return array<int, string>|false
2139 * @refcount 1
2140 */
2141function gethostbynamel(string $hostname): array|false {}
2142
2143#if (defined(PHP_WIN32) || defined(HAVE_DNS_SEARCH_FUNC))
2144function dns_check_record(string $hostname, string $type = "MX"): bool {}
2145
2146/** @alias dns_check_record */
2147function checkdnsrr(string $hostname, string $type = "MX"): bool {}
2148
2149/**
2150 * @param array $authoritative_name_servers
2151 * @param array $additional_records
2152 * @return array<int, array>|false
2153 * @refcount 1
2154 */
2155function dns_get_record(string $hostname, int $type = DNS_ANY, &$authoritative_name_servers = null, &$additional_records = null, bool $raw = false): array|false {}
2156
2157/**
2158 * @param array $hosts
2159 * @param array $weights
2160 */
2161function dns_get_mx(string $hostname, &$hosts, &$weights = null): bool {}
2162
2163/**
2164 * @param array $hosts
2165 * @param array $weights
2166 * @alias dns_get_mx
2167 */
2168function getmxrr(string $hostname, &$hosts, &$weights = null): bool {}
2169#endif
2170
2171/* net.c */
2172
2173#if (defined(PHP_WIN32) || defined(HAVE_GETIFADDRS) || defined(__PASE__))
2174function net_get_interfaces(): array|false {}
2175#endif
2176
2177/* ftok.c */
2178
2179#ifdef HAVE_FTOK
2180function ftok(string $filename, string $project_id): int {}
2181#endif
2182
2183/* hrtime.c */
2184
2185function hrtime(bool $as_number = false): array|int|float|false {}
2186
2187/* md5.c */
2188
2189/** @refcount 1 */
2190function md5(string $string, bool $binary = false): string {}
2191
2192/** @refcount 1 */
2193function md5_file(string $filename, bool $binary = false): string|false {}
2194
2195/* pageinfo.c */
2196
2197function getmyuid(): int|false {}
2198
2199function getmygid(): int|false {}
2200
2201function getmypid(): int|false {}
2202
2203function getmyinode(): int|false {}
2204
2205function getlastmod(): int|false {}
2206
2207/* sha1.c */
2208
2209/** @refcount 1 */
2210function sha1(string $string, bool $binary = false): string {}
2211
2212/** @refcount 1 */
2213function sha1_file(string $filename, bool $binary = false): string|false {}
2214
2215/* syslog.c */
2216
2217#ifdef HAVE_SYSLOG_H
2218function openlog(string $prefix, int $flags, int $facility): true {}
2219
2220function closelog(): true {}
2221
2222function syslog(int $priority, string $message): true {}
2223#endif
2224
2225/** @refcount 1 */
2226function inet_ntop(string $ip): string|false {}
2227
2228/** @refcount 1 */
2229function inet_pton(string $ip): string|false {}
2230
2231/* metaphone.c */
2232
2233/** @refcount 1 */
2234function metaphone(string $string, int $max_phonemes = 0): string {}
2235
2236/* {{{ head.c */
2237function header(string $header, bool $replace = true, int $response_code = 0): void {}
2238
2239function header_remove(?string $name = null): void {}
2240
2241function setrawcookie(string $name, string $value = "", array|int $expires_or_options = 0, string $path = "", string $domain = "", bool $secure = false, bool $httponly = false): bool {}
2242
2243function setcookie(string $name, string $value = "", array|int $expires_or_options = 0, string $path = "", string $domain = "", bool $secure = false, bool $httponly = false): bool {}
2244
2245function http_response_code(int $response_code = 0): int|bool {}
2246
2247/**
2248 * @param string $filename
2249 * @param int $line
2250 */
2251function headers_sent(&$filename = null, &$line = null): bool {}
2252
2253/**
2254 * @return array<int, string>
2255 * @refcount 1
2256 */
2257function headers_list(): array {}
2258
2259/* {{{ html.c */
2260
2261/** @refcount 1 */
2262function htmlspecialchars(string $string, int $flags = ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401, ?string $encoding = null, bool $double_encode = true): string {}
2263
2264function htmlspecialchars_decode(string $string, int $flags = ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401): string {}
2265
2266function html_entity_decode(string $string, int $flags = ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401, ?string $encoding = null): string {}
2267
2268/** @refcount 1 */
2269function htmlentities(string $string, int $flags = ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401, ?string $encoding = null, bool $double_encode = true): string {}
2270
2271/**
2272 * @return array<string, string>
2273 * @refcount 1
2274 */
2275function get_html_translation_table(int $table = HTML_SPECIALCHARS, int $flags = ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401, string $encoding = "UTF-8"): array {}
2276
2277/* }}} */
2278
2279/* assert.c */
2280
2281function assert(mixed $assertion, Throwable|string|null $description = null): bool {}
2282
2283#[\Deprecated(since: '8.3')]
2284function assert_options(int $option, mixed $value = UNKNOWN): mixed {}
2285
2286/* string.c */
2287
2288/**
2289 * @compile-time-eval
2290 * @refcount 1
2291 */
2292function bin2hex(string $string): string {}
2293
2294/**
2295 * @compile-time-eval
2296 * @refcount 1
2297 */
2298function hex2bin(string $string): string|false {}
2299
2300/**
2301 * @compile-time-eval
2302 */
2303function strspn(string $string, string $characters, int $offset = 0, ?int $length = null): int {}
2304
2305/**
2306 * @compile-time-eval
2307 */
2308function strcspn(string $string, string $characters, int $offset = 0, ?int $length = null): int {}
2309
2310#ifdef HAVE_NL_LANGINFO
2311/** @refcount 1 */
2312function nl_langinfo(int $item): string|false {}
2313#endif
2314
2315function strcoll(string $string1, string $string2): int {}
2316
2317/**
2318 * @compile-time-eval
2319 * @frameless-function {"arity": 1}
2320 * @frameless-function {"arity": 2}
2321 */
2322function trim(string $string, string $characters = " \n\r\t\v\0"): string {}
2323
2324/** @compile-time-eval */
2325function rtrim(string $string, string $characters = " \n\r\t\v\0"): string {}
2326
2327/** @alias rtrim */
2328function chop(string $string, string $characters = " \n\r\t\v\0"): string {}
2329
2330/** @compile-time-eval */
2331function ltrim(string $string, string $characters = " \n\r\t\v\0"): string {}
2332
2333/**
2334 * @compile-time-eval
2335 * @refcount 1
2336 */
2337function wordwrap(string $string, int $width = 75, string $break = "\n", bool $cut_long_words = false): string {}
2338
2339/**
2340 * @return array<int, string>
2341 * @compile-time-eval
2342 * @refcount 1
2343 */
2344function explode(string $separator, string $string, int $limit = PHP_INT_MAX): array {}
2345
2346/**
2347 * @compile-time-eval
2348 * @frameless-function {"arity": 1}
2349 * @frameless-function {"arity": 2}
2350 */
2351function implode(string|array $separator, ?array $array = null): string {}
2352
2353/** @alias implode */
2354function join(string|array $separator, ?array $array = null): string {}
2355
2356/**
2357 * @refcount 1
2358 */
2359function strtok(string $string, ?string $token = null): string|false {}
2360
2361/** @compile-time-eval */
2362function strtoupper(string $string): string {}
2363
2364/** @compile-time-eval */
2365function strtolower(string $string): string {}
2366
2367function str_increment(string $string): string {}
2368
2369function str_decrement(string $string): string {}
2370
2371/** @refcount 1 */
2372function basename(string $path, string $suffix = ""): string {}
2373
2374/**
2375 * @refcount 1
2376 * @frameless-function {"arity": 1}
2377 * @frameless-function {"arity": 2}
2378 */
2379function dirname(string $path, int $levels = 1): string {}
2380
2381/**
2382 * @return array<string, string>|string
2383 * @refcount 1
2384 */
2385function pathinfo(string $path, int $flags = PATHINFO_ALL): array|string {}
2386
2387/**
2388 * @compile-time-eval
2389 * @refcount 1
2390 */
2391function stristr(string $haystack, string $needle, bool $before_needle = false): string|false {}
2392
2393/**
2394 * @compile-time-eval
2395 * @refcount 1
2396 * @frameless-function {"arity": 2}
2397 * @frameless-function {"arity": 3}
2398 */
2399function strstr(string $haystack, string $needle, bool $before_needle = false): string|false {}
2400
2401/** @alias strstr */
2402function strchr(string $haystack, string $needle, bool $before_needle = false): string|false {}
2403
2404/**
2405 * @compile-time-eval
2406 * @frameless-function {"arity": 2}
2407 * @frameless-function {"arity": 3}
2408 */
2409function strpos(string $haystack, string $needle, int $offset = 0): int|false {}
2410
2411/** @compile-time-eval */
2412function stripos(string $haystack, string $needle, int $offset = 0): int|false {}
2413
2414/** @compile-time-eval */
2415function strrpos(string $haystack, string $needle, int $offset = 0): int|false {}
2416
2417/** @compile-time-eval */
2418function strripos(string $haystack, string $needle, int $offset = 0): int|false {}
2419
2420/**
2421 * @compile-time-eval
2422 * @refcount 1
2423 */
2424function strrchr(string $haystack, string $needle, bool $before_needle = false): string|false {}
2425
2426/**
2427 * @compile-time-eval
2428 * @frameless-function {"arity": 2}
2429 */
2430function str_contains(string $haystack, string $needle): bool {}
2431
2432/**
2433 * @compile-time-eval
2434 * @frameless-function {"arity": 2}
2435 */
2436function str_starts_with(string $haystack, string $needle): bool {}
2437
2438/** @compile-time-eval */
2439function str_ends_with(string $haystack, string $needle): bool {}
2440
2441/**
2442 * @compile-time-eval
2443 * @refcount 1
2444 */
2445function chunk_split(string $string, int $length = 76, string $separator = "\r\n"): string {}
2446
2447/**
2448 * @compile-time-eval
2449 * @frameless-function {"arity": 2}
2450 * @frameless-function {"arity": 3}
2451 */
2452function substr(string $string, int $offset, ?int $length = null): string {}
2453
2454/**
2455 * @return string|array<int|string, string>
2456 * @compile-time-eval
2457 */
2458function substr_replace(array|string $string, array|string $replace, array|int $offset, array|int|null $length = null): string|array {}
2459
2460/**
2461 * @compile-time-eval
2462 * @refcount 1
2463 */
2464function quotemeta(string $string): string {}
2465
2466/** @compile-time-eval */
2467function ord(string $character): int {}
2468
2469/**
2470 * @compile-time-eval
2471 * @refcount 1
2472 */
2473function chr(int $codepoint): string {}
2474
2475/** @compile-time-eval */
2476function ucfirst(string $string): string {}
2477
2478/** @compile-time-eval */
2479function lcfirst(string $string): string {}
2480
2481/**
2482 * @compile-time-eval
2483 * @refcount 1
2484 */
2485function ucwords(string $string, string $separators = " \t\r\n\f\v"): string {}
2486
2487/**
2488 * @compile-time-eval
2489 * @frameless-function {"arity": 2}
2490 * @frameless-function {"arity": 3}
2491 */
2492function strtr(string $string, string|array $from, ?string $to = null): string {}
2493
2494/**
2495 * @compile-time-eval
2496 * @refcount 1
2497 */
2498function strrev(string $string): string {}
2499
2500/** @param float $percent */
2501function similar_text(string $string1, string $string2, &$percent = null): int {}
2502
2503/**
2504 * @compile-time-eval
2505 */
2506function addcslashes(string $string, string $characters): string {}
2507
2508/**
2509 * @compile-time-eval
2510 */
2511function addslashes(string $string): string {}
2512
2513/**
2514 * @compile-time-eval
2515 * @refcount 1
2516 */
2517function stripcslashes(string $string): string {}
2518
2519/**
2520 * @compile-time-eval
2521 * @refcount 1
2522 */
2523function stripslashes(string $string): string {}
2524
2525/**
2526 * @param int $count
2527 * @return string|array<int|string, string>
2528 * @compile-time-eval
2529 * @frameless-function {"arity": 3}
2530 */
2531function str_replace(array|string $search, array|string $replace, string|array $subject, &$count = null): string|array {}
2532
2533/**
2534 * @param int $count
2535 * @return string|array<int|string, string>
2536 * @compile-time-eval
2537 */
2538function str_ireplace(array|string $search, array|string $replace, string|array $subject, &$count = null): string|array {}
2539
2540/** @refcount 1 */
2541function hebrev(string $string, int $max_chars_per_line = 0): string {}
2542
2543/**
2544 * @compile-time-eval
2545 */
2546function nl2br(string $string, bool $use_xhtml = true): string {}
2547
2548/**
2549 * @compile-time-eval
2550 * @refcount 1
2551 */
2552function strip_tags(string $string, array|string|null $allowed_tags = null): string {}
2553
2554/**
2555 * @param array|string $locales
2556 * @param string $rest
2557 */
2558function setlocale(int $category, $locales, ...$rest): string|false {}
2559
2560/** @param array $result */
2561function parse_str(string $string, &$result): void {}
2562
2563/**
2564 * @return array<int, string|null>
2565 * @refcount 1
2566 */
2567function str_getcsv(string $string, string $separator = ",", string $enclosure = "\"", string $escape = "\\"): array {}
2568
2569/** @refcount 1 */
2570function str_repeat(string $string, int $times): string {}
2571
2572/**
2573 * @return array<int, int>|string
2574 * @compile-time-eval
2575 * @refcount 1
2576 */
2577function count_chars(string $string, int $mode = 0): array|string {}
2578
2579function strnatcmp(string $string1, string $string2): int {}
2580
2581/**
2582 * @return array<string, int|string|array>
2583 * @refcount 1
2584 */
2585function localeconv(): array {}
2586
2587function strnatcasecmp(string $string1, string $string2): int {}
2588
2589/**
2590 * @compile-time-eval
2591 */
2592function substr_count(string $haystack, string $needle, int $offset = 0, ?int $length = null): int {}
2593
2594function str_pad(string $string, int $length, string $pad_string = " ", int $pad_type = STR_PAD_RIGHT): string {}
2595
2596/**
2597 * @return array<int, mixed>|int|null
2598 * @refcount 1
2599 */
2600function sscanf(string $string, string $format, mixed &...$vars): array|int|null {}
2601
2602/**
2603 * @compile-time-eval
2604 * @refcount 1
2605 */
2606function str_rot13(string $string): string {}
2607
2608/** @refcount 1 */
2609function str_shuffle(string $string): string {}
2610
2611/**
2612 * @return array<int, string>|int
2613 * @refcount 1
2614 */
2615function str_word_count(string $string, int $format = 0, ?string $characters = null): array|int {}
2616
2617/**
2618 * @return array<int, string>
2619 * @compile-time-eval
2620 */
2621function str_split(string $string, int $length = 1): array {}
2622
2623/**
2624 * @compile-time-eval
2625 * @refcount 1
2626 */
2627function strpbrk(string $string, string $characters): string|false {}
2628
2629/**
2630 * @compile-time-eval
2631 */
2632function substr_compare(string $haystack, string $needle, int $offset, ?int $length = null, bool $case_insensitive = false): int {}
2633
2634/**
2635 * @compile-time-eval
2636 * @refcount 1
2637 */
2638#[\Deprecated(since: '8.2', message: 'visit the php.net documentation for various alternatives')]
2639function utf8_encode(string $string): string {}
2640
2641/**
2642 * @compile-time-eval
2643 * @refcount 1
2644 */
2645#[\Deprecated(since: '8.2', message: 'visit the php.net documentation for various alternatives')]
2646function utf8_decode(string $string): string {}
2647
2648/* dir.c */
2649
2650/**
2651 * @param resource|null $context
2652 * @return resource|false
2653 */
2654function opendir(string $directory, $context = null) {}
2655
2656/**
2657 * @param resource|null $context
2658 * @refcount 1
2659 */
2660function dir(string $directory, $context = null): Directory|false {}
2661
2662/** @param resource|null $dir_handle */
2663function closedir($dir_handle = null): void {}
2664
2665function chdir(string $directory): bool {}
2666
2667#if (defined(HAVE_CHROOT) && !defined(ZTS) && defined(ENABLE_CHROOT_FUNC))
2668function chroot(string $directory): bool {}
2669#endif
2670
2671/** @refcount 1 */
2672function getcwd(): string|false {}
2673
2674/** @param resource|null $dir_handle */
2675function rewinddir($dir_handle = null): void {}
2676
2677/**
2678 * @param resource|null $dir_handle
2679 * @refcount 1
2680 */
2681function readdir($dir_handle = null): string|false {}
2682
2683/**
2684 * @param resource|null $context
2685 * @return array<int, string>|false
2686 * @refcount 1
2687 */
2688function scandir(string $directory, int $sorting_order = SCANDIR_SORT_ASCENDING, $context = null): array|false {}
2689
2690#ifdef HAVE_GLOB
2691/**
2692 * @return array<int, string>|false
2693 * @refcount 1
2694 */
2695function glob(string $pattern, int $flags = 0): array|false {}
2696#endif
2697
2698/* exec.c */
2699
2700/**
2701 * @param array $output
2702 * @param int $result_code
2703 * @refcount 1
2704 */
2705function exec(string $command, &$output = null, &$result_code = null): string|false {}
2706
2707/**
2708 * @param int $result_code
2709 * @refcount 1
2710 */
2711function system(string $command, &$result_code = null): string|false {}
2712
2713/** @param int $result_code */
2714function passthru(string $command, &$result_code = null): false|null {}
2715
2716/** @refcount 1 */
2717function escapeshellcmd(string $command): string {}
2718
2719/** @refcount 1 */
2720function escapeshellarg(string $arg): string {}
2721
2722/** @refcount 1 */
2723function shell_exec(string $command): string|false|null {}
2724
2725#ifdef HAVE_NICE
2726function proc_nice(int $priority): bool {}
2727#endif
2728
2729/* file.c */
2730
2731/**
2732 * @param resource $stream
2733 * @param int $would_block
2734 */
2735function flock($stream, int $operation, &$would_block = null): bool {}
2736
2737/**
2738 * @return array<string, string>|false
2739 * @refcount 1
2740 */
2741function get_meta_tags(string $filename, bool $use_include_path = false): array|false {}
2742
2743/** @param resource $handle */
2744function pclose($handle): int {}
2745
2746/**
2747 * @return resource|false
2748 * @refcount 1
2749 */
2750function popen(string $command, string $mode) {}
2751
2752/** @param resource|null $context */
2753function readfile(string $filename, bool $use_include_path = false, $context = null): int|false {}
2754
2755/** @param resource $stream */
2756function rewind($stream): bool {}
2757
2758/** @param resource|null $context */
2759function rmdir(string $directory, $context = null): bool {}
2760
2761function umask(?int $mask = null): int {}
2762
2763/** @param resource $stream */
2764function fclose($stream): bool {}
2765
2766/** @param resource $stream */
2767function feof($stream): bool {}
2768
2769/** @param resource $stream */
2770function fgetc($stream): string|false {}
2771
2772/**
2773 * @param resource $stream
2774 * @refcount 1
2775 */
2776function fgets($stream, ?int $length = null): string|false {}
2777
2778/**
2779 * @param resource $stream
2780 * @refcount 1
2781 */
2782function fread($stream, int $length): string|false {}
2783
2784/**
2785 * @param resource|null $context
2786 * @return resource|false
2787 * @refcount 1
2788 */
2789function fopen(string $filename, string $mode, bool $use_include_path = false, $context = null) {}
2790
2791/**
2792 * @param resource $stream
2793 * @return array<int, mixed>|int|false|null
2794 * @refcount 1
2795 */
2796function fscanf($stream, string $format, mixed &...$vars): array|int|false|null {}
2797
2798/** @param resource $stream */
2799function fpassthru($stream): int {}
2800
2801/** @param resource $stream */
2802function ftruncate($stream, int $size): bool {}
2803
2804/**
2805 * @param resource $stream
2806 * @return array<int|string, int>|false
2807 * @refcount 1
2808 */
2809function fstat($stream): array|false {}
2810
2811/** @param resource $stream */
2812function fseek($stream, int $offset, int $whence = SEEK_SET): int {}
2813
2814/** @param resource $stream */
2815function ftell($stream): int|false {}
2816
2817/** @param resource $stream */
2818function fflush($stream): bool {}
2819
2820/** @param resource $stream */
2821function fsync($stream): bool {}
2822
2823/** @param resource $stream */
2824function fdatasync($stream): bool {}
2825
2826/** @param resource $stream */
2827function fwrite($stream, string $data, ?int $length = null): int|false {}
2828
2829/**
2830 * @param resource $stream
2831 * @alias fwrite
2832 */
2833function fputs($stream, string $data, ?int $length = null): int|false {}
2834
2835/** @param resource|null $context */
2836function mkdir(string $directory, int $permissions = 0777, bool $recursive = false, $context = null): bool {}
2837
2838/** @param resource|null $context */
2839function rename(string $from, string $to, $context = null): bool {}
2840
2841/** @param resource|null $context */
2842function copy(string $from, string $to, $context = null): bool {}
2843
2844/** @refcount 1 */
2845function tempnam(string $directory, string $prefix): string|false {}
2846
2847/**
2848 * @return resource|false
2849 * @refcount 1
2850 */
2851function tmpfile() {}
2852
2853/**
2854 * @param resource|null $context
2855 * @return array<int, string>|false
2856 * @refcount 1
2857 */
2858function file(string $filename, int $flags = 0, $context = null): array|false {}
2859
2860/**
2861 * @param resource|null $context
2862 * @refcount 1
2863 */
2864function file_get_contents(string $filename, bool $use_include_path = false, $context = null, int $offset = 0, ?int $length = null): string|false {}
2865
2866/** @param resource|null $context */
2867function unlink(string $filename, $context = null): bool {}
2868
2869/** @param resource|null $context */
2870function file_put_contents(string $filename, mixed $data, int $flags = 0, $context = null): int|false {}
2871
2872/** @param resource $stream */
2873function fputcsv($stream, array $fields, string $separator = ",", string $enclosure = "\"", string $escape = "\\", string $eol = "\n"): int|false {}
2874
2875/**
2876 * @param resource $stream
2877 * @return array<int, string|null>|false
2878 * @refcount 1
2879 */
2880function fgetcsv($stream, ?int $length = null, string $separator = ",", string $enclosure = "\"", string $escape = "\\"): array|false {}
2881
2882/** @refcount 1 */
2883function realpath(string $path): string|false {}
2884
2885#ifdef HAVE_FNMATCH
2886function fnmatch(string $pattern, string $filename, int $flags = 0): bool {}
2887#endif
2888
2889/** @refcount 1 */
2890function sys_get_temp_dir(): string {}
2891
2892/* filestat.c */
2893
2894function fileatime(string $filename): int|false {}
2895
2896function filectime(string $filename): int|false {}
2897
2898function filegroup(string $filename): int|false {}
2899
2900function fileinode(string $filename): int|false {}
2901
2902function filemtime(string $filename): int|false {}
2903
2904function fileowner(string $filename): int|false {}
2905
2906function fileperms(string $filename): int|false {}
2907
2908function filesize(string $filename): int|false {}
2909
2910/** @refcount 1 */
2911function filetype(string $filename): string|false {}
2912
2913function file_exists(string $filename): bool {}
2914
2915function is_writable(string $filename): bool {}
2916
2917/** @alias is_writable */
2918function is_writeable(string $filename): bool {}
2919
2920function is_readable(string $filename): bool {}
2921
2922function is_executable(string $filename): bool {}
2923
2924function is_file(string $filename): bool {}
2925
2926function is_dir(string $filename): bool {}
2927
2928function is_link(string $filename): bool {}
2929
2930/**
2931 * @return array<int|string, bool|int|string>|false
2932 * @refcount 1
2933 */
2934function stat(string $filename): array|false {}
2935
2936/**
2937 * @return array<int|string, bool|int|string>|false
2938 * @refcount 1
2939 */
2940function lstat(string $filename): array|false {}
2941
2942function chown(string $filename, string|int $user): bool {}
2943
2944function chgrp(string $filename, string|int $group): bool {}
2945
2946#ifdef HAVE_LCHOWN
2947function lchown(string $filename, string|int $user): bool {}
2948
2949function lchgrp(string $filename, string|int $group): bool {}
2950#endif
2951
2952function chmod(string $filename, int $permissions): bool {}
2953
2954#ifdef HAVE_UTIME
2955function touch(string $filename, ?int $mtime = null, ?int $atime = null): bool {}
2956#endif
2957
2958function clearstatcache(bool $clear_realpath_cache = false, string $filename = ""): void {}
2959
2960function disk_total_space(string $directory): float|false {}
2961
2962function disk_free_space(string $directory): float|false {}
2963
2964/** @alias disk_free_space */
2965function diskfreespace(string $directory): float|false {}
2966
2967/**
2968 * @return array<string, array>
2969 * @refcount 1
2970 */
2971function realpath_cache_get(): array {}
2972
2973function realpath_cache_size(): int {}
2974
2975/* formatted_print.c */
2976
2977/** @refcount 1 */
2978function sprintf(string $format, mixed ...$values): string {}
2979
2980function printf(string $format, mixed ...$values): int {}
2981
2982function vprintf(string $format, array $values): int {}
2983
2984/** @refcount 1 */
2985function vsprintf(string $format, array $values): string {}
2986
2987/** @param resource $stream */
2988function fprintf($stream, string $format, mixed ...$values): int {}
2989
2990/** @param resource $stream */
2991function vfprintf($stream, string $format, array $values): int {}
2992
2993/* fsock.c */
2994
2995/**
2996 * @param int $error_code
2997 * @param string $error_message
2998 * @return resource|false
2999 * @refcount 1
3000 */
3001function fsockopen(string $hostname, int $port = -1, &$error_code = null, &$error_message = null, ?float $timeout = null) {}
3002
3003/**
3004 * @param int $error_code
3005 * @param string $error_message
3006 * @return resource|false
3007 */
3008function pfsockopen(string $hostname, int $port = -1, &$error_code = null, &$error_message = null, ?float $timeout = null) {}
3009
3010/* http.c */
3011
3012/** @refcount 1 */
3013function http_build_query(array|object $data, string $numeric_prefix = "", ?string $arg_separator = null, int $encoding_type = PHP_QUERY_RFC1738): string {}
3014
3015function http_get_last_response_headers(): ?array {}
3016
3017function http_clear_last_response_headers(): void {}
3018
3019/**
3020 * @param array|null $options
3021 * @return array<int, array>
3022 * @refcount 1
3023 */
3024function request_parse_body(?array $options = null): array {}
3025
3026/* image.c */
3027
3028/**
3029 * @compile-time-eval
3030 * @refcount 1
3031 */
3032function image_type_to_mime_type(int $image_type): string {}
3033
3034/**
3035 * @compile-time-eval
3036 * @refcount 1
3037 */
3038function image_type_to_extension(int $image_type, bool $include_dot = true): string|false {}
3039
3040/**
3041 * @param array $image_info
3042 * @return array<int|string, int|string>|false
3043 * @refcount 1
3044 */
3045function getimagesize(string $filename, &$image_info = null): array|false {}
3046
3047/**
3048 * @param array $image_info
3049 * @return array<int|string, int|string>|false
3050 * @refcount 1
3051 */
3052function getimagesizefromstring(string $string, &$image_info = null): array|false {}
3053
3054/* info.c */
3055
3056function phpinfo(int $flags = INFO_ALL): true {} // make return type void
3057
3058/**
3059 * @compile-time-eval
3060 * @refcount 1
3061 */
3062function phpversion(?string $extension = null): string|false {}
3063
3064function phpcredits(int $flags = CREDITS_ALL): true {}
3065
3066/**
3067 * @compile-time-eval
3068 * @refcount 1
3069 */
3070function php_sapi_name(): string|false {}
3071
3072/**
3073 * @compile-time-eval
3074 * @refcount 1
3075 */
3076function php_uname(string $mode = "a"): string {}
3077
3078/** @refcount 1 */
3079function php_ini_scanned_files(): string|false {}
3080
3081/** @refcount 1 */
3082function php_ini_loaded_file(): string|false {}
3083
3084/* iptc.c */
3085
3086/** @refcount 1 */
3087function iptcembed(string $iptc_data, string $filename, int $spool = 0): string|bool {}
3088
3089/**
3090 * @return array<string, array>|false
3091 * @refcount 1
3092 */
3093function iptcparse(string $iptc_block): array|false {}
3094
3095/* levenshtein.c */
3096
3097function levenshtein(string $string1, string $string2, int $insertion_cost = 1, int $replacement_cost = 1, int $deletion_cost = 1): int {}
3098
3099/* link.c */
3100
3101#if (defined(HAVE_SYMLINK) || defined(PHP_WIN32))
3102/** @refcount 1 */
3103function readlink(string $path): string|false {}
3104
3105function linkinfo(string $path): int|false {}
3106
3107function symlink(string $target, string $link): bool {}
3108
3109function link(string $target, string $link): bool {}
3110#endif
3111
3112/* mail.c */
3113
3114function mail(string $to, string $subject, string $message, array|string $additional_headers = [], string $additional_params = ""): bool {}
3115
3116/* math.c */
3117
3118/** @compile-time-eval */
3119function abs(int|float $num): int|float {}
3120
3121/** @compile-time-eval */
3122function ceil(int|float $num): float {}
3123
3124/** @compile-time-eval */
3125function floor(int|float $num): float {}
3126
3127enum RoundingMode {
3128    case HalfAwayFromZero;
3129    case HalfTowardsZero;
3130    case HalfEven;
3131    case HalfOdd;
3132    case TowardsZero;
3133    case AwayFromZero;
3134    case NegativeInfinity;
3135    case PositiveInfinity;
3136}
3137
3138/** @compile-time-eval */
3139function round(int|float $num, int $precision = 0, int|RoundingMode $mode = RoundingMode::HalfAwayFromZero): float {}
3140
3141/** @compile-time-eval */
3142function sin(float $num): float {}
3143
3144/** @compile-time-eval */
3145function cos(float $num): float {}
3146
3147/** @compile-time-eval */
3148function tan(float $num): float {}
3149
3150/** @compile-time-eval */
3151function asin(float $num): float {}
3152
3153/** @compile-time-eval */
3154function acos(float $num): float {}
3155
3156/** @compile-time-eval */
3157function atan(float $num): float {}
3158
3159/** @compile-time-eval */
3160function atanh(float $num): float {}
3161
3162/** @compile-time-eval */
3163function atan2(float $y, float $x): float {}
3164
3165/** @compile-time-eval */
3166function sinh(float $num): float {}
3167
3168/** @compile-time-eval */
3169function cosh(float $num): float {}
3170
3171/** @compile-time-eval */
3172function tanh(float $num): float {}
3173
3174/** @compile-time-eval */
3175function asinh(float $num): float {}
3176
3177/** @compile-time-eval */
3178function acosh(float $num): float {}
3179
3180/** @compile-time-eval */
3181function expm1(float $num): float {}
3182
3183/** @compile-time-eval */
3184function log1p(float $num): float {}
3185
3186/** @compile-time-eval */
3187function pi(): float {}
3188
3189/** @compile-time-eval */
3190function is_finite(float $num): bool {}
3191
3192/** @compile-time-eval */
3193function is_nan(float $num): bool {}
3194
3195/** @compile-time-eval */
3196function intdiv(int $num1, int $num2): int {}
3197
3198/** @compile-time-eval */
3199function is_infinite(float $num): bool {}
3200
3201/** @compile-time-eval */
3202function pow(mixed $num, mixed $exponent): int|float|object {}
3203
3204/** @compile-time-eval */
3205function exp(float $num): float {}
3206
3207/** @compile-time-eval */
3208function log(float $num, float $base = M_E): float {}
3209
3210/** @compile-time-eval */
3211function log10(float $num): float {}
3212
3213/** @compile-time-eval */
3214function sqrt(float $num): float {}
3215
3216/** @compile-time-eval */
3217function hypot(float $x, float $y): float {}
3218
3219/** @compile-time-eval */
3220function deg2rad(float $num): float {}
3221
3222/** @compile-time-eval */
3223function rad2deg(float $num): float {}
3224
3225/** @compile-time-eval */
3226function bindec(string $binary_string): int|float {}
3227
3228/** @compile-time-eval */
3229function hexdec(string $hex_string): int|float {}
3230
3231/** @compile-time-eval */
3232function octdec(string $octal_string): int|float {}
3233
3234/**
3235 * @compile-time-eval
3236 * @refcount 1
3237 */
3238function decbin(int $num): string {}
3239
3240/**
3241 * @compile-time-eval
3242 * @refcount 1
3243 */
3244function decoct(int $num): string {}
3245
3246/**
3247 * @compile-time-eval
3248 * @refcount 1
3249 * @frameless-function {"arity": 1}
3250 */
3251function dechex(int $num): string {}
3252
3253/**
3254 * @compile-time-eval
3255 * @refcount 1
3256 */
3257function base_convert(string $num, int $from_base, int $to_base): string {}
3258
3259/**
3260 * @compile-time-eval
3261 * @refcount 1
3262 */
3263function number_format(float $num, int $decimals = 0, ?string $decimal_separator = ".", ?string $thousands_separator = ","): string {}
3264
3265/**
3266 * @compile-time-eval
3267 */
3268function fmod(float $num1, float $num2): float {}
3269
3270/**
3271 * @compile-time-eval
3272 */
3273function fdiv(float $num1, float $num2): float {}
3274
3275/**
3276 * @compile-time-eval
3277 */
3278function fpow(float $num, float $exponent): float {}
3279
3280/* microtime.c */
3281
3282#ifdef HAVE_GETTIMEOFDAY
3283/** @refcount 1 */
3284function microtime(bool $as_float = false): string|float {}
3285
3286/**
3287 * @return array<string, int>|float
3288 * @refcount 1
3289 */
3290function gettimeofday(bool $as_float = false): array|float {}
3291#endif
3292
3293#ifdef HAVE_GETRUSAGE
3294/**
3295 * @return array<string, int>|false
3296 * @refcount 1
3297 */
3298function getrusage(int $mode = 0): array|false {}
3299#endif
3300
3301/* pack.c */
3302
3303/**
3304 * @compile-time-eval
3305 * @refcount 1
3306 */
3307function pack(string $format, mixed ...$values): string {}
3308
3309/**
3310 * @return array<int|string, mixed>|false
3311 * @compile-time-eval
3312 * @refcount 1
3313 */
3314function unpack(string $format, string $string, int $offset = 0): array|false {}
3315
3316/* password.c */
3317
3318/**
3319 * @return array<string, string|array|null>
3320 * @refcount 1
3321 */
3322function password_get_info(string $hash): array {}
3323
3324/**
3325 * @refcount 1
3326 */
3327function password_hash(#[\SensitiveParameter] string $password, string|int|null $algo, array $options = []): string {}
3328
3329function password_needs_rehash(string $hash, string|int|null $algo, array $options = []): bool {}
3330
3331function password_verify(#[\SensitiveParameter] string $password, string $hash): bool {}
3332
3333/**
3334 * @compile-time-eval
3335 */
3336function password_algos(): array {}
3337
3338/* proc_open.c */
3339
3340#ifdef PHP_CAN_SUPPORT_PROC_OPEN
3341/**
3342 * @param array $pipes
3343 * @return resource|false
3344 * @refcount 1
3345 */
3346function proc_open(array|string $command, array $descriptor_spec, &$pipes, ?string $cwd = null, ?array $env_vars = null, ?array $options = null) {}
3347
3348/** @param resource $process */
3349function proc_close($process): int {}
3350
3351/** @param resource $process */
3352function proc_terminate($process, int $signal = 15): bool {}
3353
3354/**
3355 * @param resource $process
3356 * @return array<string, bool|int|string>
3357 * @refcount 1
3358 */
3359function proc_get_status($process): array {}
3360#endif
3361
3362/* quot_print.c */
3363
3364/**
3365 * @compile-time-eval
3366 * @refcount 1
3367 */
3368function quoted_printable_decode(string $string): string {}
3369
3370/**
3371 * @compile-time-eval
3372 * @refcount 1
3373 */
3374function quoted_printable_encode(string $string): string {}
3375
3376/* soundex.c */
3377
3378/** @refcount 1 */
3379function soundex(string $string): string {}
3380
3381/* streamsfuncs.c */
3382
3383function stream_select(?array &$read, ?array &$write, ?array &$except, ?int $seconds, ?int $microseconds = null): int|false {}
3384
3385/**
3386 * @return resource
3387 * @refcount 1
3388 */
3389function stream_context_create(?array $options = null, ?array $params = null) {}
3390
3391/** @param resource $context */
3392function stream_context_set_params($context, array $params): true {}
3393
3394/**
3395 * @param resource $context
3396 * @return array<string, mixed>
3397 * @refcount 1
3398 */
3399function stream_context_get_params($context): array {}
3400
3401/** @param resource $context */
3402function stream_context_set_option($context, array|string $wrapper_or_options, ?string $option_name = null, mixed $value = UNKNOWN): true {}
3403
3404/** @param resource $context */
3405function stream_context_set_options($context, array $options): true {}
3406
3407/**
3408 * @param resource $stream_or_context
3409 * @return array<string, mixed>
3410 */
3411function stream_context_get_options($stream_or_context): array {}
3412
3413/** @return resource */
3414function stream_context_get_default(?array $options = null) {}
3415
3416/** @return resource */
3417function stream_context_set_default(array $options) {}
3418
3419/**
3420 * @param resource $stream
3421 * @return resource|false
3422 */
3423function stream_filter_prepend($stream, string $filter_name, int $mode = 0, mixed $params = UNKNOWN) {}
3424
3425/**
3426 * @param resource $stream
3427 * @return resource|false
3428 */
3429function stream_filter_append($stream, string $filter_name, int $mode = 0, mixed $params = UNKNOWN) {}
3430
3431/** @param resource $stream_filter */
3432function stream_filter_remove($stream_filter): bool {}
3433
3434/**
3435 * @param int $error_code
3436 * @param string $error_message
3437 * @param resource|null $context
3438 * @return resource|false
3439 * @refcount 1
3440 */
3441function stream_socket_client(string $address, &$error_code = null, &$error_message = null, ?float $timeout = null, int $flags = STREAM_CLIENT_CONNECT, $context = null) {}
3442
3443/**
3444 * @param int $error_code
3445 * @param string $error_message
3446 * @param resource|null $context
3447 * @return resource|false
3448 * @refcount 1
3449 */
3450function stream_socket_server(string $address, &$error_code = null, &$error_message = null, int $flags = STREAM_SERVER_BIND | STREAM_SERVER_LISTEN, $context = null) {}
3451
3452/**
3453 * @param resource $socket
3454 * @param string $peer_name
3455 * @return resource|false
3456 * @refcount 1
3457 */
3458function stream_socket_accept($socket, ?float $timeout = null, &$peer_name = null) {}
3459
3460/** @param resource $socket */
3461function stream_socket_get_name($socket, bool $remote): string|false {}
3462
3463/**
3464 * @param resource $socket
3465 * @param string|null $address
3466 * @refcount 1
3467 */
3468function stream_socket_recvfrom($socket, int $length, int $flags = 0, &$address = null): string|false {}
3469
3470/** @param resource $socket */
3471function stream_socket_sendto($socket, string $data, int $flags = 0, string $address = ""): int|false {}
3472
3473/**
3474 * @param resource $stream
3475 * @param resource|null $session_stream
3476 */
3477function stream_socket_enable_crypto($stream, bool $enable, ?int $crypto_method = null, $session_stream = null): int|bool {}
3478
3479#ifdef HAVE_SHUTDOWN
3480/** @param resource $stream */
3481function stream_socket_shutdown($stream, int $mode): bool {}
3482#endif
3483
3484#ifdef HAVE_SOCKETPAIR
3485/**
3486 * @return array<int, resource>|false
3487 * @refcount 1
3488 */
3489function stream_socket_pair(int $domain, int $type, int $protocol): array|false {}
3490#endif
3491
3492/**
3493 * @param resource $from
3494 * @param resource $to
3495 */
3496function stream_copy_to_stream($from, $to, ?int $length = null, int $offset = 0): int|false {}
3497
3498/**
3499 * @param resource $stream
3500 * @refcount 1
3501 */
3502function stream_get_contents($stream, ?int $length = null, int $offset = -1): string|false {}
3503
3504/** @param resource $stream */
3505function stream_supports_lock($stream): bool {}
3506
3507/** @param resource $stream */
3508function stream_set_write_buffer($stream, int $size): int {}
3509
3510/**
3511 * @param resource $stream
3512 * @alias stream_set_write_buffer
3513 */
3514function set_file_buffer($stream, int $size): int {}
3515
3516/** @param resource $stream */
3517function stream_set_read_buffer($stream, int $size): int {}
3518
3519/** @param resource $stream */
3520function stream_set_blocking($stream, bool $enable): bool {}
3521
3522/**
3523 * @param resource $stream
3524 * @alias stream_set_blocking
3525 */
3526function socket_set_blocking($stream, bool $enable): bool {}
3527
3528/**
3529 * @param resource $stream
3530 * @return array<string, mixed>
3531 */
3532function stream_get_meta_data($stream): array {}
3533
3534/**
3535 * @param resource $stream
3536 * @return array<string, mixed>
3537 * @alias stream_get_meta_data
3538 */
3539function socket_get_status($stream): array {}
3540
3541/**
3542 * @param resource $stream
3543 * @refcount 1
3544 */
3545function stream_get_line($stream, int $length, string $ending = ""): string|false {}
3546
3547/** @refcount 1 */
3548function stream_resolve_include_path(string $filename): string|false {}
3549
3550/**
3551 * @return array<int, string>
3552 * @refcount 1
3553 */
3554function stream_get_wrappers(): array {}
3555
3556/**
3557 * @return array<int, string>
3558 * @refcount 1
3559 */
3560function stream_get_transports(): array {}
3561
3562/** @param resource|string $stream */
3563function stream_is_local($stream): bool {}
3564
3565/** @param resource $stream */
3566function stream_isatty($stream): bool {}
3567
3568#ifdef PHP_WIN32
3569/** @param resource $stream */
3570function sapi_windows_vt100_support($stream, ?bool $enable = null): bool {}
3571#endif
3572
3573/** @param resource $stream */
3574function stream_set_chunk_size($stream, int $size): int {}
3575
3576#if (defined(HAVE_SYS_TIME_H) || defined(PHP_WIN32))
3577/** @param resource $stream */
3578function stream_set_timeout($stream, int $seconds, int $microseconds = 0): bool {}
3579
3580/**
3581 * @param resource $stream
3582 * @alias stream_set_timeout
3583 */
3584function socket_set_timeout($stream, int $seconds, int $microseconds = 0): bool {}
3585#endif
3586
3587/* type.c */
3588
3589/**
3590 * @compile-time-eval
3591 */
3592function gettype(mixed $value): string {}
3593
3594/**
3595 * @compile-time-eval
3596 */
3597function get_debug_type(mixed $value): string {}
3598
3599function settype(mixed &$var, string $type): bool {}
3600
3601/**
3602 * @compile-time-eval
3603 */
3604function intval(mixed $value, int $base = 10): int {}
3605
3606/**
3607 * @compile-time-eval
3608 */
3609function floatval(mixed $value): float {}
3610
3611/** @alias floatval */
3612function doubleval(mixed $value): float {}
3613
3614/**
3615 * @compile-time-eval
3616 */
3617function boolval(mixed $value): bool {}
3618
3619/**
3620 * @compile-time-eval
3621 */
3622function strval(mixed $value): string {}
3623
3624/**
3625 * @compile-time-eval
3626 */
3627function is_null(mixed $value): bool {}
3628
3629/**
3630 * @compile-time-eval
3631 */
3632function is_resource(mixed $value): bool {}
3633
3634/**
3635 * @compile-time-eval
3636 */
3637function is_bool(mixed $value): bool {}
3638
3639/**
3640 * @compile-time-eval
3641 */
3642function is_int(mixed $value): bool {}
3643
3644/** @alias is_int */
3645function is_integer(mixed $value): bool {}
3646
3647/** @alias is_int */
3648function is_long(mixed $value): bool {}
3649
3650/**
3651 * @compile-time-eval
3652 */
3653function is_float(mixed $value): bool {}
3654
3655/** @alias is_float */
3656function is_double(mixed $value): bool {}
3657
3658/**
3659 * @compile-time-eval
3660 * @frameless-function {"arity": 1}
3661 */
3662function is_numeric(mixed $value): bool {}
3663
3664/**
3665 * @compile-time-eval
3666 */
3667function is_string(mixed $value): bool {}
3668
3669/**
3670 * @compile-time-eval
3671 */
3672function is_array(mixed $value): bool {}
3673
3674/**
3675 * @compile-time-eval
3676 */
3677function is_object(mixed $value): bool {}
3678
3679/**
3680 * @compile-time-eval
3681 */
3682function is_scalar(mixed $value): bool {}
3683
3684/** @param string $callable_name */
3685function is_callable(mixed $value, bool $syntax_only = false, &$callable_name = null): bool {}
3686
3687/**
3688 * @compile-time-eval
3689 */
3690function is_iterable(mixed $value): bool {}
3691
3692/**
3693 * @compile-time-eval
3694 */
3695function is_countable(mixed $value): bool {}
3696
3697/* uniqid.c */
3698
3699#ifdef HAVE_GETTIMEOFDAY
3700/** @refcount 1 */
3701function uniqid(string $prefix = "", bool $more_entropy = false): string {}
3702#endif
3703
3704/* url.c */
3705
3706/**
3707 * @return int|string|array<string, int|string>|null|false
3708 * @compile-time-eval
3709 * @refcount 1
3710 */
3711function parse_url(string $url, int $component = -1): int|string|array|null|false {}
3712
3713/**
3714 * @compile-time-eval
3715 * @refcount 1
3716 */
3717function urlencode(string $string): string {}
3718
3719/**
3720 * @compile-time-eval
3721 * @refcount 1
3722 */
3723function urldecode(string $string): string {}
3724
3725/**
3726 * @compile-time-eval
3727 * @refcount 1
3728 */
3729function rawurlencode(string $string): string {}
3730
3731/**
3732 * @compile-time-eval
3733 * @refcount 1
3734 */
3735function rawurldecode(string $string): string {}
3736
3737/**
3738 * @param resource|null $context
3739 * @return array<int|string, string|array>|false
3740 * @refcount 1
3741 */
3742function get_headers(string $url, bool $associative = false, $context = null): array|false {}
3743
3744/* user_filters.c */
3745
3746/**
3747 * @param resource $brigade
3748 * @refcount 1
3749 */
3750function stream_bucket_make_writeable($brigade): ?StreamBucket {}
3751
3752/** @param resource $brigade */
3753function stream_bucket_prepend($brigade, StreamBucket $bucket): void {}
3754
3755/** @param resource $brigade */
3756function stream_bucket_append($brigade, StreamBucket $bucket): void {}
3757
3758/**
3759 * @param resource $stream
3760 * @refcount 1
3761 */
3762function stream_bucket_new($stream, string $buffer): StreamBucket {}
3763
3764/**
3765 * @return array<int, string>
3766 * @refcount 1
3767 */
3768function stream_get_filters(): array {}
3769
3770function stream_filter_register(string $filter_name, string $class): bool {}
3771
3772/* uuencode.c */
3773
3774/**
3775 * @compile-time-eval
3776 * @refcount 1
3777 */
3778function convert_uuencode(string $string): string {}
3779
3780/**
3781 * @compile-time-eval
3782 * @refcount 1
3783 */
3784function convert_uudecode(string $string): string|false {}
3785
3786/* var.c */
3787
3788function var_dump(mixed $value, mixed ...$values): void {}
3789
3790/** @refcount 1 */
3791function var_export(mixed $value, bool $return = false): ?string {}
3792
3793function debug_zval_dump(mixed $value, mixed ...$values): void {}
3794
3795/**
3796 * @compile-time-eval
3797 * @refcount 1
3798 */
3799function serialize(mixed $value): string {}
3800
3801function unserialize(string $data, array $options = []): mixed {}
3802
3803function memory_get_usage(bool $real_usage = false): int {}
3804
3805function memory_get_peak_usage(bool $real_usage = false): int {}
3806
3807function memory_reset_peak_usage(): void {}
3808
3809/* versioning.c */
3810
3811/** @compile-time-eval */
3812function version_compare(string $version1, string $version2, ?string $operator = null): int|bool {}
3813
3814/* win32/codepage.c */
3815
3816#ifdef PHP_WIN32
3817function sapi_windows_cp_set(int $codepage): bool {}
3818
3819function sapi_windows_cp_get(string $kind = ""): int {}
3820
3821function sapi_windows_cp_conv(int|string $in_codepage, int|string $out_codepage, string $subject): ?string {}
3822
3823function sapi_windows_cp_is_utf8(): bool {}
3824
3825function sapi_windows_set_ctrl_handler(?callable $handler, bool $add = true): bool {}
3826
3827function sapi_windows_generate_ctrl_event(int $event, int $pid = 0): bool {}
3828#endif
3829