PHP Functions & Constants

String | Array | Math | Date/Time | Mail | HTTP | FTP | Directory | Filesystem | Calendar | MySQL | Misc. functions

PHP statements

if...else | switch | while loop | do...while loop | for loop | foreach loop

String Functions

Function Description PHP
addcslashes() Returns a string with backslashes in front of the specified characters 4
addslashes() Returns a string with backslashes in front of predefined characters 3
bin2hex() Converts a string of ASCII characters to hexadecimal values 3
chop() Alias of rtrim() 3
chr() Returns a character from a specified ASCII value 3
chunk_split() Splits a string into a series of smaller parts 3
convert_cyr_string() Converts a string from one Cyrillic character-set to another 3
convert_uudecode() Decodes a uuencoded string 5
convert_uuencode() Encodes a string using the uuencode algorithm 5
count_chars() Returns how many times an ASCII character occurs within a string and returns the information 4
crc32() Calculates a 32-bit CRC for a string 4
crypt() One-way string encryption (hashing) 3
echo() Outputs strings 3
explode() Breaks a string into an array 3
fprintf() Writes a formatted string to a specified output stream 5
get_html_translation_table() Returns the translation table used by htmlspecialchars() and htmlentities() 4
hebrev() Converts Hebrew text to visual text 3
hebrevc() Converts Hebrew text to visual text and new lines (\n) into <br /> 3
html_entity_decode() Converts HTML entities to characters 4
htmlentities() Converts characters to HTML entities 3
htmlspecialchars_decode() Converts some predefined HTML entities to characters 5
htmlspecialchars() Converts some predefined characters to HTML entities 3
implode() Returns a string from the elements of an array 3
join() Alias of implode() 3
levenshtein() Returns the Levenshtein distance between two strings 3
localeconv() Returns locale numeric and monetary formatting information 4
ltrim() Strips whitespace from the left side of a string 3
md5() Calculates the MD5 hash of a string 3
md5_file() Calculates the MD5 hash of a file 4
metaphone() Calculates the metaphone key of a string 4
money_format() Returns a string formatted as a currency string 4
nl_langinfo() Returns specific local information 4
nl2br() Inserts HTML line breaks in front of each newline in a string 3
number_format() Formats a number with grouped thousands 3
ord() Returns the ASCII value of the first character of a string 3
parse_str() Parses a query string into variables 3
print() Outputs a string 3
printf() Outputs a formatted string 3
quoted_printable_decode() Decodes a quoted-printable string 3
quotemeta() Quotes meta characters 3
rtrim() Strips whitespace from the right side of a string 3
setlocale() Sets locale information 3
sha1() Calculates the SHA-1 hash of a string 4
sha1_file() Calculates the SHA-1 hash of a file 4
similar_text() Calculates the similarity between two strings 3
soundex() Calculates the soundex key of a string 3
sprintf() Writes a formatted string to a variable 3
sscanf() Parses input from a string according to a format 4
str_ireplace() Replaces some characters in a string (case-insensitive) 5
str_pad() Pads a string to a new length 4
str_repeat() Repeats a string a specified number of times 4
str_replace() Replaces some characters in a string (case-sensitive) 3
str_rot13() Performs the ROT13 encoding on a string 4
str_shuffle() Randomly shuffles all characters in a string 4
str_split() Splits a string into an array 5
str_word_count() Count the number of words in a string 4
strcasecmp() Compares two strings (case-insensitive) 3
strchr() Finds the first occurrence of a string inside another string (alias of strstr()) 3
strcmp() Compares two strings (case-sensitive) 3
strcoll() Locale based string comparison 4
strcspn() Returns the number of characters found in a string before any part of some specified characters are found 3
strip_tags() Strips HTML and PHP tags from a string 3
stripcslashes() Unquotes a string quoted with addcslashes() 4
stripslashes() Unquotes a string quoted with addslashes() 3
stripos() Returns the position of the first occurrence of a string inside another string (case-insensitive) 5
stristr() Finds the first occurrence of a string inside another string (case-insensitive) 3
strlen() Returns the length of a string 3
strnatcasecmp() Compares two strings using a "natural order" algorithm (case-insensitive) 4
strnatcmp() Compares two strings using a "natural order" algorithm (case-sensitive) 4
strncasecmp() String comparison of the first n characters (case-insensitive) 4
strncmp() String comparison of the first n characters (case-sensitive) 4
strpbrk() Searches a string for any of a set of characters 5
strpos() Returns the position of the first occurrence of a string inside another string (case-sensitive) 3
strrchr() Finds the last occurrence of a string inside another string 3
strrev() Reverses a string 3
strripos() Finds the position of the last occurrence of a string inside another string (case-insensitive) 5
strrpos() Finds the position of the last occurrence of a string inside another string (case-sensitive) 3
strspn() Returns the number of characters found in a string that contains only characters from a specified charlist 3
strstr() Finds the first occurrence of a string inside another string (case-sensitive) 3
strtok() Splits a string into smaller strings 3
strtolower() Converts a string to lowercase letters 3
strtoupper() Converts a string to uppercase letters 3
strtr() Translates certain characters in a string 3
substr() Returns a part of a string 3
substr_compare() Compares two strings from a specified start position (binary safe and optionally case-sensitive) 5
substr_count() Counts the number of times a substring occurs in a string 4
substr_replace() Replaces a part of a string with another string 4
trim() Strips whitespace from both sides of a string 3
ucfirst() Converts the first character of a string to uppercase 3
ucwords() Converts the first character of each word in a string to uppercase 3
vfprintf() Writes a formatted string to a specified output stream 5
vprintf() Outputs a formatted string 4
vsprintf() Writes a formatted string to a variable 4
wordwrap() Wraps a string to a given number of characters 4

String Constants

Constant Description PHP
CRYPT_SALT_LENGTH Contains the length of the default encryption method for the
system. For standard DES encryption, the length is 2
 
CRYPT_STD_DES Set to 1 if the standard DES-based encryption with a 2 character salt is supported, 0 otherwise  
CRYPT_EXT_DES Set to 1 if the extended DES-based encryption with a 9 character salt is supported, 0 otherwise  
CRYPT_MD5 Set to 1 if the MD5 encryption with a 12 character salt starting with $1$ is supported, 0 otherwise  
CRYPT_BLOWFISH Set to 1 if the Blowfish encryption with a 16 character salt starting with $2$ or $2a$ is supported, 0 otherwise0  
HTML_SPECIALCHARS    
HTML_ENTITIES    
ENT_COMPAT    
ENT_QUOTES    
ENT_NOQUOTES    
CHAR_MAX    
LC_CTYPE    
LC_NUMERIC    
LC_TIME    
LC_COLLATE    
LC_MONETARY    
LC_ALL    
LC_MESSAGES    
STR_PAD_LEFT    
STR_PAD_RIGHT    
STR_PAD_BOTH    

Array Functions

Function Description PHP
array() Creates an array 3
array_change_key_case() Returns an array with all keys in lowercase or uppercase 4
array_chunk() Splits an array into chunks of arrays 4
array_combine() Creates an array by using one array for keys and another for its values 5
array_count_values() Returns an array with the number of occurrences for each value 4
array_diff() Compares array values, and returns the differences 4
array_diff_assoc() Compares array keys and values, and returns the differences 4
array_diff_key() Compares array keys, and returns the differences 5
array_diff_uassoc() Compares array keys and values, with an additional user-made function check, and returns the differences 5
array_diff_ukey() Compares array keys, with an additional user-made function check, and returns the differences 5
array_fill() Fills an array with values 4
array_filter() Filters elements of an array using a user-made function 4
array_flip() Exchanges all keys with their associated values in an array 4
array_intersect() Compares array values, and returns the matches 4
array_intersect_assoc() Compares array keys and values, and returns the matches 4
array_intersect_key() Compares array keys, and returns the matches 5
array_intersect_uassoc() Compares array keys and values, with an additional user-made function check, and returns the matches 5
array_intersect_ukey() Compares array keys, with an additional user-made function check, and returns the matches 5
array_key_exists() Checks if the specified key exists in the array 4
array_keys() Returns all the keys of an array 4
array_map() Sends each value of an array to a user-made function, which returns new values 4
array_merge() Merges one or more arrays into one array 4
array_merge_recursive() Merges one or more arrays into one array 4
array_multisort() Sorts multiple or multi-dimensional arrays 4
array_pad() Inserts a specified number of items, with a specified value, to an array 4
array_pop() Deletes the last element of an array 4
array_product() Calculates the product of the values in an array 5
array_push() Inserts one or more elements to the end of an array 4
array_rand() Returns one or more random keys from an array 4
array_reduce() Returns an array as a string, using a user-defined function 4
array_reverse() Returns an array in the reverse order 4
array_search() Searches an array for a given value and returns the key 4
array_shift() Removes the first element from an array, and returns the value of the removed element 4
array_slice() Returns selected parts of an array 4
array_splice() Removes and replaces specified elements of an array 4
array_sum() Returns the sum of the values in an array 4
array_udiff() Compares array values in a user-made function and returns an array 5
array_udiff_assoc() Compares array keys, and compares array values in a user-made function, and returns an array 5
array_udiff_uassoc() Compares array keys and array values in user-made functions, and returns an array 5
array_uintersect() Compares array values in a user-made function and returns an array 5
array_uintersect_assoc() Compares array keys, and compares array values in a user-made function, and returns an array 5
array_uintersect_uassoc() Compares array keys and array values in user-made functions, and returns an array 5
array_unique() Removes duplicate values from an array 4
array_unshift() Adds one or more elements to the beginning of an array 4
array_values() Returns all the values of an array 4
array_walk() Applies a user function to every member of an array 3
array_walk_recursive() Applies a user function recursively to every member of an array 5
arsort() Sorts an array in reverse order and maintain index association 3
asort() Sorts an array and maintain index association 3
compact() Create array containing variables and their values 4
count() Counts elements in an array, or properties in an object 3
current() Returns the current element in an array 3
each() Returns the current key and value pair from an array 3
end() Sets the internal pointer of an array to its last element 3
extract() Imports variables into the current symbol table from an array 3
in_array() Checks if a specified value exists in an array 4
key() Fetches a key from an array 3
krsort() Sorts an array by key in reverse order 3
ksort() Sorts an array by key 3
list() Assigns variables as if they were an array 3
natcasesort() Sorts an array using a case insensitive "natural order" algorithm 4
natsort() Sorts an array using a "natural order" algorithm 4
next() Advance the internal array pointer of an array 3
pos() Alias of current() 3
prev() Rewinds the internal array pointer 3
range() Creates an array containing a range of elements 3
reset() Sets the internal pointer of an array to its first element 3
rsort() Sorts an array in reverse order 3
shuffle() Shuffles an array 3
sizeof() Alias of count() 3
sort() Sorts an array 3
uasort() Sorts an array with a user-defined function and maintain index association 3
uksort() Sorts an array by keys using a user-defined function 3
usort() Sorts an array by values using a user-defined function 3

PHP Array Constants

Constant Description PHP
CASE_LOWER Used with array_change_key_case() to convert array keys to lower case  
CASE_UPPER Used with array_change_key_case() to convert array keys to upper case  
SORT_ASC Used with array_multisort() to sort in ascending order  
SORT_DESC Used with array_multisort() to sort in descending order  
SORT_REGULAR Used to compare items normally  
SORT_NUMERIC Used to compare items numerically  
SORT_STRING Used to compare items as strings  
SORT_LOCALE_STRING Used to compare items as strings, based on the current locale 4
COUNT_NORMAL    
COUNT_RECURSIVE    
EXTR_OVERWRITE    
EXTR_SKIP    
EXTR_PREFIX_SAME    
EXTR_PREFIX_ALL    
EXTR_PREFIX_INVALID    
EXTR_PREFIX_IF_EXISTS    
EXTR_IF_EXISTS    
EXTR_REFS    

Math Functions

Function Description PHP
abs() Returns the absolute value of a number 3
acos() Returns the arccosine of a number 3
acosh() Returns the inverse hyperbolic cosine of a number 4
asin() Returns the arcsine of a number 3
asinh() Returns the inverse hyperbolic sine of a number 4
atan() Returns the arctangent of a number as a numeric value between -PI/2 and PI/2 radians 3
atan2() Returns the angle theta of an (x,y) point as a numeric value between -PI and PI radians 3
atanh() Returns the inverse hyperbolic tangent of a number 4
base_convert() Converts a number from one base to another 3
bindec() Converts a binary number to a decimal number 3
ceil() Returns the value of a number rounded upwards to the nearest integer 3
cos() Returns the cosine of a number 3
cosh() Returns the hyperbolic cosine of a number 4
decbin() Converts a decimal number to a binary number 3
dechex() Converts a decimal number to a hexadecimal number 3
decoct() Converts a decimal number to an octal number 3
deg2rad() Converts a degree to a radian number 3
exp() Returns the value of Ex 3
expm1() Returns the value of Ex - 1 4
floor() Returns the value of a number rounded downwards to the nearest integer 3
fmod() Returns the remainder (modulo) of the division of the arguments 4

getrandmax()

Returns the maximum random number that can be returned by a call to the rand() function 3
hexdec() Converts a hexadecimal number to a decimal number 3
hypot() Returns the length of the hypotenuse of a right-angle triangle 4
is_finite() Returns true if a value is a finite number 4
is_infinite() Returns true if a value is an infinite number 4
is_nan() Returns true if a value is not a number 4
lcg_value() Returns a pseudo random number in the range of (0,1) 4
log() Returns the natural logarithm (base E) of a number 3
log10() Returns the base-10 logarithm of a number 3
log1p() Returns log(1+number) 4
max() Returns the number with the highest value of two specified numbers 3
min() Returns the number with the lowest value of two specified numbers 3
mt_getrandmax() Returns the largest possible value that can be returned by mt_rand() 3
mt_rand() Returns a random integer using Mersenne Twister algorithm 3
mt_srand() Seeds the Mersenne Twister random number generator 3
octdec() Converts an octal number to a decimal number 3
pi() Returns the value of PI 3
pow() Returns the value of x to the power of y 3
rad2deg() Converts a radian number to a degree 3
rand() Returns a random integer 3
round() Rounds a number to the nearest integer 3
sin() Returns the sine of a number 3
sinh() Returns the hyperbolic sine of a number 4
sqrt() Returns the square root of a number 3
srand() Seeds the random number generator 3
tan() Returns the tangent of an angle 3
tanh() Returns the hyperbolic tangent of an angle 4

Math Constants

Constant Description PHP
M_E Returns e (approx. 2.718) 4
M_EULER Returns Euler's constant (approx. 0.577) 4
M_LNPI Returns the natural logarithm of PI (approx. 1.144) 4
M_LN2 Returns the natural logarithm of 2 (approx. 0.693) 4
M_LN10 Returns the natural logarithm of 10 (approx. 2.302) 4
M_LOG2E Returns the base-2 logarithm of E (approx. 1.442) 4
M_LOG10E Returns the base-10 logarithm of E (approx. 0.434) 4
M_PI Returns PI (approx. 3.14159) 3
M_PI_2 Returns PI/2 (approx. 1.570) 4
M_PI_4 Returns PI/4 (approx. 0.785) 4
M_1_PI Returns 1/PI (approx. 0.318) 4
M_2_PI Returns 2/PI (approx. 0.636) 4
M_SQRTPI Returns the square root of PI (approx. 1.772) 4
M_2_SQRTPI Returns 2/square root of PI (approx. 1.128) 4
M_SQRT1_2 Returns the square root of 1/2 (approx. 0.707) 4
M_SQRT2 Returns the square root of 2 (approx. 1.414) 4
M_SQRT3 Returns the square root of 3 (approx. 1.732) 4

Date/Time Functions

Function Description PHP
checkdate() Validates a Gregorian date 3
date_default_timezone_get() Returns the default time zone 5
date_default_timezone_set() Sets the default time zone 5
date_sunrise() Returns the time of sunrise for a given day / location 5
date_sunset() Returns the time of sunset for a given day / location 5
date() Formats a local time/date 3
getdate() Returns an array that contains date and time information for a Unix timestamp 3
gettimeofday() Returns an array that contains current time information 3
gmdate() Formats a GMT/UTC date/time 3
gmmktime() Returns the Unix timestamp for a GMT date 3
gmstrftime() Formats a GMT/UTC time/date according to locale settings 3
idate() Formats a local time/date as integer 5
localtime() Returns an array that contains the time components of a Unix timestamp 4
microtime() Returns the microseconds for the current time 3
mktime() Returns the Unix timestamp for a date 3
strftime() Formats a local time/date according to locale settings 3
strptime() Parses a time/date generated with strftime() 5
strtotime() Parses an English textual date or time into a Unix timestamp 3
time() Returns the current time as a Unix timestamp 3

Date/Time Constants

Constant Description PHP
DATE_ATOM Atom (example: 2005-08-15T16:13:03+0000)  
DATE_COOKIE HTTP Cookies (example: Sun, 14 Aug 2005 16:13:03 UTC)  
DATE_ISO8601 ISO-8601 (example: 2005-08-14T16:13:03+0000)  
DATE_RFC822 RFC 822 (example: Sun, 14 Aug 2005 16:13:03 UTC)  
DATE_RFC850 RFC 850 (example: Sunday, 14-Aug-05 16:13:03 UTC)  
DATE_RFC1036 RFC 1036 (example: Sunday, 14-Aug-05 16:13:03 UTC)  
DATE_RFC1123 RFC 1123 (example: Sun, 14 Aug 2005 16:13:03 UTC)  
DATE_RFC2822 RFC 2822 (Sun, 14 Aug 2005 16:13:03 +0000)  
DATE_RSS RSS (Sun, 14 Aug 2005 16:13:03 UTC)  
DATE_W3C World Wide Web Consortium (example: 2005-08-14T16:13:03+0000)  

Runtime Configuration

The behavior of the date/time functions is affected by settings in php.ini.

Name Default Description Changeable
date.default_latitude  "31.7667" Specifies the default latitude (available since PHP 5). This option is used by date_sunrise() and date_sunset() PHP_INI_ALL
date.default_longitude "35.2333" Specifies the default longitude (available since PHP 5). This option is used by date_sunrise() and date_sunset() PHP_INI_ALL
date.sunrise_zenith "90.83" Specifies the default sunrise zenith (available since PHP 5). This option is used by date_sunrise() and date_sunset() PHP_INI_ALL
date.sunset_zenith "90.83" Specifies the default sunset zenith (available since PHP 5). This option is used by date_sunrise() and date_sunset() PHP_INI_ALL
date.timezone "" Specifies the default timezone (available since PHP 5.1) PHP_INI_ALL

Mail Functions

For the mail functions to be available, PHP requires an installed and working email system. The program to be used is defined by the configuration settings in the php.ini file.

Function Description PHP
ezmlm_hash() Calculates the hash value needed by the EZMLM mailing list system 3
mail() Allows you to send emails directly from a script 3

Runtime Configuration

The behavior of the mail functions is affected by settings in the php.ini file.

Name Default Description Changeable
SMTP "localhost" Windows only: The DNS name or IP address of the SMTP server PHP_INI_ALL
smtp_port "25" Windows only: The SMTP port number. Available since PHP 4.3 PHP_INI_ALL
sendmail_from NULL Windows only: Specifies the "from" address to be used in email sent from PHP PHP_INI_ALL
sendmail_path NULL Unix systems only: Specifies where the sendmail program can be found (usually /usr/sbin/sendmail or /usr/lib/sendmail) PHP_INI_SYSTEM

HTTP Functions

Function Description PHP
header() Sends a raw HTTP header to a client 3
headers_list() Returns a list of response headers sent (or ready to send) 5
headers_sent() Checks if / where the HTTP headers have been sent 3
setcookie() Sends an HTTP cookie to a client 3
setrawcookie() Sends an HTTP cookie without URL encoding the cookie value 5

FTP Functions

The windows version of PHP has built-in support for the FTP extension. So, the FTP functions will work automatically.
However, if you are running the Linux version of PHP, you will have to compile PHP with --enable-ftp (PHP 4+) or --with-ftp (PHP 3) to get the FTP functions to work.

Function Description PHP
ftp_alloc() Allocates space for a file to be uploaded to the FTP server 5
ftp_cdup() Changes the current directory to the parent directory on the FTP server 3
ftp_chdir() Changes the current directory on the FTP server 3
ftp_chmod() Sets permissions on a file via FTP 5
ftp_close() Closes an FTP connection 4
ftp_connect() Opens an FTP connection 3
ftp_delete() Deletes a file on the FTP server 3
ftp_exec() Executes a program/command on the FTP server 4
ftp_fget() Downloads a file from the FTP server and saves it to an open file 3
ftp_fput() Uploads from an open file and saves it to a file on the FTP server 3
ftp_get_option() Returns runtime behaviors of the FTP connection 4
ftp_get() Downloads a file from the FTP server 3
ftp_login() Logs on to an FTP connection 3
ftp_mdtm() Returns the last modified time of a specified file 3
ftp_mkdir() Creates a new directory on the FTP server 3
ftp_nb_continue() Continues retrieving/sending a file (non-blocking) 4
ftp_nb_fget() Downloads a file from the FTP server and saves it to an open file (non-blocking) 4
ftp_nb_fput() Uploads from an open file and saves it to a file on the FTP server (non-blocking) 4
ftp_nb_get() Downloads a file from the FTP server (non-blocking) 4
ftp_nb_put() Uploads a file to the FTP server (non-blocking) 4
ftp_nlist() Lists the files in a specified directory on the FTP server 3
ftp_pasv() Turns passive mode on or off 3
ftp_put() Uploads a file to the FTP server 3
ftp_pwd() Returns the current directory name 3
ftp_quit() Alias of ftp_close() 3
ftp_raw() Sends a raw command to the FTP server 5
ftp_rawlist() Returns a detailed list of files in the specified directory 3
ftp_rename() Renames a file or directory on the FTP server 3
ftp_rmdir() Removes a directory on the FTP server 3
ftp_set_option() Sets runtime options for the FTP connection 4
ftp_site() Sends a SITE command to the server 3
ftp_size() Returns the size of the specified file 3
ftp_ssl_connect() Opens a secure SSL-FTP connection 4
ftp_systype() Returns the system type identifier of the FTP server 3

FTP Constants

Constant Description PHP
FTP_ASCII   3
FTP_TEXT   3
FTP_BINARY   3
FTP_IMAGE   3
FTP_TIMEOUT_SEC   3
FTP_AUTOSEEK   4
FTP_AUTORESUME Determine resume position and start position for get and put requests automatically 4
FTP_FAILED Asynchronous transfer has failed 4
FTP_FINISHED Asynchronous transfer has finished 4
FTP_MOREDATA Asynchronous transfer is still active 4

Directory Functions

Function Description PHP
chdir() Changes the current directory 3
chroot() Changes the root directory of the current process 4
dir() Opens a directory handle and returns an object 3
closedir() Closes a directory handle 3
getcwd() Returns the current directory 4
opendir() Opens a directory handle 3
readdir() Returns an entry from a directory handle 3
rewinddir() Resets a directory handle 3
scandir() Lists files and directories inside a specified path 5

Directory Constants

Constant Description PHP
DIRECTORY_SEPARATOR   3
PATH_SEPARATOR   4

Filesystem configuration options

Unix / Windows Compatibility
When specifying a path on Unix platforms, the forward slash (/) is used as directory separator. However, on Windows platforms, both forward slash (/) and backslash (\) can be used.

The behavior of the filesystem functions is affected by settings in php.ini.

Name Default Description Changeable
allow_url_fopen "1"

Allows fopen()-type functions to work with URLs (available since PHP 4.0.4)

PHP_INI_SYSTEM
user_agent NULL Defines the user agent for PHP to send (available since PHP 4.3) PHP_INI_ALL
default_socket_timeout "60" Sets the default timeout, in seconds, for socket based streams (available since PHP 4.3) PHP_INI_ALL
from "" Defines the anonymous FTP password (your email address) PHP_INI_ALL
auto_detect_line_endings "0" When set to "1", PHP will examine the data read by fgets() and file() to see if it is using Unix, MS-Dos or Mac line-ending characters (available since PHP 4.3) PHP_INI_ALL

Filesystem Functions

Function Description PHP
basename() Returns the filename component of a path 3
chgrp() Changes the file group 3
chmod() Changes the file mode 3
chown() Changes the file owner 3
clearstatcache() Clears the file status cache 3
copy() Copies a file 3
delete() Deletes a file. (Also see unlink() or unset())  
dirname() Returns the directory name component of a path 3
disk_free_space() Returns the free space of a directory 4
disk_total_space() Returns the total size of a directory 4
diskfreespace() Alias of disk_free_space() 3
fclose() Closes an open file 3
feof() Tests for end-of-file on an open file 3
fflush() Flushes buffered output to an open file 4
fgetc() Returns a character from an open file 3
fgetcsv() Parses a line from an open file, checking for CSV fields 3
fgets() Returns a line from an open file 3
fgetss() Returns a line, with HTML and PHP tags removed, from an open file 3
file() Reads a file into an array 3
file_exists() Checks whether or not a file or directory exists 3
file_get_contents() Reads a file into a string 4
file_put_contents Writes a string to a file 5
fileatime() Returns the last access time of a file 3
filectime() Returns the last change time of a file 3
filegroup() Returns the group ID of a file 3
fileinode() Returns the inode number of a file 3
filemtime() Returns the last modification time of a file 3
fileowner() Returns the user ID (owner) of a file 3
fileperms() Returns the permissions of a file 3
filesize() Returns the file size 3
filetype() Returns the file type 3
flock() Locks or releases a file 3
fnmatch() Matches a filename or string against a specified pattern 4
fopen() Opens a file or URL 3
fpassthru() Reads from an open file, until EOF, and writes the result to the output buffer 3
fputcsv() Formats a line as CSV and writes it to an open file 5
fputs() Alias of fwrite() 3
fread() Reads from an open file 3
fscanf() Parses input from an open file according to a specified format 4
fseek() Seeks in an open file 3
fstat() Returns information about an open file 4
ftell() Returns the current position in an open file 3
ftruncate() Truncates an open file to a specified length 4
fwrite() Writes to an open file 3
glob() Returns an array of filenames / directories matching a specified pattern 4
is_dir() Checks whether a file is a directory 3
is_executable() Checks whether a file is executable 3
is_file() Checks whether a file is a regular file 3
is_link() Checks whether a file is a link 3
is_readable() Checks whether a file is readable 3
is_uploaded_file() Checks whether a file was uploaded via HTTP POST 3
is_writable() Checks whether a file is writeable 4
is_writeable() Alias of is_writable() 3
link() Creates a hard link 3
linkinfo() Returns information about a hard link 3
lstat() Returns information about a file or symbolic link 3
mkdir() Creates a directory 3
move_uploaded_file() Moves an uploaded file to a new location 4
parse_ini_file() Parses a configuration file 4
pathinfo() Returns information about a file path 4
pclose() Closes a pipe opened by popen() 3
popen() Opens a pipe 3
readfile() Reads a file and writes it to the output buffer 3
readlink() Returns the target of a symbolic link 3
realpath() Returns the absolute pathname 4
rename() Renames a file or directory 3
rewind() Rewinds a file pointer 3
rmdir() Removes an empty directory 3
set_file_buffer() Sets the buffer size of an open file 3
stat() Returns information about a file 3
symlink() Creates a symbolic link 3
tempnam() Creates a unique temporary file 3
tmpfile() Creates a unique temporary file 3
touch() Sets access and modification time of a file 3
umask() Changes file permissions for files 3
unlink() Deletes a file 3

Filesystem Constants

Constant Description PHP
GLOB_BRACE    
GLOB_ONLYDIR    
GLOB_MARK    
GLOB_NOSORT    
GLOB_NOCHECK    
GLOB_NOESCAPE    
PATHINFO_DIRNAME    
PATHINFO_BASENAME    
PATHINFO_EXTENSION    
FILE_USE_INCLUDE_PATH    
FILE_APPEND    
FILE_IGNORE_NEW_LINES    
FILE_SKIP_EMPTY_LINES    

Calendar Functions

The windows version of PHP has built-in support for the calendar extension. So, the calendar functions will work automatically.
However, if you are running the Linux version of PHP, you will have to compile PHP with --enable-calendar to get the calendar functions to work.

Function Description PHP
cal_days_in_month() Returns the number of days in a month for a specified year and calendar 4
cal_from_jd() Converts a Julian day count into a date of a specified calendar 4
cal_info() Returns information about a given calendar 4
cal_to_jd() Converts a date to Julian day count 4
easter_date() Returns the Unix timestamp for midnight on Easter of a specified year 3
easter_days() Returns the number of days after March 21, on which Easter falls for a specified year 3
FrenchToJD() Converts a French Republican date to a Julian day count 3
GregorianToJD() Converts a Gregorian date to a Julian day count 3
JDDayOfWeek() Returns the day of a week 3
JDMonthName() Returns a month name 3
JDToFrench() Converts a Julian day count to a French Republican date 3
JDToGregorian() Converts a Julian day count to a Gregorian date 3
jdtojewish() Converts a Julian day count to a Jewish date 3
JDToJulian() Converts a Julian day count to a Julian date 3
jdtounix() Converts a Julian day count to a Unix timestamp 4
JewishToJD() Converts a Jewish date to a Julian day count 3
JulianToJD() Converts a Julian date to a Julian day count 3
unixtojd() Converts a Unix timestamp to a Julian day count 4

Calendar Constants

Constant Description PHP
CAL_GREGORIAN Gregorian calendar 3
CAL_JULIAN Julian calendar 3
CAL_JEWISH Jewish calendar 3
CAL_FRENCH French Republican calendar 3
CAL_NUM_CALS   3
CAL_DOW_DAYNO   3
CAL_DOW_SHORT   3
CAL_DOW_LONG   3
CAL_MONTH_GREGORIAN_SHORT   3
CAL_MONTH_GREGORIAN_LONG   3
CAL_MONTH_JULIAN_SHORT   3
CAL_MONTH_JULIAN_LONG   3
CAL_MONTH_JEWISH   3
CAL_MONTH_FRENCH   3
CAL_EASTER_DEFAULT   4
CAL_EASTER_DEFAULT   4
CAL_EASTER_ROMAN   4
CAL_EASTER_ALWAYS_GREGORIAN   4
CAL_EASTER_ALWAYS_JULIAN   4
CAL_JEWISH_ADD_ALAFIM_GERESH   5
CAL_JEWISH_ADD_ALAFIM   5
CAL_JEWISH_ADD_GERESHAYIM   5

Misc. Functions

Function Description PHP
connection_aborted Checks whether the client has disconnected 3
connection_status Returns the current connection status 3
connection_timeout Deprecated in PHP 4.0.5 3
constant Returns the value of a constant 4
define Defines a constant 3
defined Checks whether a constant exists 3
die Prints a message and exits the current script 3
eval Evaluates a string as PHP code 3
exit Prints a message and exits the current script 3
get_browser Returns the capabilities of the user's browser 3
highlight_file Outputs a file with the PHP syntax highlighted 4
highlight_string Outputs a string with the PHP syntax highlighted 4
ignore_user_abort Sets whether a remote client can abort the running of a script 3
pack Packs data into a binary string 3
php_check_syntax Deprecated in PHP 5.0.5 5
php_strip_whitespace Returns the source code of a file with PHP comments and whitespace removed 5
show_source Alias of highlight_file() 4
sleep Delays code execution for a number of seconds 3
time_nanosleep Delays code execution for a number of seconds and nanoseconds 5
time_sleep_until Delays code execution until a specified time 5
uniqid Generates a unique ID 3
unpack Unpacks data from a binary string 3
usleep Delays code execution for a number of microseconds 3

Misc. Constants

Constant Description PHP
CONNECTION_ABORTED    
CONNECTION_NORMAL    
CONNECTION_TIMEOUT    
__COMPILER_HALT_OFFSET__   5

Runtime Configuration

The behavior of the misc functions is affected by settings in the php.ini file.

Name Default Description Changeable
ignore_user_abort "0" FALSE indicates that scripts will be terminated as soon as they try to output something after a client has aborted their connection PHP_INI_ALL
highlight.string "#DD0000" Color for highlighting a string in PHP syntax PHP_INI_ALL
highlight.comment "#FF8000" Color for highlighting PHP comments PHP_INI_ALL
highlight.keyword "#007700" Color for syntax highlighting PHP keywords (e.g. parenthesis and semicolon) PHP_INI_ALL
highlight.bg "#FFFFFF" Color for background PHP_INI_ALL
highlight.default "#0000BB" Default color for PHP syntax PHP_INI_ALL
highlight.html "#000000" Color for HTML code PHP_INI_ALL
browscap NULL Name and location of browser-capabilities file (e.g. browscap.ini) PHP_INI_SYSTEM

Installation on Linux Systems
PHP 5+: MySQL and the MySQL library is not enabled by default. Use the --with-mysql=DIR configure option to include MySQL support and download headers and libraries from www.mysql.com.

Installation on Windows Systems
PHP 5+: MySQL is not enabled by default, so the php_mysql.dll must be enabled inside of php.ini. Also, PHP needs access to the MySQL client library. A file named libmysql.dll is included in the Windows PHP distribution, and in order for PHP to talk to MySQL this file needs to be available to the Windows systems PATH.

To enable any PHP extension, the PHP extension_dir setting (in the php.ini file) should be set to the directory where the PHP extensions are located. An example extension_dir value is c:\php\ext.

Note: If you get the following error when starting the web server: "Unable to load dynamic library './php_mysql.dll'", this is because php_mysql.dll or libmysql.dll cannot be found by the system.

MySQL Functions

Function Description PHP
mysql_affected_rows Returns the number of affected rows in the previous MySQL operation 3
mysql_change_user Deprecated. Changes the user of the current MySQL connection 3
mysql_client_encoding Returns the name of the character set for the current connection 4
mysql_close Closes a non-persistent MySQL connection 3
mysql_connect Opens a non-persistent MySQL connection 3
mysql_create_db Deprecated. Creates a new MySQL database. Use mysql_query() instead 3
mysql_data_seek Moves the record pointer 3
mysql_db_name Returns a database name from a call to mysql_list_dbs() 3
mysql_db_query Deprecated. Sends a MySQL query. Use mysql_select_db() and mysql_query() instead 3
mysql_drop_db Deprecated. Deletes a MySQL database. Use mysql_query() instead 3
mysql_errno Returns the error number of the last MySQL operation 3
mysql_error Returns the error description of the last MySQL operation 3
mysql_escape_string Deprecated. Escapes a string for use in a mysql_query. Use mysql_real_escape_string() instead 4
mysql_fetch_array Returns a row from a recordset as an associative array and/or a numeric array 3
mysql_fetch_assoc Returns a row from a recordset as an associative array 4
mysql_fetch_field Returns column info from a recordset as an object 3
mysql_fetch_lengths Returns the length of the contents of each field in a result row 3
mysql_fetch_object Returns a row from a recordset as an object 3
mysql_fetch_row Returns a row from a recordset as a numeric array 3
mysql_field_flags Returns the flags associated with a field in a recordset 3
mysql_field_len Returns the maximum length of a field in a recordset 3
mysql_field_name Returns the name of a field in a recordset 3
mysql_field_seek Moves the result pointer to a specified field 3
mysql_field_table Returns the name of the table the specified field is in 3
mysql_field_type Returns the type of a field in a recordset 3
mysql_free_result Free result memory 3
mysql_get_client_info Returns MySQL client info 4
mysql_get_host_info Returns MySQL host info 4
mysql_get_proto_info Returns MySQL protocol info 4
mysql_get_server_info Returns MySQL server info 4
mysql_info Returns information about the last query 4
mysql_insert_id Returns the AUTO_INCREMENT ID generated from the previous INSERT operation 3
mysql_list_dbs Lists available databases on a MySQL server 3
mysql_list_fields Deprecated. Lists MySQL table fields. Use mysql_query() instead 3
mysql_list_processes Lists MySQL processes 4
mysql_list_tables Deprecated. Lists tables in a MySQL database. Use mysql_query() instead 3
mysql_num_fields Returns the number of fields in a recordset 3
mysql_num_rows Returns the number of rows in a recordset 3
mysql_pconnect Opens a persistent MySQL connection 3
mysql_ping Pings a server connection or reconnects if there is no connection 4
mysql_query Executes a query on a MySQL database 3
mysql_real_escape_string Escapes a string for use in SQL statements 4
mysql_result Returns the value of a field in a recordset 3
mysql_select_db Sets the active MySQL database 3
mysql_stat Returns the current system status of the MySQL server 4
mysql_tablename Deprecated. Returns the table name of field. Use mysql_query() instead 3
mysql_thread_id Returns the current thread ID 4
mysql_unbuffered_query Executes a query on a MySQL database (without fetching / buffering the result) 4

MySQL Constants

Since PHP 4.3 it has been possible to specify additional flags for the mysql_connect() and mysql_pconnect() functions:

Constant Description PHP
MYSQL_CLIENT_COMPRESS Use compression protocol 4.3
MYSQL_CLIENT_IGNORE_SPACE Allow space after function names 4.3
MYSQL_CLIENT_INTERACTIVE Allow interactive timeout seconds of inactivity before closing the connection 4.3
MYSQL_CLIENT_SSL Use SSL encryption (only available with version 4+ of the MySQL client library) 4.3

The mysql_fetch_array() function uses a constant for the different types of result arrays. The following constants are defined:

Constant Description PHP
MYSQL_ASSOC Columns are returned into the array with the fieldname as the array index  
MYSQL_BOTH Columns are returned into the array having both a numerical index and the fieldname as the array index  
MYSQL_NUM Columns are returned into the array having a numerical index (index starts at 0)  

Runtime Configuration

The behavior of the MySQL functions is affected by settings in the php.ini file.

Name Default Description Changeable
mysql.allow_persistent "1" Whether or not to allow persistent connections PHP_INI_SYSTEM
mysql.max_persistent "-1" The maximum number of persistent connections per process PHP_INI_SYSTEM
mysql.max_links "-1" The maximum number of connections per process (persistent connections included) PHP_INI_SYSTEM
mysql.trace_mode "0" Trace mode. When set to "1", warnings and SQL-errors will be displayed. Available since PHP 4.3 PHP_INI_ALL
mysql.default_port NULL The default TCP port number to use PHP_INI_ALL
mysql.default_socket NULL The default socket name to use. Available since PHP 4.0.1 PHP_INI_ALL
mysql.default_host NULL The default server host to use (doesn't apply in SQL safe mode) PHP_INI_ALL
mysql.default_user NULL The default user name to use (doesn't apply in SQL safe mode) PHP_INI_ALL
mysql.default_password NULL The default password to use (doesn't apply in SQL safe mode) PHP_INI_ALL
mysql.connect_timeout "60" Connection timeout in seconds PHP_INI_ALL

Runtime Configuration

The behavior of the misc functions is affected by settings in the php.ini file.

Name Default Description Changeable
ignore_user_abort "0" FALSE indicates that scripts will be terminated as soon as they try to output something after a client has aborted their connection PHP_INI_ALL
highlight.string "#DD0000" Color for highlighting a string in PHP syntax PHP_INI_ALL
highlight.comment "#FF8000" Color for highlighting PHP comments PHP_INI_ALL
highlight.keyword "#007700" Color for syntax highlighting PHP keywords (e.g. parenthesis and semicolon) PHP_INI_ALL
highlight.bg "#FFFFFF" Color for background PHP_INI_ALL
highlight.default "#0000BB" Default color for PHP syntax PHP_INI_ALL
highlight.html "#000000" Color for HTML code PHP_INI_ALL
browscap NULL Name and location of browser-capabilities file (e.g. browscap.ini) PHP_INI_SYSTEM

PHP if...else Statements

Very often when you write code, you want to perform different actions for different decisions.You can use conditional statements in your code to do this.

<?php 
if (condition){
  
// code to be executed if condition is true;
}
else{
  
// code to be executed if condition is false;
}
?>

If you want to execute some code if one of several conditions are true use the elseif statement

<?php 
if (condition){
  
// code to be executed if condition is true;
}
elseif (
condition){
  
// code to be executed if condition is true;
}
else{
  
// code to be executed if condition is false;
}
?>

Short notation

<?php 
(condition) ? (code if condition is true) : (code if condition is false);
?>

Example:
Display the time and display custom greeting depending on the time of day:

<?php 
echo date("g:ia").'<br />';
$date date ("H");
if (
$date 6) {
    echo 
"Up Late Aren't We";
} elseif (
$date 7) {
    echo 
"Are you the early bird";
} elseif (
$date 12) {
    echo 
"Good Morning";
} elseif (
$date 18) {
    echo 
"Good Afternoon";
} elseif (
$date 22) {
    echo 
"Good Evening";
} elseif (
$date 24) {
    echo 
"Souldn't You Be Going To Bed Soon?";
}
?>

Result:

6:10pm
Good Evening

PHP switch Statements

If you want to select one of many blocks of code to be executed, use the Switch statement.
The switch statement is used to avoid long blocks of if..elseif..else code.

his is how it works:

<?php 
switch (expression){
case 
label1:
  
//code to be executed if expression = label1;
  
break;  
case 
label2:
  
//code to be executed if expression = label2;
  
break;
default:
  
//code to be executed
  //if expression is different 
  //from both label1 and label2;
}
?>

Example:
Display the time and display custom greeting depending on the time of day:

<?php 
echo date("g:ia").'<br />';
$date date ("H");
switch(
$date) {
case(
$date 6):
    echo 
"Up Late Aren't We";
    break;
case(
$date 7):
    echo 
"Are you the early bird";
    break;
case(
$date 12):
    echo 
"Good Morning";
    break;
case(
$date 18):
    echo 
"Good Afternoon";
    break;
case(
$date 22):
    echo 
"Good Evening";
    break;
default:
    echo 
"Souldn't You Be Going To Bed Soon?";
}
?>

Result:

6:10pm
Good Evening

PHP while loop

The while statement will execute a block of code if and as long as a condition is true.

<?php 
while (condition){
  
//code to be executed;
}
?>

Example:
The following example demonstrates a loop that will continue to run as long as the variable i is less than, or equal to 5. i will increase by 1 each time the loop runs:

<?php 
$i
=1;
while(
$i<=5){
  echo 
"The number is " $i "<br />";
  
$i++;
}
?>

Result:

The number is 1
The number is 2
The number is 3
The number is 4
The number is 5

PHP do..while loop

The do...while statement will execute a block of code at least once - it then will repeat the loop as long as a condition is true.

<?php 
do{
  
//code to be executed;
} while (condition);
?>

Example:
The following example will increment the value of i at least once, and it will continue incrementing the variable i as long as it has a value of less than 5:

<?php 
$i
=1;
do{
  echo 
"The number is " $i "<br />";
  
$i++;
} while(
$i<=5);
?>

Result:

The number is 1
The number is 2
The number is 3
The number is 4
The number is 5

PHP for loop

The for statement is used when you know how many times you want to execute a statement or a list of statements.

<?php 
for (initializationconditionincrement){
  
//code to be executed;
}
?>

Example:
The following example prints the text "Hello PHP!" five times:

<?php 
for ($i=1$i<=5$i++){
  echo 
"$i : Hello PHP!<br />";
}
?>

Result:

1 : Hello PHP!
2 : Hello PHP!
3 : Hello PHP!
4 : Hello PHP!
5 : Hello PHP!

PHP foreach loop

The foreach statement is used to loop through arrays.
For every loop, the value of the current array element is assigned to $value (and the array pointer is moved by one) - so on the next loop, you'll be looking at the next element.

<?php 
foreach (array as value){
  
//code to be executed;
}
?>

Example1:
The following example demonstrates a loop that will print the values of the given array:

<?php 
$arr 
= array("one""two""three");
foreach (
$arr as $value){
  echo 
"Value: $value <br />";
}
?>

Result::

Value: one
Value: two
Value: three

Example2:

<?php 
$arr 
= array("one""two""three");
foreach (
$arr as $key => $value){
  echo 
"\$array[$key]: $value <br />";
}
?>

Result::

$array[0]: one
$array[1]: two
$array[2]: three

Source: w3schools