PHP Manual
Copyright
PHP Manual
Getting Started
Installation and Configuration
Language Reference
Security
Features
Function Reference
FAQ
Appendices
How to change configuration settings
Basic syntax
PHP Manual
PHP Manual
Language Reference
Table of Contents
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
Value 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
— Operator Precedence
Arithmetic
— Arithmetic Operators
Increment and Decrement
— Incrementing/Decrementing Operators
Assignment
— Assignment Operators
Bitwise
— Bitwise Operators
Comparison
— Comparison Operators
Error Control
— Error Control Operators
Execution
— Execution Operators
Logic
— Logical Operators
String
— String Operators
Array
— Array Operators
Type
— 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
— Serializing objects - objects in sessions
Covariance and Contravariance
Lazy Objects
OOP Changelog
Namespaces
Overview
— Namespaces overview
Namespaces
— Defining namespaces
Sub-namespaces
— Declaring sub-namespaces
Defining multiple namespaces in the same file
— Defining multiple namespaces in the same file
Basics
— Using namespaces: Basics
Namespaces and dynamic language features
— Namespaces and dynamic language features
namespace keyword and __NAMESPACE__
— The namespace keyword and __NAMESPACE__ magic constant
Aliasing and Importing
— Using namespaces: Aliasing/Importing
Global space
— Global space
Fallback to global space
— Using namespaces: fallback to the global space for functions and constants
Name resolution rules
— Name resolution rules
FAQ
— 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
Why enums aren't extendable
Examples
Errors
Introduction
Basics
Errors in PHP 7
Exceptions
catch
finally
Global exception handler
Notes
Examples
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
— Exception
ErrorException
— ErrorException
ClosedGeneratorException
— The ClosedGeneratorException class
Error
— Error
ArgumentCountError
— ArgumentCountError
ArithmeticError
— ArithmeticError
AssertionError
— AssertionError
DivisionByZeroError
— DivisionByZeroError
CompileError
— CompileError
ParseError
— ParseError
TypeError
— TypeError
ValueError
— ValueError
UnhandledMatchError
— UnhandledMatchError
FiberError
— FiberError
Predefined Interfaces and Classes
Traversable
— The Traversable interface
Iterator
— The Iterator interface
IteratorAggregate
— The IteratorAggregate interface
InternalIterator
— The InternalIterator class
Throwable
— 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
__PHP_Incomplete_Class
— The __PHP_Incomplete_Class class
Predefined Attributes
Attribute
— The Attribute attribute
AllowDynamicProperties
— The AllowDynamicProperties attribute
Deprecated
— The Deprecated attribute
Override
— The Override attribute
ReturnTypeWillChange
— The ReturnTypeWillChange attribute
SensitiveParameter
— The SensitiveParameter attribute
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
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