Php-Note !!
Php-Note !!
INTRO OF PHP
WHAT IS PHP?
PHP IS AN ACRONYM FOR "PHP: HYPERTEXT PREPROCESSOR"
PHP IS A WIDELY-USED, OPEN SOURCE SCRIPTING LANGUAGE
PHP SCRIPTS ARE EXECUTED ON THE SERVER
WHY PHP?
PHP RUNS ON VARIOUS PLATFORMS (WINDOWS, LINUX, UNIX, MAC OS X, ETC.)
PHP IS COMPATIBLE WITH ALMOST ALL SERVERS USED TODAY (APACHE, IIS,
ETC.)
PHP SUPPORTS A WIDE RANGE OF DATABASES
PHP IS EASY TO LEARN AND RUNS EFFICIENTLY ON THE SERVER SIDE
PHP SYNTAX
A PHP SCRIPT IS EXECUTED ON THE SERVER, AND THE PLAIN HTML RESULT IS SENT BACK
TO THE BROWSER.
<?php
?>
A PHP FILE NORMALLY CONTAINS HTML TAGS, AND SOME PHP SCRIPTING CODE.
BELOW, WE HAVE AN EXAMPLE OF A SIMPLE PHP FILE, WITH A PHP SCRIPT THAT USES
A BUILT-IN PHP FUNCTION "echo" TO OUTPUT THE TEXT "HELLO WORLD!" ON A WEB
PAGE:
EXAMPLE
A SIMPLE .PHP FILE WITH BOTH HTML CODE AND PHP CODE:
<!DOCTYPE html>
<html>
<body>
<?php
?>
</body>
</html>
IN THE EXAMPLE BELOW, ALL THREE ECHO STATEMENTS BELOW ARE EQUAL AND
LEGAL:
EXAMPLE
ECHO IS THE SAME AS echo:
<!DOCTYPE html>
<html>
<body>
<?php
?>
</body>
</html>
LOOK AT THE EXAMPLE BELOW; ONLY THE FIRST STATEMENT WILL DISPLAY THE VALUE
OF THE $color VARIABLE! THIS IS BECAUSE $color, $COLOR, AND $coLOR ARE
TREATED AS THREE DIFFERENT VARIABLES:
EXAMPLE
$COLOR IS NOT SAME AS $color:
<!DOCTYPE html>
<html>
<body>
<?php
$color = "red";
?>
</body>
</html>
PHP COMMENTS
A COMMENT IN PHP CODE IS A LINE THAT IS NOT EXECUTED AS A PART OF THE
PROGRAM. ITS ONLY PURPOSE IS TO BE READ BY SOMEONE WHO IS LOOKING AT THE
CODE.
EXAMPLE
SYNTAX FOR COMMENTS IN PHP CODE:
/* This is a
multi-line comment */
SINGLE LINE COMMENTS
SINGLE LINE COMMENTS START WITH //.
ANY TEXT BETWEEN // AND THE END OF THE LINE WILL BE IGNORED (WILL NOT BE
EXECUTED).
YOU CAN ALSO USE # FOR SINGLE LINE COMMENTS, BUT IN THIS TUTORIAL WE WILL
USE //.
EXAMPLE
A COMMENT BEFORE THE CODE:
EXAMPLE
A COMMENT AT THE END OF A LINE:
EXAMPLE
DO NOT DISPLAY A WELCOME MESSAGE:
MULTI-LINE COMMENTS
MULTI-LINE COMMENTS START WITH /* AND END WITH */.
/*
*/
EXAMPLE
MULTI-LINE COMMENT TO IGNORE CODE:
/*
*/
echo "Hello!";
EXAMPLE
THE + 15 PART WILL BE IGNORED IN THE CALCULATION:
$x = 5 /* + 15 */ + 5;
echo $x;
PHP VARIABLE
VARIABLES ARE "CONTAINERS" FOR STORING INFORMATION.
EXAMPLE
$x = 5;
$y = "Bender"
IN THE EXAMPLE ABOVE, THE VARIABLE$x WILL HOLD THE VALUE 5, AND THE
VARIABLE $y WILL HOLD THE VALUE "Bender".
NOTE: WHEN YOU ASSIGN A TEXT VALUE TO A VARIABLE, PUT QUOTES AROUND THE
VALUE.
PHP VARIABLES
A VARIABLE CAN HAVE A SHORT NAME (LIKE $x AND $y) OR A MORE DESCRIPTIVE
NAME ($age, $carname, $total_volume).
EXAMPLE
$txt = "Bender";
THE FOLLOWING EXAMPLE WILL PRODUCE THE SAME OUTPUT AS THE EXAMPLE ABOVE:
EXAMPLE
$txt = "Bender";
EXAMPLE
$x = 5;
$y = 4;
echo $x + $y;
IN PHP 7, TYPE DECLARATIONS WERE ADDED. THIS GIVES AN OPTION TO SPECIFY THE
DATA TYPE EXPECTED WHEN DECLARING A FUNCTION, AND BY ENABLING THE STRICT
REQUIREMENT, IT WILL THROW A "FATAL ERROR" ON A TYPE MISMATCH.
YOU WILL LEARN MORE ABOUT strict AND non-strict REQUIREMENTS, AND DATA
TYPE DECLARATIONS IN THE PHP FUNCTIONS CHAPTER.
VA
RIABLE TYPES
PHP HAS NO COMMAND FOR DECLARING A VARIABLE, AND THE DATA TYPE DEPENDS
ON THE VALUE OF THE VARIABLE.
EXAMPLE
$x = 5; // $x is an integer
$y = "Bender"; // $y is a string
echo $x;
echo $y;
STRING
INTEGER
FLOAT (FLOATING POINT NUMBERS - ALSO CALLED DOUBLE)
BOOLEAN
ARRAY
OBJECT
NULL
RESOURCE
EXAMPLE
THE var_dump() FUNCTION RETURNS THE DATA TYPE AND THE VALUE:
$x = 5;
var_dump($x);
EXAMPLE
SEE WHAT var_dump() RETURNS FOR OTHER DATA TYPES:
var_dump(5);
var_dump("John");
var_dump(3.14);
var_dump(true);
var_dump([2, 3, 56]);
var_dump(NULL);
EXAMPLE
$x = "Bender";
echo $x;
EXAMPLE
ALL THREE VARIABLES GET THE VALUE "Fruit":
$x = $y = $z = "Fruit";
THE SCOPE OF A VARIABLE IS THE PART OF THE SCRIPT WHERE THE VARIABLE CAN BE
REFERENCED/USED.
EXAMPLE
VARIABLE WITH GLOBAL SCOPE:
$x = 5; // global scope
function myTest()
myTest();
A VARIABLE DECLARED within A FUNCTION HAS A LOCAL SCOPE AND CAN ONLY BE
ACCESSED WITHIN THAT FUNCTION:
EXAMPLE
VARIABLE WITH LOCAL SCOPE:
function myTest()
$x = 5; // local scope
myTest();
TO DO THIS, USE THE global KEYWORD BEFORE THE VARIABLES (INSIDE THE
FUNCTION):
EXAMPLE
$x = 5;
$y = 10;
function myTest() {
$y = $x + $y;
myTest();
EXAMPLE
$x = 5;
$y = 10;
function myTest() {
}
myTest();
TO DO THIS, USE THE static KEYWORD WHEN YOU FIRST DECLARE THE VARIABLE:
EXAMPLE
function myTest() {
static $x = 0;
echo $x;
$x++;
myTest();
myTest();
myTest();
THEN, EACH TIME THE FUNCTION IS CALLED, THAT VARIABLE WILL STILL HAVE THE
INFORMATION IT CONTAINED FROM THE LAST TIME THE FUNCTION WAS CALLED.
IN THIS TUTORIAL WE USE echo OR print IN ALMOST EVERY EXAMPLE. SO, THIS
CHAPTER CONTAINS A LITTLE MORE INFO ABOUT THOSE TWO OUTPUT
STATEMENTS.
DISPLAY TEXT
THE FOLLOWING EXAMPLE SHOWS HOW TO OUTPUT TEXT WITH THE echo COMMAND
(NOTICE THAT THE TEXT CAN CONTAIN HTML MARKUP):
EXAMPLE
echo "<h2>PHP is Fun!</h2>";
echo "This ", "string ", "was ", "made ", "with multiple parameters.";
DISPLAY VARIABLES
THE FOLLOWING EXAMPLE SHOWS HOW TO OUTPUT TEXT AND VARIABLES WITH
THE echo STATEMENT:
EXAMPLE
$txt1 = "Learn PHP";
$txt2 = "Bender.esp";
$x = 5;
$y = 4;
echo $x + $y;
DISPLAY TEXT
THE FOLLOWING EXAMPLE SHOWS HOW TO OUTPUT TEXT WITH THE print COMMAND
(NOTICE THAT THE TEXT CAN CONTAIN HTML MARKUP):
EXAMPLE
print "<h2>PHP is Fun!</h2>";
DISPLAY VARIABLES
THE FOLLOWING EXAMPLE SHOWS HOW TO OUTPUT TEXT AND VARIABLES WITH
THE print STATEMENT:
EXAMPLE
$txt1 = "Learn PHP";
$txt2 = "Bender.esp";
$x = 5;
$y = 4;
print $x + $y;
STRING
INTEGER
FLOAT (FLOATING POINT NUMBERS - ALSO CALLED DOUBLE)
BOOLEAN
ARRAY
OBJECT
NULL
RESOURCE
EXAMPLE
THE var_dump() FUNCTION RETURNS THE DATA TYPE AND THE VALUE:
$x = 5;
var_dump($x);
PHP STRING
A STRING IS A SEQUENCE OF CHARACTERS, LIKE "HELLO WORLD!".
A STRING CAN BE ANY TEXT INSIDE QUOTES. YOU CAN USE SINGLE OR DOUBLE
QUOTES:
EXAMPLE
$x = "Hello world!";
$y = 'Hello world!';
var_dump($x);
echo "<br>";
var_dump($y);
PHP INTEGER
AN INTEGER DATA TYPE IS A NON-DECIMAL NUMBER BETWEEN -2,147,483,648 AND
2,147,483,647.
EXAMPLE
$x = 5985;
var_dump($x);
PHP FLOAT
A FLOAT (FLOATING POINT NUMBER) IS A NUMBER WITH A DECIMAL POINT OR A
NUMBER IN EXPONENTIAL FORM.
EXAMPLE
$x = 10.365;
var_dump($x);
PHP BOOLEAN
A BOOLEAN REPRESENTS TWO POSSIBLE STATES: TRUE OR FALSE.
EXAMPLE
$x = true;
var_dump($x);
PHP ARRAY
AN ARRAY STORES MULTIPLE VALUES IN ONE SINGLE VARIABLE.
EXAMPLE
$cars = array("Volvo","BMW","Toyota");
var_dump($cars);
YOU WILL LEARN A LOT MORE ABOUT ARRAYS IN LATER CHAPTERS OF THIS TUTORIAL.
PHP OBJECT
CLASSES AND OBJECTS ARE THE TWO MAIN ASPECTS OF OBJECT-ORIENTED
PROGRAMMING.
WHEN THE INDIVIDUAL OBJECTS ARE CREATED, THEY INHERIT ALL THE PROPERTIES
AND BEHAVIORS FROM THE CLASS, BUT EACH OBJECT WILL HAVE DIFFERENT VALUES
FOR THE PROPERTIES.
LET'S ASSUME WE HAVE A CLASS NAMED Car THAT CAN HAVE PROPERTIES LIKE
MODEL, COLOR, ETC. WE CAN DEFINE VARIABLES LIKE $model, $color, AND SO ON,
TO HOLD THE VALUES OF THESE PROPERTIES.
WHEN THE INDIVIDUAL OBJECTS (VOLVO, BMW, TOYOTA, ETC.) ARE CREATED, THEY
INHERIT ALL THE PROPERTIES AND BEHAVIORS FROM THE CLASS, BUT EACH OBJECT
WILL HAVE DIFFERENT VALUES FOR THE PROPERTIES.
EXAMPLE
class Car {
public $color;
public $model;
$this->color = $color;
$this->model = $model;
}
}
var_dump($myCar);
A VARIABLE OF DATA TYPE NULL IS A VARIABLE THAT HAS NO VALUE ASSIGNED TO IT.
EXAMPLE
$x = "Hello world!";
$x = null;
var_dump($x);
IF YOU ASSIGN A STRING TO THE SAME VARIABLE, THE TYPE WILL CHANGE TO A
STRING:
EXAMPLE
$x = 5;
var_dump($x);
$x = "Hello";
var_dump($x);
PHP RESOURCE
THE SPECIAL RESOURCE TYPE IS NOT AN ACTUAL DATA TYPE. IT IS THE STORING OF A
REFERENCE TO FUNCTIONS AND RESOURCES EXTERNAL TO PHP.
A COMMON EXAMPLE OF USING THE RESOURCE DATA TYPE IS A DATABASE CALL.
WE WILL NOT TALK ABOUT THE RESOURCE TYPE HERE, SINCE IT IS AN ADVANCED
TOPIC.
PHP STRINGS
A STRING IS A SEQUENCE OF CHARACTERS, LIKE "HELLO WORLD!".
STRINGS
STRINGS IN PHP ARE SURROUNDED BY EITHER DOUBLE QUOTATION MARKS, OR
SINGLE QUOTATION MARKS.
EXAMPLE
echo "Hello";
echo 'Hello';
NOTE THERE IS A BIG DIFFERENT BETWEEN DOUBLE QUOTES AND SINGLE QUOTES IN
PHP.
E.G. WHEN THERE IS A VARIABLE IN THE STRING, IT RETURNS THE VALUE OF THE
VARIABLE:
EXAMPLE
DOUBLE QUOTED STRING LITERALS PERFORM OPERATIONS FOR SPECIAL CHARACTERS:
$x = "Bender";
SINGLE QUOTED STRINGS DOES NOT PERFORM SUCH ACTIONS, IT RETURNS THE
STRING LIKE IT WAS WRITTEN, WITH THE VARIABLE NAME:
EXAMPLE
SINGLE QUOTED STRING LITERALS RETURNS THE STRING AS IT IS:
$x = "Bender";
STRING LENGTH
THE PHP strlen() FUNCTION RETURNS THE LENGTH OF A STRING.
EXAMPLE
RETURN THE LENGTH OF THE STRING "Hello world!":
WORD COUNT
THE PHP str_word_count() FUNCTION COUNTS THE NUMBER OF WORDS IN A
STRING.
EXAMPLE
COUNT THE NUMBER OF WORD IN THE STRING "Hello world!":
EXAMPLE
SEARCH FOR THE TEXT "world" IN THE STRING "Hello world!":
UPPER CASE
EXAMPLE
THE strtoupper() FUNCTION RETURNS THE STRING IN UPPER CASE:
$x = "Hello World!";
echo strtoupper($x);
LOWER CASE
EXAMPLE
THE strtolower() FUNCTION RETURNS THE STRING IN LOWER CASE:
$x = "Hello World!";
echo strtolower($x);
REPLACE STRING
THE PHP str_replace() FUNCTION REPLACES SOME CHARACTERS WITH SOME
OTHER CHARACTERS IN A STRING.
EXAMPLE
REPLACE THE TEXT "World" WITH "Dolly":
$x = "Hello World!";
REVERSE A STRING
THE PHP strrev() FUNCTION REVERSES A STRING.
EXAMPLE
REVERSE THE STRING "Hello World!":
$x = "Hello World!";
echo strrev($x);
REMOVE WHITESPACE
WHITESPACE IS THE SPACE BEFORE AND/OR AFTER THE ACTUAL TEXT, AND VERY
OFTEN YOU WANT TO REMOVE THIS SPACE.
EXAMPLE
THE trim() REMOVES ANY WHITESPACE FROM THE BEGINNING OR THE END:
$x = " Hello World! ";
echo trim($x);
EXAMPLE
SPLIT THE STRING INTO AN ARRAY. USE THE SPACE CHARACTER AS SEPARATOR:
$x = "Hello World!");
print_r($y);
/*
*/
PHP - CONCATENATE STRINGS
STRING CONCATENATION
TO CONCATENATE, OR COMBINE, TWO STRINGS YOU CAN USE THE . OPERATOR:
EXAMPLE
$x = "Hello";
$y = "World";
$z = $x . $y;
echo $z;
EXAMPLE
$x = "Hello";
$y = "World";
echo $z;
EXAMPLE
$x = "Hello";
$y = "World";
$z = "$x $y";
echo $z;
PHP - SLICING STRINGS
YOU CAN RETURN A RANGE OF CHARACTERS BY USING THE substr() FUNCTION.
SPECIFY THE START INDEX AND THE NUMBER OF CHARACTERS YOU WANT TO
RETURN.
EXAMPLE
START THE SLICE AT INDEX 6 AND END THE SLICE 5 POSITIONS LATER:
$x = "Hello World!";
EXAMPLE
START THE SLICE AT INDEX 6 AND GO ALL THE WAY TO THE END:
$x = "Hello World!";
EXAMPLE
GET THE 3 CHARACTERS, STARTING FROM THE "O" IN WORLD (INDEX -5):
$x = "Hello World!";
EXAMPLE
GET THE CHARACTERS STARTING FROM THE "W" IN "World" (INDEX 5) AND
CONTINUE UNTIL 3 CHARACTERS FROM THE END.
$x = "Hello World!";
EXAMPLE
$x = "We are the so-called "Vikings" from the north.";
EXAMPLE
$x = "We are the so-called \"Vikings\" from the north.";
ESCAPE CHARACTERS
ESCAPE CHARACTERS
OTHER ESCAPE CHARACTERS USED
IN PHP:
Code Result
\$ PHP variables
\n New Line
\r Carriage Return
\t Tab
\f Form Feed
INTEGER
FLOAT
NUMBER STRINGS
IN ADDITION, PHP HAS TWO MORE DATA TYPES USED FOR NUMBERS:
INFINITY
NAN
EXAMPLE
$a = 5;
$b = 5.34;
$c = "25";
TO VERIFY THE TYPE OF ANY OBJECT IN PHP, USE THE var_dump() FUNCTION:
EXAMPLE
var_dump($a);
var_dump($b);
var_dump($c);
PHP INTEGERS
2, 256, -256, 10358, -179567 ARE ALL INTEGERS.
is_int()
is_integer() - alias of is_int()
is_long() - alias of is_int()
EXAMPLE
CHECK IF THE TYPE OF A VARIABLE IS INTEGER:
$x = 5985;
var_dump(is_int($x));
$x = 59.85;
var_dump(is_int($x));
PHP MATH
PHP HAS A SET OF MATH FUNCTIONS THAT ALLOWS YOU TO PERFORM
MATHEMATICAL TASKS ON NUMBERS.
EXAMPLE
<?php
echo(min(0, 150, 30, 20, -8, -200)); // returns -200
echo(max(0, 150, 30, 20, -8, -200)); // returns 150
?>
Example
<?php
echo(abs(-6.7)); // returns 6.7
?>
EXAMPLE
<?php
echo(sqrt(64)); // returns 8
?>
RANDOM NUMBERS
THE rand() FUNCTION GENERATES A RANDOM NUMBER:
EXAMPLE
<?php
echo(rand());
?>
TO GET MORE CONTROL OVER THE RANDOM NUMBER, YOU CAN ADD THE
OPTIONAL MIN AND MAX PARAMETERS TO SPECIFY THE LOWEST INTEGER AND THE
HIGHEST INTEGER TO BE RETURNED.
EXAMPLE
<?php
echo(rand(10, 100));
?>
PHP CONSTANTS
CONSTANTS ARE LIKE VARIABLES, EXCEPT THAT ONCE THEY ARE DEFINED
THEY CANNOT BE CHANGED OR UNDEFINED.
SYNTAX
define(name, value, case-insensitive)
Parameters:
EXAMPLE
CREATE A CONSTANT WITH A CASE-SENSITIVE NAME:
<?php
define("GREETING", "Welcome to Bender page!");
echo GREETING;
?>
EXAMPLE
CREATE A CONSTANT WITH A CASE-INSENSITIVE NAME:
<?php
define("GREETING", "Welcome to Bender page!", true);
echo greeting;
?>
EXAMPLE
CREATE A CONSTANT WITH THE const KEYWORD:
<?php
const MYCAR = "Volvo";
echo MYCAR;
?>
const vs. define()
EXAMPLE
CREATE AN ARRAY CONSTANT:
<?php
define("cars", [
"Alfa Romeo",
"BMW",
"Toyota"
]);
echo cars[0];
?>
EXAMPLE
THIS EXAMPLE USES A CONSTANT INSIDE A FUNCTION, EVEN IF IT IS DEFINED
OUTSIDE THE FUNCTION:
<?php
define("GREETING", "Welcome to Bender page!");
function myTest() {
echo GREETING;
}
myTest();
?>
PHP MAGIC CONSTANTS
Constant Description
ClassName::class Returns the name of the specified class and the name of the
namespace, if any.
PHP OPERATORS
OPERATORS ARE USED TO PERFORM OPERATIONS ON VARIABLES AND VALUES.
ARITHMETIC OPERATORS
ASSIGNMENT OPERATORS
COMPARISON OPERATORS
INCREMENT/DECREMENT OPERATORS
LOGICAL OPERATORS
STRING OPERATORS
ARRAY OPERATORS
CONDITIONAL ASSIGNMENT OPERATORS
THE BASIC ASSIGNMENT OPERATOR IN PHP IS "=". IT MEANS THAT THE LEFT
OPERAND GETS SET TO THE VALUE OF THE ASSIGNMENT EXPRESSION ON THE
RIGHT.
X += Y X=X+Y ADDITION
X -= Y X=X-Y SUBTRACTION
X *= Y X=X*Y MULTIPLICATION
X /= Y X=X/Y DIVISION
X %Y X=X%Y MODULAS
SYNTAX
if (condition) {
code to be executed if condition is true;
}
EXAMPLE
OUTPUT "HAVE A GOOD DAY!" IF THE CURRENT TIME (HOUR) IS LESS THAN 20:
<?php
$t = date("H");
SYNTAX
if (condition) {
code to be executed if condition is true;
} else {
code to be executed if condition is false;
}
EXAMPLE
OUTPUT "HAVE A GOOD DAY!" IF THE CURRENT TIME IS LESS THAN 20, AND "HAVE
A GOOD NIGHT!" OTHERWISE:
<?php
$t = date("H");
SYNTAX
if (condition)
{
code to be executed if this condition is true;
} elseif (condition)
{
code to be executed if first condition is false and this condition is true;
} else {
code to be executed if all conditions are false;
}
EXAMPLE
OUTPUT "HAVE A GOOD MORNING!" IF THE CURRENT TIME IS LESS THAN 10, AND
"HAVE A GOOD DAY!" IF THE CURRENT TIME IS LESS THAN 20. OTHERWISE IT WILL
OUTPUT "HAVE A GOOD NIGHT!":
<?php
$t = date("H");
SHORT HAND IF
TO WRITE SHORTER CODE, YOU CAN WRITE IF STATEMENTS ON ONE LINE.
EXAMPLE
ONE-LINE IF STATEMENT:
<?php
$a = 5;
echo $b
?>
EXAMPLE
ONE-LINE IF...ELSE STATEMENT:
<?php
$a = 13;
echo $b;
?>
NESTED IF
YOU CAN HAVE if STATEMENTS INSIDE if STATEMENTS, THIS IS
CALLED NESTED if STATEMENTS.
EXAMPLE
AN if INSIDE AN if:
<?php
$a = 13;
SYNTAX
switch (n) {
case label1: code to be executed if n=label1;
break;
case label2: code to be executed if n=label2;
break;
case label3: code to be executed if n=label3;
break;
...
default:
code to be executed if n is different from all labels;
}
EXAMPLE
<?php
$favcolor = "red";
switch ($favcolor) {
case "red":
echo "Your favorite color is red!";
break;
case "blue":
echo "Your favorite color is blue!";
break;
case "green":
echo "Your favorite color is green!";
break;
default:
echo "Your favorite color is neither red, blue, nor green!";
} ?>
PHP LOOPS
IN THE FOLLOWING CHAPTERS YOU WILL LEARN HOW TO REPEAT CODE BY USING
LOOPS IN PHP.
OFTEN WHEN YOU WRITE CODE, YOU WANT THE SAME BLOCK OF CODE TO RUN OVER
AND OVER AGAIN A CERTAIN NUMBER OF TIMES. SO, INSTEAD OF ADDING SEVERAL
ALMOST EQUAL CODE-LINES IN A SCRIPT, WE CAN USE LOOPS.
LOOPS ARE USED TO EXECUTE THE SAME BLOCK OF CODE AGAIN AND AGAIN, AS LONG
AS A CERTAIN CONDITION IS TRUE.
IN PHP, WE HAVE THE FOLLOWING LOOP TYPES:
THE FOLLOWING CHAPTERS WILL EXPLAIN AND GIVE EXAMPLES OF EACH LOOP
TYPE.
EXAMPLE
PRINT $i AS LONG AS $I IS LESS THAN 6:
$i = 1;
echo $i;
$i++;
THE while LOOP DOES NOT RUN A SPECIFIC NUMBER OF TIMES, BUT CHECKS
AFTER EACH ITERATION IF THE CONDITION IS STILL TRUE.
$i = 1;
echo $i;
$i++; }
EXAMPLE
STOP, AND JUMP TO THE NEXT ITERATION IF $i IS 3:
$i = 0;
$i++;
if ($i == 3) continue;
echo $i;
ALTERNATIVE SYNTAX
THE while LOOP SYNTAX CAN ALSO BE WRITTEN WITH
THE endwhile STATEMENT LIKE THIS
EXAMPLE
PRINt $i AS LONG AS $i IS LESS THAN 6:
$i = 1;
echo $i;
$i++;
endwhile;
STEP 10
IF YOU WANT THE while LOOP COUNT TO 100, BUT ONLY BY EACH 10, YOU CAN
INCREASE THE COUNTER BY 10 INSTEAD 1 IN EACH ITERATION:
EXAMPLE
COUNT TO 100 BY TENS:
$i = 0;
$i+=10;
echo $i "<br>";
THE do...while LOOP WILL ALWAYS EXECUTE THE BLOCK OF CODE AT LEAST
ONCE, IT WILL THEN CHECK THE CONDITION, AND REPEAT THE LOOP WHILE THE
SPECIFIED CONDITION IS TRUE.
EXAMPLE
PRINT $i AS LONG AS $i IS LESS THAN 6:
$i = 1;
do {
echo $i;
$i++;
EXAMPLE
SET $i = 8, THEN PRINT $i AS LONG AS $i IS LESS THAN 6:
$i = 8;
do { echo $i;
EXAMPLE
STOP THE LOOP WHEN $i IS 3:
$i = 1;
do {
if ($i == 3) break;
echo $i;
EXAMPLE
STOP, AND JUMP TO THE NEXT ITERATION IF $i IS 3:
$i = 0;
do {
$i++;
if ($i == 3) continue;
SYNTAX
for (expression1, expression2, expression3) {
// code block
EXAMPLE
PRINT THE NUMBERS FROM 0 TO 10:
EXAMPLE EXPLAINED
1. THE FIRST EXPRESSION, $x = 0;, IS EVALUATED ONCE AND SETS A
COUNTER TO 0.
2. THE SECOND EXPRESSION, $x <= 10;, IS EVALUATED BEFORE EACH
ITERATION, AND THE CODE BLOCK IS ONLY EXECUTED IF THIS EXPRESSION
EVALUATES TO TRUE. IN THIS EXAMPLE THE EXPRESSION IS TRUE AS LONG
AS $x IS LESS THAN, OR EQUAL TO, 10.
3. THE THIRD EXPRESSION, $x++;, IS EVALUATED AFTER EACH ITERATION,
AND IN THIS EXAMPLE, THE EXPRESSION INCREASES THE VALUE OF $x BY
ONE AT EACH ITERATION.
EXAMPLE
STOP THE LOOP WHEN $i IS 3:
for ($x = 0; $x <= 10; $x++) {
if ($i == 3) break;
EXAMPLE
STOP, AND JUMP TO THE NEXT ITERATION IF $i IS 3:
for ($x = 0; $x <= 10; $x++) {
if ($x == 3) continue;
STEP 10
THIS EXAMPLE COUNTS TO 100 BY TENS:
EXAMPLE
for ($x = 0; $x <= 100; $x+=10) {
echo "The number is: $x <br>";
EXAMPLE
JUMP OUT OF THE LOOP WHEN $x IS 4:
for ($x = 0; $x < 10; $x++) {
if ($x == 4) {
break;
BREAK EXAMPLE
$x = 0;
if ($x == 4) {
break;
$x++;
}
EXAMPLE
STOP THE LOOP WHEN $i IS 3:
$i = 1;
do {
if ($i == 3) break;
echo $i;
$i++;
EXAMPLE
STOP THE LOOP IF $x IS "BLUE":
$colors = array("red", "green", "blue", "yellow");
THE continue STATEMENT STOPS THE CURRENT ITERATION IN THE for LOOP
AND CONTINUE WITH THE NEXT.
EXAMPLE
MOVE TO NEXT ITERATION IF $x = 4:
for ($x = 0; $x < 10; $x++) {
if ($x == 4)
continue;
CONTINUE EXAMPLE
MOVE TO NEXT ITERATION IF $x = 4:
$x = 0;
if ($x == 4) {
continue;
$x++;
EXAMPLE
STOP, AND JUMP TO THE NEXT ITERATION IF $i IS 3:
$i = 0;
do {
$i++;
if ($i == 3) continue;
echo $i;
EXAMPLE
STOP, AND JUMP TO THE NEXT ITERATION IF $x IS "BLUE":
$colors = array("red", "green", "blue", "yellow");
PHP FUNCTIONS
THE REAL POWER OF PHP COMES FROM ITS FUNCTIONS.
PHP HAS MORE THAN 1000 BUILT-IN FUNCTIONS, AND IN ADDITION YOU CAN
CREATE YOUR OWN CUSTOM FUNCTIONS.
PHP BUILT-IN FUNCTIONS
PHP HAS OVER 1000 BUILT-IN FUNCTIONS THAT CAN BE CALLED DIRECTLY, FROM
WITHIN A SCRIPT, TO PERFORM A SPECIFIC TASK.
CREATE A FUNCTION
A USER-DEFINED FUNCTION DECLARATION STARTS WITH THE
KEYWORD function, FOLLOWED BY THE NAME OF THE FUNCTION:
EXAMPLE
function myMessage() {
TIP: GIVE THE FUNCTION A NAME THAT REFLECTS WHAT THE FUNCTION DOES!
CALL A FUNCTION
TO CALL THE FUNCTION, JUST WRITE ITS NAME FOLLOWED BY PARENTHESES ():
EXAMPLE
function myMessage() {
EXAMPLE
function familyName($fname) {
familyName("Jani");
familyName("Hege");
familyName("Stale");
familyName("Kai Jim");
familyName("Borge");
EXAMPLE
function familyName($fname, $year) {
familyName("Hege", "1975");
familyName("Stale", "1978");
EXAMPLE
function setHeight($minheight = 50) {
setHeight(350);
setHeight(135);
setHeight(80);
Example
function sum($x, $y) {
$z = $x + $y;
return $z;
EXAMPLE
USE A PASS-BY-REFERENCE ARGUMENT TO UPDATE A VARIABLE:
function add_five(&$value) {
$value += 5;
$num = 2;
add_five($num);
echo $num;
EXAMPLE
A FUNCTION THAT DO NOT KNOW HOW MANY ARGUMENTS IT WILL GET:
function sumMyNumbers(...$x) {
$n = 0;
$len = count($x);
$n += $x[$i];
}
return $n;
$a = sumMyNumbers(5, 2, 6, 2, 7, 7);
echo $a;
YOU CAN ONLY HAVE ONE ARGUMENT WITH VARIABLE LENGTH, AND IT HAS TO BE
THE LAST ARGUMENT.
EXAMPLE
THE VARIADIC ARGUMENT MUST BE THE LAST ARGUMENT:
txt = "";
$len = count($firstname);
} return $txt;
echo $a;
IF THE VARIADIC ARGUMENT IS NOT THE LAST ARGUMENT, YOU WILL GET AN
ERROR.
EXAMPLE
HAVING THE ... OPERATOR ON THE FIRST OF TWO ARGUMENTS, WILL RAISE AN
ERROR:
$txt = "";
$len = count($firstname);
return $txt;
echo $a;
EXAMPLE
function addNumbers(int $a, int $b) {
return $a + $b;
// since strict is NOT enabled "5 days" is changed to int(5), and it will
return 10
Example
<?php declare(strict_types=1); // strict requirement
function addNumbers(int $a, int $b) {
return $a + $b;
// since strict is enabled and "5 days" is not an integer, an error will be
thrown ?>
TO DECLARE A TYPE FOR THE FUNCTION RETURN, ADD A COLON ( : ) AND THE
TYPE RIGHT BEFORE THE OPENING CURLY ( { )BRACKET WHEN DECLARING THE
FUNCTION.
IN THE FOLLOWING EXAMPLE WE SPECIFY THE RETURN TYPE FOR THE FUNCTION:
EXAMPLE
<?php declare(strict_types=1); // strict requirement
return $a + $b;
?>
YOU CAN SPECIFY A DIFFERENT RETURN TYPE, THAN THE ARGUMENT TYPES, BUT
MAKE SURE THE RETURN IS THE CORRECT TYPE:
EXAMPLE
<?php declare(strict_types=1); // strict requirement
PHP ARRAYS
AN ARRAY STORES MULTIPLE VALUES IN ONE SINGLE VARIABLE:
EXAMPLE
$cars = array("Volvo", "BMW", "Toyota");
WHAT IS AN ARRAY?
AN ARRAY IS A SPECIAL VARIABLE THAT CAN HOLD MANY VALUES UNDER A
SINGLE NAME, AND YOU CAN ACCESS THE VALUES BY REFERRING TO AN INDEX
NUMBER OR NAME.
CREATE ARRAYS
ACCESS ARRAYS
UPDATE ARRAYS
REMOVE ARRAY ITEMS
SORT ARRAYS
ARRAY ITEMS
ARRAY ITEMS CAN BE OF ANY DATA TYPE.
THE MOST COMMON ARE STRINGS AND NUMBERS (INT, FLOAT), BUT ARRAY ITEMS
CAN ALSO BE OBJECTS, FUNCTIONS OR EVEN ARRAYS.
ARRAY FUNCTIONS
THE REAL STRENGTH OF PHP ARRAYS ARE THE BUILT-IN ARRAY FUNCTIONS, LIKE
THE count() FUNCTION FOR COUNTING ARRAY ITEMS:
EXAMPLE
HOW MANY ITEMS ARE IN THE $cars ARRAY:
$cars = array("Volvo", "BMW", "Toyota");
echo count($cars);
BY DEFAULT, THE FIRST ITEM HAS INDEX 0, THE SECOND ITEM HAS ITEM 1, ETC.
EXAMPLE
CREATE AND DISPLAY AN INDEXED ARRAY:
var_dump($cars);
EXAMPLE
DISPLAY THE FIRST ARRAY ITEM:
echo $cars[0];
CHANGE VALUE
TO CHANGE THE VALUE OF AN ARRAY ITEM, USE THE INDEX NUMBER:
EXAMPLE
CHANGE THE VALUE OF THE SECOND ITEM:
$cars[1] = "Ford";
var_dump($cars);
EXAMPLE
DISPLAY ALL ARRAY ITEMS:
INDEX NUMBER
THE KEY OF AN INDEXED ARRAY IS A NUMBER, BY DEFAULT THE FIRST ITEM IS 0
AND THE SECOND IS 1 ETC., BUT THERE ARE EXCEPTIONS.
NEW ITEMS GET THE NEXT INDEX NUMBER, MEANING ONE HIGHER THAN
THE HIGHEST EXISTING INDEX.
$cars[0] = "Volvo";
$cars[1] = "BMW";
$cars[2] = "Toyota";
AND IF YOU USE THE array_push() FUNCTION TO ADD A NEW ITEM, THE NEW
ITEM WILL GET THE INDEX 3:
EXAMPLE
array_push($cars, "Ford");
var_dump($cars);
BUT IF YOU HAVE AN ARRAY WITH RANDOM INDEX NUMBERS, LIKE THIS:
$cars[5] = "Volvo";
$cars[7] = "BMW";
$cars[14] = "Toyota";
AND IF YOU USE THE array_push() FUNCTION TO ADD A NEW ITEM, WHAT WILL
BE THE INDEX NUMBER OF THE NEW ITEM?
EXAMPLE
array_push($cars, "Ford");
var_dump($cars);
var_dump($car);
Try it Yourself »
EXAMPLE
DISPLAY THE MODEL OF THE CAR:
Try it Yourself »
CHANGE VALUE
TO CHANGE THE VALUE OF AN ARRAY ITEM, USE THE KEY NAME:
EXAMPLE
CHANGE THE year ITEM:
$car = array("brand"=>"Ford", "model"=>"Mustang", "year"=>1964);
$car["year"] = 2024;
var_dump($car);
Try it Yourself »
ADVERTISEMENT
EXAMPLE
DISPLAY ALL ARRAY ITEMS, KEYS AND VALUES:
}
PHP CREATE ARRAYSs
❮ PreviousNext ❯
Create Array
YOU CAN CREATE ARRAYS BY USING THE array() FUNCTION:
Try it Yourself »
EXAMPLE
$cars = ["Volvo", "BMW", "Toyota"];
Try it Yourself »
MULTIPLE LINES
LINE BREAKS ARE NOT IMPORTANT, SO AN ARRAY DECLARATION CAN SPAN
MULTIPLE LINES:
EXAMPLE
$cars = [
"Volvo",
"BMW",
"Toyota"
];
Try it Yourself »
TRAILING COMMA
A COMMA AFTER THE LAST ITEM IS ALLOWED:
EXAMPLE
$cars = [
"Volvo",
"BMW",
"Toyota",
];
Try it Yourself »
ARRAY KEYS
WHEN CREATING INDEXED ARRAYS THE KEYS ARE GIVEN AUTOMATICALLY,
STARTING AT 0 AND INCREASED BY 1 FOR EACH ITEM, SO THE ARRAY ABOVE
COULD ALSO BE CREATED WITH KEYS:
EXAMPLE
$cars = [
0 => "Volvo",
1 => "BMW",
2 =>"Toyota"
];
Try it Yourself »
AS YOU CAN SEE, INDEXED ARRAYS ARE THE SAME AS ASSOCIATIVE ARRAYS, BUT
ASSOCIATIVE ARRAYS HAVE NAMES INSTEAD OF NUMBERS:
EXAMPLE
$myCar = [
];
Try it Yourself »
EXAMPLE
$cars = [];
$cars[0] = "Volvo";
$cars[1] = "BMW";
$cars[2] = "Toyota";
Try it Yourself »
THE SAME GOES FOR ASSOCIATIVE ARRAYS, YOU CAN DECLARE THE ARRAY FIRST,
AND THEN ADD ITEMS TO IT:
EXAMPLE
$myCar = [];
$myCar["brand"] = "Ford";
$myCar["model"] = "Mustang";
$myCar["year"] = 1964;
Try it Yourself »
$myArr[0] = "apples";
$myArr[1] = "bananas";
$myArr["fruit"] = "cherries";
echo $cars[2];
Try it Yourself »
EXAMPLE
ACCESS AN ITEM BY REFERRING TO ITS KEY NAME:
$cars = array("brand" => "Ford", "model" => "Mustang", "year" => 1964);
echo $cars["year"];
Try it Yourself »
DOUBLE OR SINGLE QUOTES
YOU CAN USE BOTH DOUBLE AND SINGLE QUOTES WHEN ACCESSING AN ARRAY:
EXAMPLE
echo $cars["model"];
echo $cars['model'];
Try it Yourself »
EXAMPLE
EXECUTE A FUNCTION ITEM:
function myFunction() {
$myArr[2]();
Try it Yourself »
USE THE KEY NAME WHEN THE FUNCTION IS AN ITEM IN A ASSOCIATIVE ARRAY:
EXAMPLE
EXECUTE FUNCTION BY REFERRING TO THE KEY NAME:
function myFunction() {
$myArr = array("car" => "Volvo", "age" => 15, "message" => myFunction);
$myArr["message"]();
Try it Yourself »
EXAMPLE
DISPLAY ALL ARRAY ITEMS, KEYS AND VALUES:
Try it Yourself »
$cars[1] = "Ford";
Try it Yourself »
EXAMPLE
UPDATE THE YEAR TO 2024:
$cars = array("brand" => "Ford", "model" => "Mustang", "year" => 1964);
$cars["year"] = 2024;
Try it Yourself »
UPDATE ARRAY ITEMS IN A FOREACH LOOP
THERE ARE DIFFERENT TECHNIQUES TO USE WHEN CHANGING ITEM VALUES IN
A foreach LOOP.
ONE WAY IS TO INSERT THE & CHARACTER IN THE ASSIGNMENT TO ASSIGN THE
ITEM VALUE BY REFERENCE, AND THEREBY MAKING SURE THAT ANY CHANGES
DONE WITH THE ARRAY ITEM INSIDE THE LOOP WILL BE DONE TO THE ORIGINAL
ARRAY:
EXAMPLE
CHANGE ALL ITEM VALUES TO "FORD":
$x = "Ford";
unset($x);
var_dump($cars);
Try it Yourself »
EXAMPLE
DEMONSTRATE THE CONSEQUENCE OF FORGETTING THE unset() FUNCTION:
$x = "Ford";
}
$x = "ice cream";
var_dump($cars);
unset($cars[1]);
Try it Yourself »
EXAMPLE
REMOVE THE FIRST AND THE SECOND ITEM:
unset($cars[0], $cars[1]);
Try it Yourself »
NOTE: THE unset() FUNCTION WILL NOT RE-ARRANGE THE INDEXES, AND THE
EXAMPLES ABOVE WILL NO LONGER CONTAIN THE MISSING INDEXES.
EXAMPLE
REMOVE THE SECOND ITEM:
array_splice($cars, 1, 1);
Try it Yourself »
EXAMPLE
REMOVE THE "MODEL":
$cars = array("brand" => "Ford", "model" => "Mustang", "year" => 1964);
unset($cars["model"]);
Try it Yourself »
EXAMPLE
<?php
$numbers = array(4, 6, 2, 22, 11);
sort($numbers);
?>
Try it Yourself »
ADVERTISEMENT
SORT ARRAY IN DESCENDING ORDER - rRSORT ()
THE FOLLOWING EXAMPLE SORTS THE ELEMENTS OF THE $cars ARRAY IN
DESCENDING ALPHABETICAL ORDER:
EXAMPLE
<?php
$cars = array("Volvo", "BMW", "Toyota");
rsort($cars);
?>
Try it Yourself »
EXAMPLE
<?php
$numbers = array(4, 6, 2, 22, 11);
rsort($numbers);
?>
Try it Yourself »
EXAMPLE
<?php
$age = array("Peter"=>"35", "Ben"=>"37", "Joe"=>"43");
asort($age);
?>
Try it Yourself »
Try it Yourself »
EXAMPLE
<?php
$age = array("Peter"=>"35", "Ben"=>"37", "Joe"=>"43");
arsort($age);
?>
Try it Yourself »
EXAMPLE
<?php
$age = array("Peter"=>"35", "Ben"=>"37", "Joe"=>"43");
krsort($age);
?>
PHP SUPPORTS MULTIDIMENSIONAL ARRAYS THAT ARE TWO, THREE, FOUR, FIVE,
OR MORE LEVELS DEEP. HOWEVER, ARRAYS MORE THAN THREE LEVELS DEEP ARE
HARD TO MANAGE FOR MOST PEOPLE.
Volvo 22 18
BMW 15 13
Saab 5 2
Land Rover 17 15
WE CAN STORE THE DATA FROM THE TABLE ABOVE IN A TWO-DIMENSIONAL
ARRAY, LIKE THIS:
$cars = array (
array("Volvo",22,18),
array("BMW",15,13),
array("Saab",5,2),
array("Land Rover",17,15)
);
NOW THE TWO-DIMENSIONAL $CARS ARRAY CONTAINS FOUR ARRAYS, AND IT HAS
TWO INDICES: ROW AND COLUMN.
TO GET ACCESS TO THE ELEMENTS OF THE $CARS ARRAY WE MUST POINT TO THE
TWO INDICES (ROW AND COLUMN):
Try it Yourself »
WE CAN ALSO PUT A for LOOP INSIDE ANOTHER for LOOP TO GET THE ELEMENTS
OF THE $CARS ARRAY (WE STILL HAVE TO POINT TO THE TWO INDICES):
EXAMPLE
<?php
for ($row = 0; $row < 4; $row++) {
echo "<p><b>Row number $row</b></p>";
echo "<ul>";
for ($col = 0; $col < 3; $col++) {
echo "<li>".$cars[$row][$col]."</li>";
}
echo "</ul>";
}
?>
PHP ARRAY FUNCTIONS
❮ PreviousNext ❯
Function Description
array_column()array_colu Returns the values from a single column in the input array
mn()
array_combine()array_co Creates an array by using the elements from one "keys" array and
mbine() one "values" array
array_diff()array_diff() Compare arrays, and returns the differences (compare values only)
array_diff_assoc()array_di Compare arrays, and returns the differences (compare keys and
ff_assoc() values)
array_diff_key()array_diff Compare arrays, and returns the differences (compare keys only)
_key()
array_diff_uassoc()array_ Compare arrays, and returns the differences (compare keys and
diff_uassoc() values, using a user-defined key comparison function)
array_diff_ukey()array_di Compare arrays, and returns the differences (compare keys only,
ff_ukey() using a user-defined key comparison function)
array_intersect()array_int Compare arrays, and returns the matches (compare values only)
ersect()
array_intersect_assoc()ar Compare arrays and returns the matches (compare keys and
values)
ray_intersect_assoc()
array_intersect_key()arra Compare arrays, and returns the matches (compare keys only)
y_intersect_key()
array_intersect_uassoc()a Compare arrays, and returns the matches (compare keys and
rray_intersect_uassoc() values, using a user-defined key comparison function)
array_intersect_ukey()arr Compare arrays, and returns the matches (compare keys only,
ay_intersect_ukey() using a user-defined key comparison function)
array_replace()array_repl Replaces the values of the first array with the values from following
ace() arrays
array_replace_recursive() Replaces the values of the first array with the values from following
array_replace_recursive() arrays recursively
array_search()array_searc Searches an array for a given value and returns the key
h()
array_shift()array_shift() Removes the first element from an array, and returns the value of
the removed element
array_udiff()array_udiff() Compare arrays, and returns the differences (compare values only,
using a user-defined key comparison function)
array_udiff_assoc()array_ Compare arrays, and returns the differences (compare keys and
udiff_assoc() values, using a built-in function to compare the keys and a user-
defined function to compare the values)
array_udiff_uassoc()array Compare arrays, and returns the differences (compare keys and
_udiff_uassoc() values, using two user-defined key comparison functions)
array_uintersect()array_u Compare arrays, and returns the matches (compare values only,
intersect() using a user-defined key comparison function)
array_uintersect_assoc()a Compare arrays, and returns the matches (compare keys and
rray_uintersect_assoc() values, using a built-in function to compare the keys and a user-
defined function to compare the values)
array_uintersect_uassoc() Compare arrays, and returns the matches (compare keys and
array_uintersect_uassoc() values, using two user-defined key comparison functions)
array_unique()array_uniq Removes duplicate values from an array
ue()
each()each() Deprecated from PHP 7.2. Returns the current key and value pair
from an array
extract()extract() Imports variables into the current symbol table from an array
$GLOBALS$GLOBALS
$_SERVER$_SERVER
$_REQUEST$_REQUEST
$_POST$_POST
$_GET$_GET
$_FILES
$_ENV
$_COOKIE$_COOKIE
$_SESSION$_SESSION
PHP $GLOBALS
❮ PreviousNext ❯
GLOBAL VARIABLES
GLOBAL VARIABLES ARE VARIABLES THAT CAN BE ACCESSED FROM ANY SCOPE.
function myfunction() {
echo $GLOBALS['x'];
myfunction()
EXAMPLE
IN PHP YOU GET NOTHING (OR AN ERROR) WHEN REFERRING TO A GLOBAL
VARIABLE WITHOUT THE $GLOBALS SYNTAX:
$x = 75;
function myfunction() {
echo $x;
myfunction()
EXAMPLE
DEFINE $x AS GLOBAL INSIDE A FUNCTION:
$x = 75;
function myfunction() {
global $x;
echo $x;
myfunction()
CREATE GLOBAL VARIABLES
VARIABLES CREATED IN THE OUTER MOST SCOPE ARE GLOBAL VARIABLES EITHER
IF THEY ARE CREATED USING THE $GLOBALS SYNTAX OR NOT:
EXAMPLE
$x = 100;
echo $GLOBALS["x"];
echo $x;
EXAMPLE
CREATE A GLOBAL VARIABLE FROM INSIDE A FUNCTION, AND USE IT OUTSIDE OF
THE FUNCTION:
function myfunction() {
$GLOBALS["x"] = 100;
myfunction();
echo $GLOBALS["x"];
echo $x;
PHP - $_SERVER
$_SERVER IS A PHP SUPER GLOBAL VARIABLE WHICH HOLDS INFORMATION ABOUT
HEADERS, PATHS, AND SCRIPT LOCATIONS.
THE EXAMPLE BELOW SHOWS HOW TO USE SOME OF THE ELEMENTS IN $_SERVER:
EXAMPLE
echo $_SERVER['PHP_SELF'];
echo $_SERVER['SERVER_NAME'];
echo $_SERVER['HTTP_HOST'];
echo $_SERVER['HTTP_REFERER'];
echo $_SERVER['HTTP_USER_AGENT'];
echo $_SERVER['SCRIPT_NAME'];
THE FOLLOWING TABLE LISTS THE MOST IMPORTANT ELEMENTS THAT CAN GO
INSIDE $_SERVER:
Element/Code Description
PHP - $_REQUEST
$_REQUEST IS A PHP SUPER GLOBAL VARIABLE WHICH CONTAINS SUBMITTED
FORM DATA, AND all COOKIE DATA.
YOU CAN ACCESS THIS DATA WITH THE $_REQUEST KEYWORD FOLLOWED BY THE
NAME OF THE FORM FIELD, OR COOKIE, LIKE THIS:
$_REQUEST['firstname']
HTML FORM
<html> <body>
<input type="submit">
WHEN A USER CLICKS THE SUBMIT BUTTON, THE FORM DATA IS SENT TO A PHP
FILE SPECIFIED IN THE action ATTRIBUTE OF THE <form> tag.
IN THE ACTION FILE WE CAN USE THE $_REQUEST VARIABLE TO COLLECT THE
VALUE OF THE INPUT FIELD.
PHP FILE
$name = $_REQUEST['fname'];
echo $name;
IN THE EXAMPLE BELOW WE HAVE PUT THE HTML FORM AND PHP CODE IN THE
SAME PHP FILE.
EXAMPLE
<html>
<body>
<input type="submit">
</form>
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$name = htmlspecialchars($_REQUEST['fname']);
if (empty($name)) {
} else {
echo $name;
?>
</body> </html>
GET REQUESTS CAN ALSO BE DATA FROM A QUERY STRING (INFORMATION ADDED
AFTER A URL ADDRESS).
HTML LINK
<html>
<body>
</body>
</html>
WHEN A USER CLICKS THE LINK, THE QUERY STRING DATA IS SENT
TO demo_phpfile.php.
IN THE PHP FILE WE CAN USE THE $_REQUEST VARIABLE TO COLLECT THE VALUE
OF THE QUERY STRING.
EXAMPLE
THE PHP FILE demo_phpfile.php:
<html>
<body>
<?php
?>
</body>
</html>
PHP $_POST
PHP $_POST IS A PHP SUPER GLOBAL VARIABLE WHICH IS USED TO COLLECT
FORM DATA AFTER SUBMITTING AN HTML form with method="post". $_POST IS
ALSO WIDELY USED TO PASS VARIABLES.
THE EXAMPLE BELOW SHOWS A FORM WITH AN INPUT FIELD AND A SUBMIT
BUTTON. WHEN A USER SUBMITS THE DATA BY CLICKING ON "Submit", THE FORM
DATA IS SENT TO THE FILE SPECIFIED IN THE ACTION ATTRIBUTE OF THE <form>
TAG. IN THIS EXAMPLE, WE POINT TO THE FILE ITSELF FOR PROCESSING FORM
DATA. IF YOU WISH TO USE ANOTHER PHP FILE TO PROCESS FORM DATA, REPLACE
THAT WITH THE FILENAME OF YOUR CHOICE. THEN, WE CAN USE THE SUPER
GLOBAL VARIABLE $_POST TO COLLECT THE VALUE OF THE INPUT FIELD:
EXAMPLE
<html>
<body>
</body>
</html>
PHP $_GET
PHP $_GET IS A PHP SUPER GLOBAL VARIABLE WHICH IS USED TO COLLECT FORM
DATA AFTER SUBMITTING AN HTML form with method="get".
<html>
<body>
<a href="test_get.php?subject=PHP&web=sexy boyz">Test $GET</a>
</body>
</html>
WHEN A USER CLICKS ON THE LINK "Test $GET", THE PARAMETERS "subject" AND
"web" ARE SENT TO "test_get.php", AND YOU CAN THEN ACCESS THEIR VALUES IN
"test_get.php" WITH $_GET.
EXAMPLE
<html>
<body>
<?php
echo "Study " . $_GET['subject'] . " at " . $_GET['web'];
?>
</body>
</html>
SYNTAX
IN PHP, REGULAR EXPRESSIONS ARE STRINGS COMPOSED OF DELIMITERS, A
PATTERN AND OPTIONAL MODIFIERS.
$exp = "/bender/i";
Function Description
preg_match() Returns 1 if the pattern was found in the string and 0 if not
preg_match_all() Returns the number of times the pattern was found in the string,
which may also be 0
preg_replace() Returns a new string where matched patterns have been replaced
with another string
USING PREG_MATCH ()
THE preg_match() FUNCTION WILL TELL YOU WHETHER A STRING CONTAINS
MATCHES OF a PATTERN.
EXAMPLE
USE A REGULAR EXPRESSION TO DO A CASE-INSENSITIVE SEARCH FOR "BENDER-
SXYY" IN A STRING:
<?php
$str = "Visit bender-sxyy";
$pattern = "/bender-sxyy/i";
echo preg_match($pattern, $str); // Outputs 1
?>
USING PREG_MATCH_ALL ()
THE preg_match_all() FUNCTION WILL TELL YOU HOW MANY MATCHES WERE
FOUND FOR A PATTERN IN A STRING.
EXAMPLE
USE A REGULAR EXPRESSION TO DO A CASE-INSENSITIVE COUNT OF THE NUMBER
OF OCCURRENCES OF "ain" IN A STRING:
<?php
$str = "The rain in SPAIN falls mainly on the plains.";
$pattern = "/ain/i";
echo preg_match_all($pattern, $str); // Outputs 4
?>
USING PREG_REPLACE ()
THE preg_replace() FUNCTION WILL REPLACE ALL OF THE MATCHES OF THE
PATTERN IN A STRING WITH ANOTHER STRING.
EXAMPLE
USE A CASE-INSENSITIVE REGULAR EXPRESSION TO REPLACE MICROSOFT WITH
bender-sxyy IN A STRING:
<?php
$str = "Visit Microsoft!";
$pattern = "/microsoft/i";
echo preg_replace($pattern, "bender-sxyy", $str); // Outputs "Visit bendersxy”
?>
Modifier Description
METACHARACTERS
METACHARACTERS ARE CHARACTERS WITH A SPECIAL MEANING:
Metacharacter Description
| Find a match for any one of the patterns separated by | as in: cat|
dog|fish
\d Find a digit
\s Find a whitespace character
QUANTIFIERS
QUANTIFIERS DEFINE QUANTITIES:
Quantifier Description
GROUPING
YOU CAN USE PARENTHESES ( ) TO APPLY QUANTIFIERS TO ENTIRE PATTERNS.
THEY ALSO CAN BE USED TO SELECT PARTS OF THE PATTERN TO BE USED AS A
MATCH.
EXAMPLE
USE GROUPING TO SEARCH FOR THE WORD "banana" BY LOOKING
FOR ba FOLLOWED BY TWO INSTANCES OF na:
<?php
$str = "Apples and bananas.";
$pattern = "/ba(na){2}/i";
echo preg_match($pattern, $str); // Outputs 1
?>