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): bool {}
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
2029/** @refcount 1 */
2030function get_include_path(): string|false {}
2031
2032/** @refcount 1 */
2033function print_r(mixed $value, bool $return = false): string|true {}
2034
2035function connection_aborted(): int {}
2036
2037function connection_status(): int {}
2038
2039function ignore_user_abort(?bool $enable = null): int {}
2040
2041#ifdef HAVE_GETSERVBYNAME
2042function getservbyname(string $service, string $protocol): int|false {}
2043#endif
2044
2045#ifdef HAVE_GETSERVBYPORT
2046/** @refcount 1 */
2047function getservbyport(int $port, string $protocol): string|false {}
2048#endif
2049
2050#ifdef HAVE_GETPROTOBYNAME
2051function getprotobyname(string $protocol): int|false {}
2052#endif
2053
2054#ifdef HAVE_GETPROTOBYNUMBER
2055/** @refcount 1 */
2056function getprotobynumber(int $protocol): string|false {}
2057#endif
2058
2059function register_tick_function(callable $callback, mixed ...$args): bool {}
2060
2061function unregister_tick_function(callable $callback): void {}
2062
2063function is_uploaded_file(string $filename): bool {}
2064
2065function move_uploaded_file(string $from, string $to): bool {}
2066
2067/**
2068 * @return array<int|string, bool|int|float|string|array|null>|false
2069 * @refcount 1
2070 */
2071function parse_ini_file(string $filename, bool $process_sections = false, int $scanner_mode = INI_SCANNER_NORMAL): array|false {}
2072
2073/**
2074 * @return array<int|string, bool|int|float|string|array|null>|false
2075 * @compile-time-eval
2076 * @refcount 1
2077 */
2078function parse_ini_string(string $ini_string, bool $process_sections = false, int $scanner_mode = INI_SCANNER_NORMAL): array|false {}
2079
2080#if ZEND_DEBUG
2081/**
2082 * @return array<string, string|array>
2083 * @refcount 1
2084 */
2085function config_get_hash(): array {}
2086#endif
2087
2088#ifdef HAVE_GETLOADAVG
2089/**
2090 * @return array<int, float>|false
2091 * @refcount 1
2092 */
2093function sys_getloadavg(): array|false {}
2094#endif
2095
2096/* browscap.c */
2097
2098/**
2099 * @return object|array<string, mixed>|false
2100 * @refcount 1
2101 */
2102function get_browser(?string $user_agent = null, bool $return_array = false): object|array|false {}
2103
2104/* crc32.c */
2105
2106/** @compile-time-eval */
2107function crc32(string $string): int {}
2108
2109/* crypt.c */
2110
2111/** @refcount 1 */
2112function crypt(#[\SensitiveParameter] string $string, string $salt): string {}
2113
2114/* datetime.c */
2115
2116#ifdef HAVE_STRPTIME
2117/**
2118 * @return array<string, int|string>|false
2119 * @refcount 1
2120 */
2121#[\Deprecated(since: '8.2', message: 'use date_parse_from_format() (for locale-independent parsing), or IntlDateFormatter::parse() (for locale-dependent parsing) instead')]
2122function strptime(string $timestamp, string $format): array|false {}
2123#endif
2124
2125/* dns.c */
2126
2127#ifdef HAVE_GETHOSTNAME
2128/** @refcount 1 */
2129function gethostname(): string|false {}
2130#endif
2131
2132/** @refcount 1 */
2133function gethostbyaddr(string $ip): string|false {}
2134
2135/** @refcount 1 */
2136function gethostbyname(string $hostname): string {}
2137
2138/**
2139 * @return array<int, string>|false
2140 * @refcount 1
2141 */
2142function gethostbynamel(string $hostname): array|false {}
2143
2144#if (defined(PHP_WIN32) || defined(HAVE_DNS_SEARCH_FUNC))
2145function dns_check_record(string $hostname, string $type = "MX"): bool {}
2146
2147/** @alias dns_check_record */
2148function checkdnsrr(string $hostname, string $type = "MX"): bool {}
2149
2150/**
2151 * @param array $authoritative_name_servers
2152 * @param array $additional_records
2153 * @return array<int, array>|false
2154 * @refcount 1
2155 */
2156function dns_get_record(string $hostname, int $type = DNS_ANY, &$authoritative_name_servers = null, &$additional_records = null, bool $raw = false): array|false {}
2157
2158/**
2159 * @param array $hosts
2160 * @param array $weights
2161 */
2162function dns_get_mx(string $hostname, &$hosts, &$weights = null): bool {}
2163
2164/**
2165 * @param array $hosts
2166 * @param array $weights
2167 * @alias dns_get_mx
2168 */
2169function getmxrr(string $hostname, &$hosts, &$weights = null): bool {}
2170#endif
2171
2172/* net.c */
2173
2174#if (defined(PHP_WIN32) || defined(HAVE_GETIFADDRS) || defined(__PASE__))
2175function net_get_interfaces(): array|false {}
2176#endif
2177
2178/* ftok.c */
2179
2180#ifdef HAVE_FTOK
2181function ftok(string $filename, string $project_id): int {}
2182#endif
2183
2184/* hrtime.c */
2185
2186function hrtime(bool $as_number = false): array|int|float|false {}
2187
2188/* md5.c */
2189
2190/** @refcount 1 */
2191function md5(string $string, bool $binary = false): string {}
2192
2193/** @refcount 1 */
2194function md5_file(string $filename, bool $binary = false): string|false {}
2195
2196/* pageinfo.c */
2197
2198function getmyuid(): int|false {}
2199
2200function getmygid(): int|false {}
2201
2202function getmypid(): int|false {}
2203
2204function getmyinode(): int|false {}
2205
2206function getlastmod(): int|false {}
2207
2208/* sha1.c */
2209
2210/** @refcount 1 */
2211function sha1(string $string, bool $binary = false): string {}
2212
2213/** @refcount 1 */
2214function sha1_file(string $filename, bool $binary = false): string|false {}
2215
2216/* syslog.c */
2217
2218#ifdef HAVE_SYSLOG_H
2219function openlog(string $prefix, int $flags, int $facility): true {}
2220
2221function closelog(): true {}
2222
2223function syslog(int $priority, string $message): true {}
2224#endif
2225
2226/** @refcount 1 */
2227function inet_ntop(string $ip): string|false {}
2228
2229/** @refcount 1 */
2230function inet_pton(string $ip): string|false {}
2231
2232/* metaphone.c */
2233
2234/** @refcount 1 */
2235function metaphone(string $string, int $max_phonemes = 0): string {}
2236
2237/* {{{ head.c */
2238function header(string $header, bool $replace = true, int $response_code = 0): void {}
2239
2240function header_remove(?string $name = null): void {}
2241
2242function setrawcookie(string $name, string $value = "", array|int $expires_or_options = 0, string $path = "", string $domain = "", bool $secure = false, bool $httponly = false): bool {}
2243
2244function setcookie(string $name, string $value = "", array|int $expires_or_options = 0, string $path = "", string $domain = "", bool $secure = false, bool $httponly = false): bool {}
2245
2246function http_response_code(int $response_code = 0): int|bool {}
2247
2248/**
2249 * @param string $filename
2250 * @param int $line
2251 */
2252function headers_sent(&$filename = null, &$line = null): bool {}
2253
2254/**
2255 * @return array<int, string>
2256 * @refcount 1
2257 */
2258function headers_list(): array {}
2259
2260/* {{{ html.c */
2261
2262/** @refcount 1 */
2263function htmlspecialchars(string $string, int $flags = ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401, ?string $encoding = null, bool $double_encode = true): string {}
2264
2265function htmlspecialchars_decode(string $string, int $flags = ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401): string {}
2266
2267function html_entity_decode(string $string, int $flags = ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401, ?string $encoding = null): string {}
2268
2269/** @refcount 1 */
2270function htmlentities(string $string, int $flags = ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401, ?string $encoding = null, bool $double_encode = true): string {}
2271
2272/**
2273 * @return array<string, string>
2274 * @refcount 1
2275 */
2276function get_html_translation_table(int $table = HTML_SPECIALCHARS, int $flags = ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401, string $encoding = "UTF-8"): array {}
2277
2278/* }}} */
2279
2280/* assert.c */
2281
2282function assert(mixed $assertion, Throwable|string|null $description = null): bool {}
2283
2284#[\Deprecated(since: '8.3')]
2285function assert_options(int $option, mixed $value = UNKNOWN): mixed {}
2286
2287/* string.c */
2288
2289/**
2290 * @compile-time-eval
2291 * @refcount 1
2292 */
2293function bin2hex(string $string): string {}
2294
2295/**
2296 * @compile-time-eval
2297 * @refcount 1
2298 */
2299function hex2bin(string $string): string|false {}
2300
2301/**
2302 * @compile-time-eval
2303 */
2304function strspn(string $string, string $characters, int $offset = 0, ?int $length = null): int {}
2305
2306/**
2307 * @compile-time-eval
2308 */
2309function strcspn(string $string, string $characters, int $offset = 0, ?int $length = null): int {}
2310
2311#ifdef HAVE_NL_LANGINFO
2312/** @refcount 1 */
2313function nl_langinfo(int $item): string|false {}
2314#endif
2315
2316function strcoll(string $string1, string $string2): int {}
2317
2318/**
2319 * @compile-time-eval
2320 * @frameless-function {"arity": 1}
2321 * @frameless-function {"arity": 2}
2322 */
2323function trim(string $string, string $characters = " \n\r\t\v\0"): string {}
2324
2325/** @compile-time-eval */
2326function rtrim(string $string, string $characters = " \n\r\t\v\0"): string {}
2327
2328/** @alias rtrim */
2329function chop(string $string, string $characters = " \n\r\t\v\0"): string {}
2330
2331/** @compile-time-eval */
2332function ltrim(string $string, string $characters = " \n\r\t\v\0"): string {}
2333
2334/**
2335 * @compile-time-eval
2336 * @refcount 1
2337 */
2338function wordwrap(string $string, int $width = 75, string $break = "\n", bool $cut_long_words = false): string {}
2339
2340/**
2341 * @return array<int, string>
2342 * @compile-time-eval
2343 * @refcount 1
2344 */
2345function explode(string $separator, string $string, int $limit = PHP_INT_MAX): array {}
2346
2347/**
2348 * @compile-time-eval
2349 * @frameless-function {"arity": 1}
2350 * @frameless-function {"arity": 2}
2351 */
2352function implode(string|array $separator, ?array $array = null): string {}
2353
2354/** @alias implode */
2355function join(string|array $separator, ?array $array = null): string {}
2356
2357/**
2358 * @refcount 1
2359 */
2360function strtok(string $string, ?string $token = null): string|false {}
2361
2362/** @compile-time-eval */
2363function strtoupper(string $string): string {}
2364
2365/** @compile-time-eval */
2366function strtolower(string $string): string {}
2367
2368function str_increment(string $string): string {}
2369
2370function str_decrement(string $string): string {}
2371
2372/** @refcount 1 */
2373function basename(string $path, string $suffix = ""): string {}
2374
2375/**
2376 * @refcount 1
2377 * @frameless-function {"arity": 1}
2378 * @frameless-function {"arity": 2}
2379 */
2380function dirname(string $path, int $levels = 1): string {}
2381
2382/**
2383 * @return array<string, string>|string
2384 * @refcount 1
2385 */
2386function pathinfo(string $path, int $flags = PATHINFO_ALL): array|string {}
2387
2388/**
2389 * @compile-time-eval
2390 * @refcount 1
2391 */
2392function stristr(string $haystack, string $needle, bool $before_needle = false): string|false {}
2393
2394/**
2395 * @compile-time-eval
2396 * @refcount 1
2397 * @frameless-function {"arity": 2}
2398 * @frameless-function {"arity": 3}
2399 */
2400function strstr(string $haystack, string $needle, bool $before_needle = false): string|false {}
2401
2402/** @alias strstr */
2403function strchr(string $haystack, string $needle, bool $before_needle = false): string|false {}
2404
2405/**
2406 * @compile-time-eval
2407 * @frameless-function {"arity": 2}
2408 * @frameless-function {"arity": 3}
2409 */
2410function strpos(string $haystack, string $needle, int $offset = 0): int|false {}
2411
2412/** @compile-time-eval */
2413function stripos(string $haystack, string $needle, int $offset = 0): int|false {}
2414
2415/** @compile-time-eval */
2416function strrpos(string $haystack, string $needle, int $offset = 0): int|false {}
2417
2418/** @compile-time-eval */
2419function strripos(string $haystack, string $needle, int $offset = 0): int|false {}
2420
2421/**
2422 * @compile-time-eval
2423 * @refcount 1
2424 */
2425function strrchr(string $haystack, string $needle, bool $before_needle = false): string|false {}
2426
2427/**
2428 * @compile-time-eval
2429 * @frameless-function {"arity": 2}
2430 */
2431function str_contains(string $haystack, string $needle): bool {}
2432
2433/**
2434 * @compile-time-eval
2435 * @frameless-function {"arity": 2}
2436 */
2437function str_starts_with(string $haystack, string $needle): bool {}
2438
2439/** @compile-time-eval */
2440function str_ends_with(string $haystack, string $needle): bool {}
2441
2442/**
2443 * @compile-time-eval
2444 * @refcount 1
2445 */
2446function chunk_split(string $string, int $length = 76, string $separator = "\r\n"): string {}
2447
2448/**
2449 * @compile-time-eval
2450 * @frameless-function {"arity": 2}
2451 * @frameless-function {"arity": 3}
2452 */
2453function substr(string $string, int $offset, ?int $length = null): string {}
2454
2455/**
2456 * @return string|array<int|string, string>
2457 * @compile-time-eval
2458 */
2459function substr_replace(array|string $string, array|string $replace, array|int $offset, array|int|null $length = null): string|array {}
2460
2461/**
2462 * @compile-time-eval
2463 * @refcount 1
2464 */
2465function quotemeta(string $string): string {}
2466
2467/** @compile-time-eval */
2468function ord(string $character): int {}
2469
2470/**
2471 * @compile-time-eval
2472 * @refcount 1
2473 */
2474function chr(int $codepoint): string {}
2475
2476/** @compile-time-eval */
2477function ucfirst(string $string): string {}
2478
2479/** @compile-time-eval */
2480function lcfirst(string $string): string {}
2481
2482/**
2483 * @compile-time-eval
2484 * @refcount 1
2485 */
2486function ucwords(string $string, string $separators = " \t\r\n\f\v"): string {}
2487
2488/**
2489 * @compile-time-eval
2490 * @frameless-function {"arity": 2}
2491 * @frameless-function {"arity": 3}
2492 */
2493function strtr(string $string, string|array $from, ?string $to = null): string {}
2494
2495/**
2496 * @compile-time-eval
2497 * @refcount 1
2498 */
2499function strrev(string $string): string {}
2500
2501/** @param float $percent */
2502function similar_text(string $string1, string $string2, &$percent = null): int {}
2503
2504/**
2505 * @compile-time-eval
2506 */
2507function addcslashes(string $string, string $characters): string {}
2508
2509/**
2510 * @compile-time-eval
2511 */
2512function addslashes(string $string): string {}
2513
2514/**
2515 * @compile-time-eval
2516 * @refcount 1
2517 */
2518function stripcslashes(string $string): string {}
2519
2520/**
2521 * @compile-time-eval
2522 * @refcount 1
2523 */
2524function stripslashes(string $string): string {}
2525
2526/**
2527 * @param int $count
2528 * @return string|array<int|string, string>
2529 * @compile-time-eval
2530 * @frameless-function {"arity": 3}
2531 */
2532function str_replace(array|string $search, array|string $replace, string|array $subject, &$count = null): string|array {}
2533
2534/**
2535 * @param int $count
2536 * @return string|array<int|string, string>
2537 * @compile-time-eval
2538 */
2539function str_ireplace(array|string $search, array|string $replace, string|array $subject, &$count = null): string|array {}
2540
2541/** @refcount 1 */
2542function hebrev(string $string, int $max_chars_per_line = 0): string {}
2543
2544/**
2545 * @compile-time-eval
2546 */
2547function nl2br(string $string, bool $use_xhtml = true): string {}
2548
2549/**
2550 * @compile-time-eval
2551 * @refcount 1
2552 */
2553function strip_tags(string $string, array|string|null $allowed_tags = null): string {}
2554
2555/**
2556 * @param array|string $locales
2557 * @param string $rest
2558 */
2559function setlocale(int $category, $locales, ...$rest): string|false {}
2560
2561/** @param array $result */
2562function parse_str(string $string, &$result): void {}
2563
2564/**
2565 * @return array<int, string|null>
2566 * @refcount 1
2567 */
2568function str_getcsv(string $string, string $separator = ",", string $enclosure = "\"", string $escape = "\\"): array {}
2569
2570/** @refcount 1 */
2571function str_repeat(string $string, int $times): string {}
2572
2573/**
2574 * @return array<int, int>|string
2575 * @compile-time-eval
2576 * @refcount 1
2577 */
2578function count_chars(string $string, int $mode = 0): array|string {}
2579
2580function strnatcmp(string $string1, string $string2): int {}
2581
2582/**
2583 * @return array<string, int|string|array>
2584 * @refcount 1
2585 */
2586function localeconv(): array {}
2587
2588function strnatcasecmp(string $string1, string $string2): int {}
2589
2590/**
2591 * @compile-time-eval
2592 */
2593function substr_count(string $haystack, string $needle, int $offset = 0, ?int $length = null): int {}
2594
2595function str_pad(string $string, int $length, string $pad_string = " ", int $pad_type = STR_PAD_RIGHT): string {}
2596
2597/**
2598 * @return array<int, mixed>|int|null
2599 * @refcount 1
2600 */
2601function sscanf(string $string, string $format, mixed &...$vars): array|int|null {}
2602
2603/**
2604 * @compile-time-eval
2605 * @refcount 1
2606 */
2607function str_rot13(string $string): string {}
2608
2609/** @refcount 1 */
2610function str_shuffle(string $string): string {}
2611
2612/**
2613 * @return array<int, string>|int
2614 * @refcount 1
2615 */
2616function str_word_count(string $string, int $format = 0, ?string $characters = null): array|int {}
2617
2618/**
2619 * @return array<int, string>
2620 * @compile-time-eval
2621 */
2622function str_split(string $string, int $length = 1): array {}
2623
2624/**
2625 * @compile-time-eval
2626 * @refcount 1
2627 */
2628function strpbrk(string $string, string $characters): string|false {}
2629
2630/**
2631 * @compile-time-eval
2632 */
2633function substr_compare(string $haystack, string $needle, int $offset, ?int $length = null, bool $case_insensitive = false): int {}
2634
2635/**
2636 * @compile-time-eval
2637 * @refcount 1
2638 */
2639#[\Deprecated(since: '8.2', message: 'visit the php.net documentation for various alternatives')]
2640function utf8_encode(string $string): string {}
2641
2642/**
2643 * @compile-time-eval
2644 * @refcount 1
2645 */
2646#[\Deprecated(since: '8.2', message: 'visit the php.net documentation for various alternatives')]
2647function utf8_decode(string $string): string {}
2648
2649/* dir.c */
2650
2651/**
2652 * @param resource|null $context
2653 * @return resource|false
2654 */
2655function opendir(string $directory, $context = null) {}
2656
2657/**
2658 * @param resource|null $context
2659 * @refcount 1
2660 */
2661function dir(string $directory, $context = null): Directory|false {}
2662
2663/** @param resource|null $dir_handle */
2664function closedir($dir_handle = null): void {}
2665
2666function chdir(string $directory): bool {}
2667
2668#if (defined(HAVE_CHROOT) && !defined(ZTS) && defined(ENABLE_CHROOT_FUNC))
2669function chroot(string $directory): bool {}
2670#endif
2671
2672/** @refcount 1 */
2673function getcwd(): string|false {}
2674
2675/** @param resource|null $dir_handle */
2676function rewinddir($dir_handle = null): void {}
2677
2678/**
2679 * @param resource|null $dir_handle
2680 * @refcount 1
2681 */
2682function readdir($dir_handle = null): string|false {}
2683
2684/**
2685 * @param resource|null $context
2686 * @return array<int, string>|false
2687 * @refcount 1
2688 */
2689function scandir(string $directory, int $sorting_order = SCANDIR_SORT_ASCENDING, $context = null): array|false {}
2690
2691#ifdef HAVE_GLOB
2692/**
2693 * @return array<int, string>|false
2694 * @refcount 1
2695 */
2696function glob(string $pattern, int $flags = 0): array|false {}
2697#endif
2698
2699/* exec.c */
2700
2701/**
2702 * @param array $output
2703 * @param int $result_code
2704 * @refcount 1
2705 */
2706function exec(string $command, &$output = null, &$result_code = null): string|false {}
2707
2708/**
2709 * @param int $result_code
2710 * @refcount 1
2711 */
2712function system(string $command, &$result_code = null): string|false {}
2713
2714/** @param int $result_code */
2715function passthru(string $command, &$result_code = null): false|null {}
2716
2717/** @refcount 1 */
2718function escapeshellcmd(string $command): string {}
2719
2720/** @refcount 1 */
2721function escapeshellarg(string $arg): string {}
2722
2723/** @refcount 1 */
2724function shell_exec(string $command): string|false|null {}
2725
2726#ifdef HAVE_NICE
2727function proc_nice(int $priority): bool {}
2728#endif
2729
2730/* file.c */
2731
2732/**
2733 * @param resource $stream
2734 * @param int $would_block
2735 */
2736function flock($stream, int $operation, &$would_block = null): bool {}
2737
2738/**
2739 * @return array<string, string>|false
2740 * @refcount 1
2741 */
2742function get_meta_tags(string $filename, bool $use_include_path = false): array|false {}
2743
2744/** @param resource $handle */
2745function pclose($handle): int {}
2746
2747/**
2748 * @return resource|false
2749 * @refcount 1
2750 */
2751function popen(string $command, string $mode) {}
2752
2753/** @param resource|null $context */
2754function readfile(string $filename, bool $use_include_path = false, $context = null): int|false {}
2755
2756/** @param resource $stream */
2757function rewind($stream): bool {}
2758
2759/** @param resource|null $context */
2760function rmdir(string $directory, $context = null): bool {}
2761
2762function umask(?int $mask = null): int {}
2763
2764/** @param resource $stream */
2765function fclose($stream): bool {}
2766
2767/** @param resource $stream */
2768function feof($stream): bool {}
2769
2770/** @param resource $stream */
2771function fgetc($stream): string|false {}
2772
2773/**
2774 * @param resource $stream
2775 * @refcount 1
2776 */
2777function fgets($stream, ?int $length = null): string|false {}
2778
2779/**
2780 * @param resource $stream
2781 * @refcount 1
2782 */
2783function fread($stream, int $length): string|false {}
2784
2785/**
2786 * @param resource|null $context
2787 * @return resource|false
2788 * @refcount 1
2789 */
2790function fopen(string $filename, string $mode, bool $use_include_path = false, $context = null) {}
2791
2792/**
2793 * @param resource $stream
2794 * @return array<int, mixed>|int|false|null
2795 * @refcount 1
2796 */
2797function fscanf($stream, string $format, mixed &...$vars): array|int|false|null {}
2798
2799/** @param resource $stream */
2800function fpassthru($stream): int {}
2801
2802/** @param resource $stream */
2803function ftruncate($stream, int $size): bool {}
2804
2805/**
2806 * @param resource $stream
2807 * @return array<int|string, int>|false
2808 * @refcount 1
2809 */
2810function fstat($stream): array|false {}
2811
2812/** @param resource $stream */
2813function fseek($stream, int $offset, int $whence = SEEK_SET): int {}
2814
2815/** @param resource $stream */
2816function ftell($stream): int|false {}
2817
2818/** @param resource $stream */
2819function fflush($stream): bool {}
2820
2821/** @param resource $stream */
2822function fsync($stream): bool {}
2823
2824/** @param resource $stream */
2825function fdatasync($stream): bool {}
2826
2827/** @param resource $stream */
2828function fwrite($stream, string $data, ?int $length = null): int|false {}
2829
2830/**
2831 * @param resource $stream
2832 * @alias fwrite
2833 */
2834function fputs($stream, string $data, ?int $length = null): int|false {}
2835
2836/** @param resource|null $context */
2837function mkdir(string $directory, int $permissions = 0777, bool $recursive = false, $context = null): bool {}
2838
2839/** @param resource|null $context */
2840function rename(string $from, string $to, $context = null): bool {}
2841
2842/** @param resource|null $context */
2843function copy(string $from, string $to, $context = null): bool {}
2844
2845/** @refcount 1 */
2846function tempnam(string $directory, string $prefix): string|false {}
2847
2848/**
2849 * @return resource|false
2850 * @refcount 1
2851 */
2852function tmpfile() {}
2853
2854/**
2855 * @param resource|null $context
2856 * @return array<int, string>|false
2857 * @refcount 1
2858 */
2859function file(string $filename, int $flags = 0, $context = null): array|false {}
2860
2861/**
2862 * @param resource|null $context
2863 * @refcount 1
2864 */
2865function file_get_contents(string $filename, bool $use_include_path = false, $context = null, int $offset = 0, ?int $length = null): string|false {}
2866
2867/** @param resource|null $context */
2868function unlink(string $filename, $context = null): bool {}
2869
2870/** @param resource|null $context */
2871function file_put_contents(string $filename, mixed $data, int $flags = 0, $context = null): int|false {}
2872
2873/** @param resource $stream */
2874function fputcsv($stream, array $fields, string $separator = ",", string $enclosure = "\"", string $escape = "\\", string $eol = "\n"): int|false {}
2875
2876/**
2877 * @param resource $stream
2878 * @return array<int, string|null>|false
2879 * @refcount 1
2880 */
2881function fgetcsv($stream, ?int $length = null, string $separator = ",", string $enclosure = "\"", string $escape = "\\"): array|false {}
2882
2883/** @refcount 1 */
2884function realpath(string $path): string|false {}
2885
2886#ifdef HAVE_FNMATCH
2887function fnmatch(string $pattern, string $filename, int $flags = 0): bool {}
2888#endif
2889
2890/** @refcount 1 */
2891function sys_get_temp_dir(): string {}
2892
2893/* filestat.c */
2894
2895function fileatime(string $filename): int|false {}
2896
2897function filectime(string $filename): int|false {}
2898
2899function filegroup(string $filename): int|false {}
2900
2901function fileinode(string $filename): int|false {}
2902
2903function filemtime(string $filename): int|false {}
2904
2905function fileowner(string $filename): int|false {}
2906
2907function fileperms(string $filename): int|false {}
2908
2909function filesize(string $filename): int|false {}
2910
2911/** @refcount 1 */
2912function filetype(string $filename): string|false {}
2913
2914function file_exists(string $filename): bool {}
2915
2916function is_writable(string $filename): bool {}
2917
2918/** @alias is_writable */
2919function is_writeable(string $filename): bool {}
2920
2921function is_readable(string $filename): bool {}
2922
2923function is_executable(string $filename): bool {}
2924
2925function is_file(string $filename): bool {}
2926
2927function is_dir(string $filename): bool {}
2928
2929function is_link(string $filename): bool {}
2930
2931/**
2932 * @return array<int|string, bool|int|string>|false
2933 * @refcount 1
2934 */
2935function stat(string $filename): array|false {}
2936
2937/**
2938 * @return array<int|string, bool|int|string>|false
2939 * @refcount 1
2940 */
2941function lstat(string $filename): array|false {}
2942
2943function chown(string $filename, string|int $user): bool {}
2944
2945function chgrp(string $filename, string|int $group): bool {}
2946
2947#ifdef HAVE_LCHOWN
2948function lchown(string $filename, string|int $user): bool {}
2949
2950function lchgrp(string $filename, string|int $group): bool {}
2951#endif
2952
2953function chmod(string $filename, int $permissions): bool {}
2954
2955#ifdef HAVE_UTIME
2956function touch(string $filename, ?int $mtime = null, ?int $atime = null): bool {}
2957#endif
2958
2959function clearstatcache(bool $clear_realpath_cache = false, string $filename = ""): void {}
2960
2961function disk_total_space(string $directory): float|false {}
2962
2963function disk_free_space(string $directory): float|false {}
2964
2965/** @alias disk_free_space */
2966function diskfreespace(string $directory): float|false {}
2967
2968/**
2969 * @return array<string, array>
2970 * @refcount 1
2971 */
2972function realpath_cache_get(): array {}
2973
2974function realpath_cache_size(): int {}
2975
2976/* formatted_print.c */
2977
2978/** @refcount 1 */
2979function sprintf(string $format, mixed ...$values): string {}
2980
2981function printf(string $format, mixed ...$values): int {}
2982
2983function vprintf(string $format, array $values): int {}
2984
2985/** @refcount 1 */
2986function vsprintf(string $format, array $values): string {}
2987
2988/** @param resource $stream */
2989function fprintf($stream, string $format, mixed ...$values): int {}
2990
2991/** @param resource $stream */
2992function vfprintf($stream, string $format, array $values): int {}
2993
2994/* fsock.c */
2995
2996/**
2997 * @param int $error_code
2998 * @param string $error_message
2999 * @return resource|false
3000 * @refcount 1
3001 */
3002function fsockopen(string $hostname, int $port = -1, &$error_code = null, &$error_message = null, ?float $timeout = null) {}
3003
3004/**
3005 * @param int $error_code
3006 * @param string $error_message
3007 * @return resource|false
3008 */
3009function pfsockopen(string $hostname, int $port = -1, &$error_code = null, &$error_message = null, ?float $timeout = null) {}
3010
3011/* http.c */
3012
3013/** @refcount 1 */
3014function http_build_query(array|object $data, string $numeric_prefix = "", ?string $arg_separator = null, int $encoding_type = PHP_QUERY_RFC1738): string {}
3015
3016function http_get_last_response_headers(): ?array {}
3017
3018function http_clear_last_response_headers(): void {}
3019
3020/**
3021 * @param array|null $options
3022 * @return array<int, array>
3023 * @refcount 1
3024 */
3025function request_parse_body(?array $options = null): array {}
3026
3027/* image.c */
3028
3029/**
3030 * @compile-time-eval
3031 * @refcount 1
3032 */
3033function image_type_to_mime_type(int $image_type): string {}
3034
3035/**
3036 * @compile-time-eval
3037 * @refcount 1
3038 */
3039function image_type_to_extension(int $image_type, bool $include_dot = true): string|false {}
3040
3041/**
3042 * @param array $image_info
3043 * @return array<int|string, int|string>|false
3044 * @refcount 1
3045 */
3046function getimagesize(string $filename, &$image_info = null): array|false {}
3047
3048/**
3049 * @param array $image_info
3050 * @return array<int|string, int|string>|false
3051 * @refcount 1
3052 */
3053function getimagesizefromstring(string $string, &$image_info = null): array|false {}
3054
3055/* info.c */
3056
3057function phpinfo(int $flags = INFO_ALL): true {} // make return type void
3058
3059/**
3060 * @compile-time-eval
3061 * @refcount 1
3062 */
3063function phpversion(?string $extension = null): string|false {}
3064
3065function phpcredits(int $flags = CREDITS_ALL): true {}
3066
3067/**
3068 * @compile-time-eval
3069 * @refcount 1
3070 */
3071function php_sapi_name(): string|false {}
3072
3073/**
3074 * @compile-time-eval
3075 * @refcount 1
3076 */
3077function php_uname(string $mode = "a"): string {}
3078
3079/** @refcount 1 */
3080function php_ini_scanned_files(): string|false {}
3081
3082/** @refcount 1 */
3083function php_ini_loaded_file(): string|false {}
3084
3085/* iptc.c */
3086
3087/** @refcount 1 */
3088function iptcembed(string $iptc_data, string $filename, int $spool = 0): string|bool {}
3089
3090/**
3091 * @return array<string, array>|false
3092 * @refcount 1
3093 */
3094function iptcparse(string $iptc_block): array|false {}
3095
3096/* levenshtein.c */
3097
3098function levenshtein(string $string1, string $string2, int $insertion_cost = 1, int $replacement_cost = 1, int $deletion_cost = 1): int {}
3099
3100/* link.c */
3101
3102#if (defined(HAVE_SYMLINK) || defined(PHP_WIN32))
3103/** @refcount 1 */
3104function readlink(string $path): string|false {}
3105
3106function linkinfo(string $path): int|false {}
3107
3108function symlink(string $target, string $link): bool {}
3109
3110function link(string $target, string $link): bool {}
3111#endif
3112
3113/* mail.c */
3114
3115function mail(string $to, string $subject, string $message, array|string $additional_headers = [], string $additional_params = ""): bool {}
3116
3117/* math.c */
3118
3119/** @compile-time-eval */
3120function abs(int|float $num): int|float {}
3121
3122/** @compile-time-eval */
3123function ceil(int|float $num): float {}
3124
3125/** @compile-time-eval */
3126function floor(int|float $num): float {}
3127
3128enum RoundingMode {
3129    case HalfAwayFromZero;
3130    case HalfTowardsZero;
3131    case HalfEven;
3132    case HalfOdd;
3133    case TowardsZero;
3134    case AwayFromZero;
3135    case NegativeInfinity;
3136    case PositiveInfinity;
3137}
3138
3139/** @compile-time-eval */
3140function round(int|float $num, int $precision = 0, int|RoundingMode $mode = RoundingMode::HalfAwayFromZero): float {}
3141
3142/** @compile-time-eval */
3143function sin(float $num): float {}
3144
3145/** @compile-time-eval */
3146function cos(float $num): float {}
3147
3148/** @compile-time-eval */
3149function tan(float $num): float {}
3150
3151/** @compile-time-eval */
3152function asin(float $num): float {}
3153
3154/** @compile-time-eval */
3155function acos(float $num): float {}
3156
3157/** @compile-time-eval */
3158function atan(float $num): float {}
3159
3160/** @compile-time-eval */
3161function atanh(float $num): float {}
3162
3163/** @compile-time-eval */
3164function atan2(float $y, float $x): float {}
3165
3166/** @compile-time-eval */
3167function sinh(float $num): float {}
3168
3169/** @compile-time-eval */
3170function cosh(float $num): float {}
3171
3172/** @compile-time-eval */
3173function tanh(float $num): float {}
3174
3175/** @compile-time-eval */
3176function asinh(float $num): float {}
3177
3178/** @compile-time-eval */
3179function acosh(float $num): float {}
3180
3181/** @compile-time-eval */
3182function expm1(float $num): float {}
3183
3184/** @compile-time-eval */
3185function log1p(float $num): float {}
3186
3187/** @compile-time-eval */
3188function pi(): float {}
3189
3190/** @compile-time-eval */
3191function is_finite(float $num): bool {}
3192
3193/** @compile-time-eval */
3194function is_nan(float $num): bool {}
3195
3196/** @compile-time-eval */
3197function intdiv(int $num1, int $num2): int {}
3198
3199/** @compile-time-eval */
3200function is_infinite(float $num): bool {}
3201
3202/** @compile-time-eval */
3203function pow(mixed $num, mixed $exponent): int|float|object {}
3204
3205/** @compile-time-eval */
3206function exp(float $num): float {}
3207
3208/** @compile-time-eval */
3209function log(float $num, float $base = M_E): float {}
3210
3211/** @compile-time-eval */
3212function log10(float $num): float {}
3213
3214/** @compile-time-eval */
3215function sqrt(float $num): float {}
3216
3217/** @compile-time-eval */
3218function hypot(float $x, float $y): float {}
3219
3220/** @compile-time-eval */
3221function deg2rad(float $num): float {}
3222
3223/** @compile-time-eval */
3224function rad2deg(float $num): float {}
3225
3226/** @compile-time-eval */
3227function bindec(string $binary_string): int|float {}
3228
3229/** @compile-time-eval */
3230function hexdec(string $hex_string): int|float {}
3231
3232/** @compile-time-eval */
3233function octdec(string $octal_string): int|float {}
3234
3235/**
3236 * @compile-time-eval
3237 * @refcount 1
3238 */
3239function decbin(int $num): string {}
3240
3241/**
3242 * @compile-time-eval
3243 * @refcount 1
3244 */
3245function decoct(int $num): string {}
3246
3247/**
3248 * @compile-time-eval
3249 * @refcount 1
3250 * @frameless-function {"arity": 1}
3251 */
3252function dechex(int $num): string {}
3253
3254/**
3255 * @compile-time-eval
3256 * @refcount 1
3257 */
3258function base_convert(string $num, int $from_base, int $to_base): string {}
3259
3260/**
3261 * @compile-time-eval
3262 * @refcount 1
3263 */
3264function number_format(float $num, int $decimals = 0, ?string $decimal_separator = ".", ?string $thousands_separator = ","): string {}
3265
3266/**
3267 * @compile-time-eval
3268 */
3269function fmod(float $num1, float $num2): float {}
3270
3271/**
3272 * @compile-time-eval
3273 */
3274function fdiv(float $num1, float $num2): float {}
3275
3276/**
3277 * @compile-time-eval
3278 */
3279function fpow(float $num, float $exponent): float {}
3280
3281/* microtime.c */
3282
3283#ifdef HAVE_GETTIMEOFDAY
3284/** @refcount 1 */
3285function microtime(bool $as_float = false): string|float {}
3286
3287/**
3288 * @return array<string, int>|float
3289 * @refcount 1
3290 */
3291function gettimeofday(bool $as_float = false): array|float {}
3292#endif
3293
3294#ifdef HAVE_GETRUSAGE
3295/**
3296 * @return array<string, int>|false
3297 * @refcount 1
3298 */
3299function getrusage(int $mode = 0): array|false {}
3300#endif
3301
3302/* pack.c */
3303
3304/**
3305 * @compile-time-eval
3306 * @refcount 1
3307 */
3308function pack(string $format, mixed ...$values): string {}
3309
3310/**
3311 * @return array<int|string, mixed>|false
3312 * @compile-time-eval
3313 * @refcount 1
3314 */
3315function unpack(string $format, string $string, int $offset = 0): array|false {}
3316
3317/* password.c */
3318
3319/**
3320 * @return array<string, string|array|null>
3321 * @refcount 1
3322 */
3323function password_get_info(string $hash): array {}
3324
3325/**
3326 * @refcount 1
3327 */
3328function password_hash(#[\SensitiveParameter] string $password, string|int|null $algo, array $options = []): string {}
3329
3330function password_needs_rehash(string $hash, string|int|null $algo, array $options = []): bool {}
3331
3332function password_verify(#[\SensitiveParameter] string $password, string $hash): bool {}
3333
3334/**
3335 * @compile-time-eval
3336 */
3337function password_algos(): array {}
3338
3339/* proc_open.c */
3340
3341#ifdef PHP_CAN_SUPPORT_PROC_OPEN
3342/**
3343 * @param array $pipes
3344 * @return resource|false
3345 * @refcount 1
3346 */
3347function proc_open(array|string $command, array $descriptor_spec, &$pipes, ?string $cwd = null, ?array $env_vars = null, ?array $options = null) {}
3348
3349/** @param resource $process */
3350function proc_close($process): int {}
3351
3352/** @param resource $process */
3353function proc_terminate($process, int $signal = 15): bool {}
3354
3355/**
3356 * @param resource $process
3357 * @return array<string, bool|int|string>
3358 * @refcount 1
3359 */
3360function proc_get_status($process): array {}
3361#endif
3362
3363/* quot_print.c */
3364
3365/**
3366 * @compile-time-eval
3367 * @refcount 1
3368 */
3369function quoted_printable_decode(string $string): string {}
3370
3371/**
3372 * @compile-time-eval
3373 * @refcount 1
3374 */
3375function quoted_printable_encode(string $string): string {}
3376
3377/* soundex.c */
3378
3379/** @refcount 1 */
3380function soundex(string $string): string {}
3381
3382/* streamsfuncs.c */
3383
3384function stream_select(?array &$read, ?array &$write, ?array &$except, ?int $seconds, ?int $microseconds = null): int|false {}
3385
3386/**
3387 * @return resource
3388 * @refcount 1
3389 */
3390function stream_context_create(?array $options = null, ?array $params = null) {}
3391
3392/** @param resource $context */
3393function stream_context_set_params($context, array $params): true {}
3394
3395/**
3396 * @param resource $context
3397 * @return array<string, mixed>
3398 * @refcount 1
3399 */
3400function stream_context_get_params($context): array {}
3401
3402/** @param resource $context */
3403function stream_context_set_option($context, array|string $wrapper_or_options, ?string $option_name = null, mixed $value = UNKNOWN): true {}
3404
3405/** @param resource $context */
3406function stream_context_set_options($context, array $options): true {}
3407
3408/**
3409 * @param resource $stream_or_context
3410 * @return array<string, mixed>
3411 */
3412function stream_context_get_options($stream_or_context): array {}
3413
3414/** @return resource */
3415function stream_context_get_default(?array $options = null) {}
3416
3417/** @return resource */
3418function stream_context_set_default(array $options) {}
3419
3420/**
3421 * @param resource $stream
3422 * @return resource|false
3423 */
3424function stream_filter_prepend($stream, string $filter_name, int $mode = 0, mixed $params = UNKNOWN) {}
3425
3426/**
3427 * @param resource $stream
3428 * @return resource|false
3429 */
3430function stream_filter_append($stream, string $filter_name, int $mode = 0, mixed $params = UNKNOWN) {}
3431
3432/** @param resource $stream_filter */
3433function stream_filter_remove($stream_filter): bool {}
3434
3435/**
3436 * @param int $error_code
3437 * @param string $error_message
3438 * @param resource|null $context
3439 * @return resource|false
3440 * @refcount 1
3441 */
3442function stream_socket_client(string $address, &$error_code = null, &$error_message = null, ?float $timeout = null, int $flags = STREAM_CLIENT_CONNECT, $context = null) {}
3443
3444/**
3445 * @param int $error_code
3446 * @param string $error_message
3447 * @param resource|null $context
3448 * @return resource|false
3449 * @refcount 1
3450 */
3451function stream_socket_server(string $address, &$error_code = null, &$error_message = null, int $flags = STREAM_SERVER_BIND | STREAM_SERVER_LISTEN, $context = null) {}
3452
3453/**
3454 * @param resource $socket
3455 * @param string $peer_name
3456 * @return resource|false
3457 * @refcount 1
3458 */
3459function stream_socket_accept($socket, ?float $timeout = null, &$peer_name = null) {}
3460
3461/** @param resource $socket */
3462function stream_socket_get_name($socket, bool $remote): string|false {}
3463
3464/**
3465 * @param resource $socket
3466 * @param string|null $address
3467 * @refcount 1
3468 */
3469function stream_socket_recvfrom($socket, int $length, int $flags = 0, &$address = null): string|false {}
3470
3471/** @param resource $socket */
3472function stream_socket_sendto($socket, string $data, int $flags = 0, string $address = ""): int|false {}
3473
3474/**
3475 * @param resource $stream
3476 * @param resource|null $session_stream
3477 */
3478function stream_socket_enable_crypto($stream, bool $enable, ?int $crypto_method = null, $session_stream = null): int|bool {}
3479
3480#ifdef HAVE_SHUTDOWN
3481/** @param resource $stream */
3482function stream_socket_shutdown($stream, int $mode): bool {}
3483#endif
3484
3485#ifdef HAVE_SOCKETPAIR
3486/**
3487 * @return array<int, resource>|false
3488 * @refcount 1
3489 */
3490function stream_socket_pair(int $domain, int $type, int $protocol): array|false {}
3491#endif
3492
3493/**
3494 * @param resource $from
3495 * @param resource $to
3496 */
3497function stream_copy_to_stream($from, $to, ?int $length = null, int $offset = 0): int|false {}
3498
3499/**
3500 * @param resource $stream
3501 * @refcount 1
3502 */
3503function stream_get_contents($stream, ?int $length = null, int $offset = -1): string|false {}
3504
3505/** @param resource $stream */
3506function stream_supports_lock($stream): bool {}
3507
3508/** @param resource $stream */
3509function stream_set_write_buffer($stream, int $size): int {}
3510
3511/**
3512 * @param resource $stream
3513 * @alias stream_set_write_buffer
3514 */
3515function set_file_buffer($stream, int $size): int {}
3516
3517/** @param resource $stream */
3518function stream_set_read_buffer($stream, int $size): int {}
3519
3520/** @param resource $stream */
3521function stream_set_blocking($stream, bool $enable): bool {}
3522
3523/**
3524 * @param resource $stream
3525 * @alias stream_set_blocking
3526 */
3527function socket_set_blocking($stream, bool $enable): bool {}
3528
3529/**
3530 * @param resource $stream
3531 * @return array<string, mixed>
3532 */
3533function stream_get_meta_data($stream): array {}
3534
3535/**
3536 * @param resource $stream
3537 * @return array<string, mixed>
3538 * @alias stream_get_meta_data
3539 */
3540function socket_get_status($stream): array {}
3541
3542/**
3543 * @param resource $stream
3544 * @refcount 1
3545 */
3546function stream_get_line($stream, int $length, string $ending = ""): string|false {}
3547
3548/** @refcount 1 */
3549function stream_resolve_include_path(string $filename): string|false {}
3550
3551/**
3552 * @return array<int, string>
3553 * @refcount 1
3554 */
3555function stream_get_wrappers(): array {}
3556
3557/**
3558 * @return array<int, string>
3559 * @refcount 1
3560 */
3561function stream_get_transports(): array {}
3562
3563/** @param resource|string $stream */
3564function stream_is_local($stream): bool {}
3565
3566/** @param resource $stream */
3567function stream_isatty($stream): bool {}
3568
3569#ifdef PHP_WIN32
3570/** @param resource $stream */
3571function sapi_windows_vt100_support($stream, ?bool $enable = null): bool {}
3572#endif
3573
3574/** @param resource $stream */
3575function stream_set_chunk_size($stream, int $size): int {}
3576
3577#if (defined(HAVE_SYS_TIME_H) || defined(PHP_WIN32))
3578/** @param resource $stream */
3579function stream_set_timeout($stream, int $seconds, int $microseconds = 0): bool {}
3580
3581/**
3582 * @param resource $stream
3583 * @alias stream_set_timeout
3584 */
3585function socket_set_timeout($stream, int $seconds, int $microseconds = 0): bool {}
3586#endif
3587
3588/* type.c */
3589
3590/**
3591 * @compile-time-eval
3592 */
3593function gettype(mixed $value): string {}
3594
3595/**
3596 * @compile-time-eval
3597 */
3598function get_debug_type(mixed $value): string {}
3599
3600function settype(mixed &$var, string $type): bool {}
3601
3602/**
3603 * @compile-time-eval
3604 */
3605function intval(mixed $value, int $base = 10): int {}
3606
3607/**
3608 * @compile-time-eval
3609 */
3610function floatval(mixed $value): float {}
3611
3612/** @alias floatval */
3613function doubleval(mixed $value): float {}
3614
3615/**
3616 * @compile-time-eval
3617 */
3618function boolval(mixed $value): bool {}
3619
3620/**
3621 * @compile-time-eval
3622 */
3623function strval(mixed $value): string {}
3624
3625/**
3626 * @compile-time-eval
3627 */
3628function is_null(mixed $value): bool {}
3629
3630/**
3631 * @compile-time-eval
3632 */
3633function is_resource(mixed $value): bool {}
3634
3635/**
3636 * @compile-time-eval
3637 */
3638function is_bool(mixed $value): bool {}
3639
3640/**
3641 * @compile-time-eval
3642 */
3643function is_int(mixed $value): bool {}
3644
3645/** @alias is_int */
3646function is_integer(mixed $value): bool {}
3647
3648/** @alias is_int */
3649function is_long(mixed $value): bool {}
3650
3651/**
3652 * @compile-time-eval
3653 */
3654function is_float(mixed $value): bool {}
3655
3656/** @alias is_float */
3657function is_double(mixed $value): bool {}
3658
3659/**
3660 * @compile-time-eval
3661 * @frameless-function {"arity": 1}
3662 */
3663function is_numeric(mixed $value): bool {}
3664
3665/**
3666 * @compile-time-eval
3667 */
3668function is_string(mixed $value): bool {}
3669
3670/**
3671 * @compile-time-eval
3672 */
3673function is_array(mixed $value): bool {}
3674
3675/**
3676 * @compile-time-eval
3677 */
3678function is_object(mixed $value): bool {}
3679
3680/**
3681 * @compile-time-eval
3682 */
3683function is_scalar(mixed $value): bool {}
3684
3685/** @param string $callable_name */
3686function is_callable(mixed $value, bool $syntax_only = false, &$callable_name = null): bool {}
3687
3688/**
3689 * @compile-time-eval
3690 */
3691function is_iterable(mixed $value): bool {}
3692
3693/**
3694 * @compile-time-eval
3695 */
3696function is_countable(mixed $value): bool {}
3697
3698/* uniqid.c */
3699
3700#ifdef HAVE_GETTIMEOFDAY
3701/** @refcount 1 */
3702function uniqid(string $prefix = "", bool $more_entropy = false): string {}
3703#endif
3704
3705/* url.c */
3706
3707/**
3708 * @return int|string|array<string, int|string>|null|false
3709 * @compile-time-eval
3710 * @refcount 1
3711 */
3712function parse_url(string $url, int $component = -1): int|string|array|null|false {}
3713
3714/**
3715 * @compile-time-eval
3716 * @refcount 1
3717 */
3718function urlencode(string $string): string {}
3719
3720/**
3721 * @compile-time-eval
3722 * @refcount 1
3723 */
3724function urldecode(string $string): string {}
3725
3726/**
3727 * @compile-time-eval
3728 * @refcount 1
3729 */
3730function rawurlencode(string $string): string {}
3731
3732/**
3733 * @compile-time-eval
3734 * @refcount 1
3735 */
3736function rawurldecode(string $string): string {}
3737
3738/**
3739 * @param resource|null $context
3740 * @return array<int|string, string|array>|false
3741 * @refcount 1
3742 */
3743function get_headers(string $url, bool $associative = false, $context = null): array|false {}
3744
3745/* user_filters.c */
3746
3747/**
3748 * @param resource $brigade
3749 * @refcount 1
3750 */
3751function stream_bucket_make_writeable($brigade): ?StreamBucket {}
3752
3753/** @param resource $brigade */
3754function stream_bucket_prepend($brigade, StreamBucket $bucket): void {}
3755
3756/** @param resource $brigade */
3757function stream_bucket_append($brigade, StreamBucket $bucket): void {}
3758
3759/**
3760 * @param resource $stream
3761 * @refcount 1
3762 */
3763function stream_bucket_new($stream, string $buffer): StreamBucket {}
3764
3765/**
3766 * @return array<int, string>
3767 * @refcount 1
3768 */
3769function stream_get_filters(): array {}
3770
3771function stream_filter_register(string $filter_name, string $class): bool {}
3772
3773/* uuencode.c */
3774
3775/**
3776 * @compile-time-eval
3777 * @refcount 1
3778 */
3779function convert_uuencode(string $string): string {}
3780
3781/**
3782 * @compile-time-eval
3783 * @refcount 1
3784 */
3785function convert_uudecode(string $string): string|false {}
3786
3787/* var.c */
3788
3789function var_dump(mixed $value, mixed ...$values): void {}
3790
3791/** @refcount 1 */
3792function var_export(mixed $value, bool $return = false): ?string {}
3793
3794function debug_zval_dump(mixed $value, mixed ...$values): void {}
3795
3796/**
3797 * @compile-time-eval
3798 * @refcount 1
3799 */
3800function serialize(mixed $value): string {}
3801
3802function unserialize(string $data, array $options = []): mixed {}
3803
3804function memory_get_usage(bool $real_usage = false): int {}
3805
3806function memory_get_peak_usage(bool $real_usage = false): int {}
3807
3808function memory_reset_peak_usage(): void {}
3809
3810/* versioning.c */
3811
3812/** @compile-time-eval */
3813function version_compare(string $version1, string $version2, ?string $operator = null): int|bool {}
3814
3815/* win32/codepage.c */
3816
3817#ifdef PHP_WIN32
3818function sapi_windows_cp_set(int $codepage): bool {}
3819
3820function sapi_windows_cp_get(string $kind = ""): int {}
3821
3822function sapi_windows_cp_conv(int|string $in_codepage, int|string $out_codepage, string $subject): ?string {}
3823
3824function sapi_windows_cp_is_utf8(): bool {}
3825
3826function sapi_windows_set_ctrl_handler(?callable $handler, bool $add = true): bool {}
3827
3828function sapi_windows_generate_ctrl_event(int $event, int $pid = 0): bool {}
3829#endif
3830