Downloads
Documentation
Get Involved
Help
Getting Started
Introduction
A simple tutorial
Language Reference
Basic syntax
Types
Variables
Constants
Expressions
Operators
Control Structures
Functions
Classes and Objects
Namespaces
Enumerations
Errors
Exceptions
Fibers
Generators
Attributes
References Explained
Predefined Variables
Predefined Exceptions
Predefined Interfaces and Classes
Predefined Attributes
Context options and parameters
Supported Protocols and Wrappers
Security
Introduction
General considerations
Installed as CGI binary
Installed as an Apache module
Session Security
Filesystem Security
Database Security
Error Reporting
User Submitted Data
Hiding PHP
Keeping Current
Features
HTTP authentication with PHP
Cookies
Sessions
Dealing with XForms
Handling file uploads
Using remote files
Connection handling
Persistent Database Connections
Command line usage
Garbage Collection
DTrace Dynamic Tracing
Function Reference
Affecting PHP's Behaviour
Audio Formats Manipulation
Authentication Services
Command Line Specific Extensions
Compression and Archive Extensions
Cryptography Extensions
Database Extensions
Date and Time Related Extensions
File System Related Extensions
Human Language and Character Encoding Support
Image Processing and Generation
Mail Related Extensions
Mathematical Extensions
Non-Text MIME Output
Process Control Extensions
Other Basic Extensions
Other Services
Search Engine Extensions
Server Specific Extensions
Session Extensions
Text Processing
Variable and Type Related Extensions
Web Services
Windows Only Extensions
XML Manipulation
GUI Extensions
Keyboard Shortcuts
?
This help
j
Next menu item
k
Previous menu item
g p
Previous man page
g n
Next man page
G
Scroll to bottom
g g
Scroll to top
g h
Goto homepage
g s
Goto search
(current page)
/
Focus search box
Basic syntax »
« How to change configuration settings
PHP Manual
Change language:
English
Brazilian Portuguese
Chinese (Simplified)
French
German
Japanese
Russian
Spanish
Turkish
Other
Submit a Pull Request
Report a Bug
Language Reference
Basic syntax
PHP tags
Escaping from HTML
Instruction separation
Comments
Types
Introduction
Type System
NULL
Booleans
Integers
Floating point numbers
Strings
Numeric strings
Arrays
Objects
Enumerations
Resources
Callbacks / Callables
Mixed
Void
Never
Relative class types
Literal types
Iterables
Type declarations
Type Juggling
Variables
Basics
Predefined Variables
Variable scope
Variable variables
Variables From External Sources
Constants
Syntax
Predefined constants
Magic constants
Expressions
Operators
Operator Precedence
Arithmetic Operators
Assignment Operators
Bitwise Operators
Comparison Operators
Error Control Operators
Execution Operators
Incrementing/Decrementing Operators
Logical Operators
String Operators
Array Operators
Type Operators
Control Structures
Introduction
if
else
elseif/else if
Alternative syntax for control structures
while
do-while
for
foreach
break
continue
switch
match
declare
return
require
include
require_once
include_once
goto
Functions
User-defined functions
Function arguments
Returning values
Variable functions
Internal (built-in) functions
Anonymous functions
Arrow Functions
First class callable syntax
Classes and Objects
Introduction
The Basics
Properties
Class Constants
Autoloading Classes
Constructors and Destructors
Visibility
Object Inheritance
Scope Resolution Operator (::)
Static Keyword
Class Abstraction
Object Interfaces
Traits
Anonymous classes
Overloading
Object Iteration
Magic Methods
Final Keyword
Object Cloning
Comparing Objects
Late Static Bindings
Objects and references
Object Serialization
Covariance and Contravariance
OOP Changelog
Namespaces
Namespaces overview
Defining namespaces
Declaring sub-namespaces
Defining multiple namespaces in the same file
Using namespaces: Basics
Namespaces and dynamic language features
namespace keyword and __NAMESPACE__ constant
Using namespaces: Aliasing/Importing
Global space
Using namespaces: fallback to global function/constant
Name resolution rules
FAQ: things you need to know about namespaces
Enumerations
Enumerations overview
Basic enumerations
Backed enumerations
Enumeration methods
Enumeration static methods
Enumeration constants
Traits
Enum values in constant expressions
Differences from objects
Value listing
Serialization
Examples
Errors
Basics
Errors in PHP 7
Exceptions
Extending Exceptions
Fibers
Generators
Generators overview
Generator syntax
Comparing generators with Iterator objects
Attributes
Attributes overview
Attribute syntax
Reading Attributes with the Reflection API
Declaring Attribute Classes
References Explained
What References Are
What References Do
What References Are Not
Passing by Reference
Returning References
Unsetting References
Spotting References
Predefined Variables
Superglobals
— Built-in variables that are always available in all scopes
$GLOBALS
— References all variables available in global scope
$_SERVER
— Server and execution environment information
$_GET
— HTTP GET variables
$_POST
— HTTP POST variables
$_FILES
— HTTP File Upload variables
$_REQUEST
— HTTP Request variables
$_SESSION
— Session variables
$_ENV
— Environment variables
$_COOKIE
— HTTP Cookies
$php_errormsg
— The previous error message
$http_response_header
— HTTP response headers
$argc
— The number of arguments passed to script
$argv
— Array of arguments passed to script
Predefined Exceptions
Exception
ErrorException
Error
ArgumentCountError
ArithmeticError
AssertionError
DivisionByZeroError
CompileError
ParseError
TypeError
ValueError
UnhandledMatchError
FiberError
Predefined Interfaces and Classes
Traversable
— The Traversable interface
Iterator
— The Iterator interface
IteratorAggregate
— The IteratorAggregate interface
InternalIterator
— The InternalIterator class
Throwable
ArrayAccess
— The ArrayAccess interface
Serializable
— The Serializable interface
Closure
— The Closure class
stdClass
— The stdClass class
Generator
— The Generator class
Fiber
— The Fiber class
WeakReference
— The WeakReference class
WeakMap
— The WeakMap class
Stringable
— The Stringable interface
UnitEnum
— The UnitEnum interface
BackedEnum
— The BackedEnum interface
SensitiveParameterValue
— The SensitiveParameterValue class
Predefined Attributes
Attribute
— The Attribute class
AllowDynamicProperties
— The AllowDynamicProperties class
ReturnTypeWillChange
— The ReturnTypeWillChange class
SensitiveParameter
— The SensitiveParameter class
Context options and parameters
Socket context options
— Socket context option listing
HTTP context options
— HTTP context option listing
FTP context options
— FTP context option listing
SSL context options
— SSL context option listing
CURL context options
— CURL context option listing
Phar context options
— Phar context option listing
Context parameters
— Context parameter listing
Zip context options
— Zip context option listing
Zlib context options
— Zlib context option listing
Supported Protocols and Wrappers
file://
— Accessing local filesystem
http://
— Accessing HTTP(s) URLs
ftp://
— Accessing FTP(s) URLs
php://
— Accessing various I/O streams
zlib://
— Compression Streams
data://
— Data (RFC 2397)
glob://
— Find pathnames matching pattern
phar://
— PHP Archive
ssh2://
— Secure Shell 2
rar://
— RAR
ogg://
— Audio streams
expect://
— Process Interaction Streams
+
add a note
User Contributed Notes
There are no user contributed notes for this page.