PHP Array Functions

array_diff (arr1, arr2 ...)
array_­filter (arr, function)
array_flip (arr)
array_­int­ersect (arr1, arr2 ...)
array_­merge (arr1, arr2 ...)
array_pop (arr)
array_push (arr, var1, var2 ...)
array_­reverse (arr)
array_­search (needle, arr)
array_walk (arr, function)
count (count)
in_array (needle, haystack)

PHP String Functions

crypt (str, salt)
explode (sep, str)
implode (glue, arr)
nl2br (str)
sprintf (frmt, args)
strip_tags (str, allowe­d_tags)
str_re­place (search, replace, str)
strpos (str, needle)
strrev (str)
strstr (str, needle)
strtolower (str)
strtoupper (str)
substr (string, start, len)

PHP Filesystem Functions

clears­tat­cache ()
copy (source, dest)
fclose (handle)
fgets (handle, len)
file (file)
filemtime (file)
filesize (file)
file_e­xists (file)
fopen (file, mode)
fread (handle, len)
fwrite (handle, str)
readfile (file)

PHP Date and Time Functions

checkdate (month, day, year)
date (format, timestamp)
getdate (times­tamp)
mktime (hr, min, sec, month, day, yr)
strftime (forma­tst­ring, timestamp)
strtotime (str)
time ()

PHP Regular Expressions Functions

ereg (pattern, str)
split (pattern, str)
ereg_r­eplace (pattern, replace, str)
preg_grep (pattern, arr)
preg_match (pattern, str)
preg_m­atc­h_all (pattern, str, arr)
preg_r­eplace (pattern, replace, str)
preg_split (pattern, str)

Regular Expressions Syntax

^ Start of string
$ End of string
. Any single character
(a|b) a or b
(...) Group section
[abc] In range (a, b or c)
[^abc] Not in range
\s White space
a? Zero or one of a
a* Zero or more of a
a*? Zero or more, ungreedy
a+ One or more of a
a+? One or more, ungreedy
a{3} Exactly 3 of a
a{3,} 3 or more of a
a{,6} Up to 6 of a
a{3,6} 3 to 6 of a
a{3,6}? 3 to 6 of a, ungreedy
\ Escape character
[:punct:] Any punctu­ation symbol
[:space:] Any space character
[:blank:] Space or tab

There's an excellent regular expression tester at: http:/­/re­gex­

Pattern Modifiers

g Global match
i * Case-i­nse­nsitive
m * Multiple lines
s * Treat string as single line
x * Allow comments and whitespace in pattern
e * Evaluate replac­ement
U * Ungreedy pattern

* PCRE modifier


PHP fopen() Modes

r Read
r+ Read and write, prepend
w Write, truncate
w+ Read and write, truncate
a Write, append
a+ Read and write, append

PHP Date Formatting

Y 4 digit year (2008)
y 2 digit year (08)
F Long month (January)
M Short month (Jan)
m Month ⁴ (01 to 12)
n Month (1 to 12)
D Short day name (Mon)
l Long day name (Monday) (lowercase L)
d Day ⁴ (01 to 31)
j Day (1 to 31)
h 12 Hour ⁴ (01 to 12)
g 12 Hour (1 to 12)
H 24 Hour ⁴ (00 to 23)
G 24 Hour (0 to 23)
i Minutes ⁴ (00 to 59)
s Seconds ⁴ (00 to 59)
w Day of week ¹ (0 to 6)
z Day of year (0 to 365)
W Week of year ² (1 to 53)
t Days in month (28 to 31)
a am or pm
A AM or PM
B Swatch Internet Time (000 to 999)
S Ordinal Suffix (st, nd, rd, th)
T Timezone of machine (GMT)
Z Timezone offset (seconds)
O GMT offset (hours) (+0200)
I Daylight saving (1 or 0)
L Leap year (1 or 0)
U Seconds since Epoch ³
c ISO 8601 (PHP 5) (2008-­07-­31T­18:­30:­13+­01:00)
r RFC 2822 (Thu, 31 Jul 2008 18:30:13 +0100)

¹ 0 is Sunday, 6 is Saturday.
² Week that overlaps two years belongs to year that contains most days of that week. Hence week number for 1st January of a given year can be 53 if week belongs to previous year. date("W­", mktime(0, 0, 0, 12, 8, $year)) always gives correct number of weeks in $year.
³ The Epoch is the 1st January 1970.
⁴ With leading zeroes


Share This Cheat Sheet!

Favourited by 50 Members:

jdmyers nschurdell fredpalma chris5marsh DaveChild harksha CyberTron SamCollett xcjjzh nml cjvalotta lornajane arnoldobr anomalophobe brentscheidt rexington GaBBBBB xcession naesk KAA n2linux Rober1992 maintainweb m7sssr sebbu fedesilva saji89 guslong rd5coding janslow SoulReverie andshecodes2 avalitan BorkZorkOrc Epoc akipta ovi_mihai Vijay chi_zach rajivvishwa Dranzz Coldblackice Swahilikid Theosis gmickd mrlaziz CenturyMan1979 Yennick ThibaultGomarin dacheat


localwebdesign localwebdesign, 10:02 28 Nov 11


Thanks for adding these. They rock! the mysql and php ones are my faves. Found your site by searching for a SQL Server cheatsheet.

all of them are great!

Now to dream up one of my own to share. ;0)

Anan Anan, 12:17 7 Dec 11

Hi Dave!
I recently started learning html,php,mysql and I found your cheatsheets very helpful and also the four security lessons on Php scripting(addedbytes).

thanks alot,
with bllesings from aboce


alan alan, 07:46 5 Jan 12

this is better, got some ajax accordion function for clicking

Fishtankalpha Fishtankalpha, 13:11 5 Jan 12

There is a lot missing.

DaveChild DaveChild, 13:12 5 Jan 12

Well, yes. It's a quick reference, not a manual :).

xcession xcession, 18:23 14 Mar 12

Nice Thanks :)
btw, can you make it a bit more compact? because table break into separated page when download as PDF.

Isaac Isaac, 13:28 14 May 12

What good is this cheat sheet? It has function names and no descriptions or examples?

Is this a wordpress website? WTF!

Add a Comment

Your Comment

Please enter your name.

    Please enter your email address

      Please enter your Comment.