3rd-Bcac501 It PHP

Download as pdf or txt
Download as pdf or txt
You are on page 1of 67

Subject: - BCAC501 (IT)

PHP Introduction
What is PHP?

PHP code is executed on the server.

What You Should Already Know

Before you continue you should have a basic understanding of the following:

• HTML
• CSS
• JavaScript

The PHP Hypertext Preprocessor (PHP) is a programming language that


allows web developers to create dynamic content that interacts with databases.
PHP is basically used for developing web based software applications. This tutorial
helps you to build your base with PHP.

o PHP stands for Hypertext Preprocessor.


o PHP is an interpreted language, i.e., there is no need for compilation.
o PHP is faster than other scripting languages, for example, ASP and JSP.
o PHP is a server-side scripting language, which is used to manage the
dynamic content of the website.
o PHP can be embedded into HTML.
o PHP is an object-oriented language.
o PHP is an open-source scripting language.
o PHP is simple and easy to learn language.

o PHP is a server scripting language, and a powerful tool for making dynamic
and interactive Web pages.

o PHP is a widely-used, free, and efficient alternative to competitors such as


Microsoft's ASP.

Characteristics of PHP
Five important characteristics make PHP's practical nature possible −
• Simplicity
• Efficiency

PROF. SANDIP GHOSHAL 1


• Security
• Flexibility
• Familiarity
What is a PHP File?

• PHP files can contain text, HTML, CSS, JavaScript, and PHP code
• PHP code is executed on the server, and the result is returned to the
browser as plain HTML
• PHP files have extension ".php"

What Can PHP Do?

• PHP can generate dynamic page content


• PHP can create, open, read, write, delete, and close files on the server
• PHP can collect form data
• PHP can send and receive cookies
• PHP can add, delete, modify data in your database
• PHP can be used to control user-access
• PHP can encrypt data

With PHP you are not limited to output HTML. You can output images, PDF files,
and even Flash movies. You can also output any text, such as XHTML and XML.

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 free. Download it from the official PHP resource: www.php.net
• PHP is easy to learn and runs efficiently on the server side

What's new in PHP 7

• PHP 7 is much faster than the previous popular stable release (PHP 5.6)
• PHP 7 has improved Error Handling
• PHP 7 supports stricter Type Declarations for function arguments
• PHP 7 supports new operators (like the spaceship operator: <=>)

What Do I Need?

To start using PHP, you can:

• Find a web host with PHP and MySQL support


• Install a web server on your own PC, and then install PHP and MySQL

Use a Web Host With PHP Support


If your server has activated support for PHP you do not need to do anything.
PROF. SANDIP GHOSHAL 2
Just create some .php files, place them in your web directory, and the server will
automatically parse them for you.
You do not need to compile anything or install any extra tools.
Because PHP is free, most web hosts offer PHP support.

Set Up PHP on Your Own PC


However, if your server does not support PHP, you must:

• install a web server


• install PHP
• install a database, such as MySQL

The official PHP website (PHP.net) has installation instructions for


PHP: http://php.net/manual/en/install.php

PHP Features

PROF. SANDIP GHOSHAL 3


Performance:

PHP script is executed much faster than those scripts which are written in other
languages such as JSP and ASP. PHP uses its own memory, so the server workload
and loading time is automatically reduced, which results in faster processing speed
and better performance.

Open Source:

PHP source code and software are freely available on the web. You can develop all
the versions of PHP according to your requirement without paying any cost. All its
components are free to download and use.

Familiarity with syntax:

PHP has easily understandable syntax. Programmers are comfortable coding with
it.

Embedded:

PHP code can be easily embedded within HTML tags and script.

Platform Independent:

PHP is available for WINDOWS, MAC, LINUX & UNIX operating system. A PHP
application developed in one OS can be easily executed in other OS also.

Database Support:

PHP supports all the leading databases such as MySQL, SQLite, ODBC, etc.

Error Reporting -

PHP has predefined error reporting constants to generate an error notice or


warning at runtime. E.g., E_ERROR, E_WARNING, E_STRICT, E_PARSE.

Loosely Typed Language:

PHP allows us to use a variable without declaring its datatype. It will be taken
automatically at the time of execution based on the type of data it contains on its
value.

Web servers Support:

PHP is compatible with almost all local servers used today like Apache, Netscape,
Microsoft IIS, etc.

PROF. SANDIP GHOSHAL 4


Security:

PHP is a secure language to develop the website. It consists of multiple layers of


security to prevent threads and malicious attacks.

Control:

Different programming languages require long script or code, whereas PHP can do
the same work in a few lines of code. It has maximum control over the websites
like you can make changes easily whenever you want.

A Helpful PHP Community:

It has a large community of developers who regularly updates documentation,


tutorials, online help, and FAQs. Learning PHP from the communities is one of the
significant benefits.

PHP Syntax
Basic PHP Syntax

A PHP script can be placed anywhere in the document.

A PHP script starts with <?php and ends with ?>:

<?php
// PHP code goes here
?>

The default file extension for PHP files is ".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
<!DOCTYPE html>
<html>
<body>

<h1>My first PHP page</h1>

<?php
echo "Hello World!";
?>
</body>
</html>

PROF. SANDIP GHOSHAL 5


All PHP code must be included inside one of the three special markup tags ATE are
recognised by the PHP Parser.

<?php PHP code goes here ?>

<? PHP code goes here ?>

<script language = "php"> PHP code goes here </script>

A most common tag is the <?php...?>.

Note: PHP statements end with a semicolon (;).

PHP Case Sensitivity

In PHP, keywords (e.g. if, else, while, echo, etc.), classes, functions, and user-
defined functions are not case-sensitive.

In the example below, all three echo statements below are equal and legal:

Example
<!DOCTYPE html>
<html>
<body>

<?php
ECHO "Hello World!<br>";
echo "Hello World!<br>";
EcHo "Hello World!<br>";
?>

</body>
</html>

PROF. SANDIP GHOSHAL 6


Note: However; all variable names are case-sensitive!

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

<!DOCTYPE html>
<html>
<body>

<?php
$color = "red";
echo "My car is " . $color . "<br>";
echo "My house is " . $COLOR . "<br>";
echo "My boat is " . $coLOR . "<br>";
?>

</body>
</html>

PROF. SANDIP GHOSHAL 7


Comments in PHP

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.

Comments can be used to:

• Let others understand your code


• Remind yourself of what you did - Most programmers have experienced
coming back to their own work a year or two later and having to re-figure
out what they did. Comments can remind you of what you were thinking
when you wrote the code

PHP supports several ways of commenting:

Example

Syntax for single-line comments:

<?php
// This is a single-line comment

# This is also a single-line comment


?>

Example

Syntax for multiple-line comments:

<?php
/*
This is a multiple-lines comment block
that spans over multiple
lines
*/
?>

Example

Using comments to leave out parts of the code:

<?php
// You can also use comments to leave out parts of a code line
$x = 5 /* + 15 */ + 5;
echo $x;
?>

PROF. SANDIP GHOSHAL 8


Creating (Declaring) PHP Variables

In PHP, a variable starts with the $ sign, followed by the name of the variable:

Example
<!DOCTYPE html>
<html>
<body>

<?php
$txt = "Hello world!";
$x = 5;
$y = 10.5;

echo $txt;
echo "<br>";
echo $x;
echo "<br>";
echo $y;
?>

</body>
</html>

After the execution of the statements above, the variable $txt will hold the
value Hello world!, the variable $x will hold the value 5, and the variable $y will
hold the value 10.5.

Note: When you assign a text value to a variable, put quotes around the value.

Note: Unlike other programming languages, PHP has no command for declaring
a variable. It is created the moment you first assign a value to it.

Think of variables as containers for storing data.

PROF. SANDIP GHOSHAL 9


PHP Variables

A variable can have a short name (like x and y) or a more descriptive name (age,
carname, total_volume).

Rules for PHP variables:

• A variable starts with the $ sign, followed by the name of the variable
• A variable name must start with a letter or the underscore character
• A variable name cannot start with a number
• A variable name can only contain alpha-numeric characters and
underscores (A-z, 0-9, and _ )
• Variable names are case-sensitive ($age and $AGE are two different
variables)

Remember that PHP variable names are case-sensitive!

Output Variables
The PHP echo statement is often used to output data to the screen.
The following example will show how to output text and a variable:
Example
<!DOCTYPE html>
<html>
<body>

<?php
$txt = "TMSL";
echo "I love $txt!";
?>
</body>
</html>

The following example will produce the same output as the example above:

<!DOCTYPE html>
<html>
<body>

<?php
$txt = "TMSL";
echo "I love " . $txt . "!";
?>
</body>
</html>

PROF. SANDIP GHOSHAL 10


The following example will output the sum of two variables:

Example
<?php
$x = 5;
$y = 4;
echo $x + $y;
?>

Note: You will learn more about the echo statement and how to output data to
the screen in the next chapter.

PHP is a Loosely Typed Language


In the example above, notice that we did not have to tell PHP which data type the
variable is.

PHP automatically associates a data type to the variable, depending on its value.
Since the data types are not set in a strict sense, you can do things like adding a
string to an integer without causing an error.

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.

PHP Variables Scope


In PHP, variables can be declared anywhere in the script.

The scope of a variable is the part of the script where the variable can be
referenced/used.

PHP has three different variable scopes:

• local
• global
• static

Global and Local Scope

A variable declared outside a function has a GLOBAL SCOPE and can only be
accessed outside a function:

Example

Variable with global scope:

PROF. SANDIP GHOSHAL 11


<?php
$x = 5; // global scope

function myTest() {
// using x inside this function will generate an error
echo "<p>Variable x inside function is: $x</p>";
}
myTest();

echo "<p>Variable x outside function is: $x</p>";


?>

A variable declared within a function has a LOCAL SCOPE and can only be
accessed within that function:

Example

Variable with local scope:

<?php
function myTest() {
$x = 5; // local scope
echo "<p>Variable x inside function is: $x</p>";
}
myTest();

// using x outside the function will generate an error


echo "<p>Variable x outside function is: $x</p>";
?>

You can have local variables with the same name in different functions, because
local variables are only recognized by the function in which they are declared.
PROF. SANDIP GHOSHAL 12
PHP The global Keyword

The global keyword is used to access a global variable from within a function.

To do this, use the global keyword before the variables (inside the function):

Example
<?php
$x = 5;
$y = 10;

function myTest() {
global $x, $y;
$y = $x + $y;
}

myTest();
echo $y; // outputs 15
?>

PHP also stores all global variables in an array called $GLOBALS[index].


The index holds the name of the variable. This array is also accessible from within
functions and can be used to update global variables directly.

The example above can be rewritten like this:

Example
<?php
$x = 5;
$y = 10;

function myTest() {
$GLOBALS['y'] = $GLOBALS['x'] + $GLOBALS['y'];
}

myTest();
echo $y; // outputs 15
?>

PHP The static Keyword

Normally, when a function is completed/executed, all of its variables are deleted.


However, sometimes we want a local variable NOT to be deleted. We need it for a
further job.

PROF. SANDIP GHOSHAL 13


To do this, use the static keyword when you first declare the variable:

Example
<?php
function myTest() {
static $x = 0;
echo $x;
$x++;
}

myTest();
myTest();
myTest();
?>

PHP echo and print Statements


With PHP, there are two basic ways to get output: echo and print.

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.

PHP echo and print Statements


echo and print are more or less the same. They are both used to output data to
the screen.

The differences are small: echo has no return value while print has a return value
of 1 so it can be used in expressions. echo can take multiple parameters (although
such usage is rare) while print can take one argument. echo is marginally faster
than print.

The PHP echo Statement

The echo statement can be used with or without parentheses: echo or echo().

PROF. SANDIP GHOSHAL 14


Display Text

The following example shows how to output text with the echo command (notice
that the text can contain HTML markup):

Example
<?php
echo "<h2>PHP is Fun!</h2>";
echo "Hello world!<br>";
echo "I'm about to learn PHP!<br>";
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
<?php
$txt1 = "Learn PHP";
$txt2 = "TMSL";
$x = 5;
$y = 4;

echo "<h2>" . $txt1 . "</h2>";


echo "Study PHP at " . $txt2 . "<br>";
echo $x + $y;
?>

PROF. SANDIP GHOSHAL 15


The PHP print Statement

The print statement can be used with or without parentheses: print or print().

Display Text

The following example shows how to output text with the print command (notice
that the text can contain HTML markup):

Example
<?php
print "<h2>PHP is Fun!</h2>";
print "Hello world!<br>";
print "I'm about to learn PHP!";
?>

Display Variables

The following example shows how to output text and variables with
the print statement:

Example
<?php
$txt1 = "Learn PHP";
$txt2 = "TMSL";
$x = 5;
$y = 4;

print "<h2>" . $txt1 . "</h2>";


print "Study PHP at " . $txt2 . "<br>";
print $x + $y;
?>

PROF. SANDIP GHOSHAL 16


PHP Data Types
Variables can store data of different types, and different data types can do
different things.

PHP supports the following data types:

• String
• Integer
• Float (floating point numbers - also called double)
• Boolean
• Array
• Object
• NULL
• Resource

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
<?php
$x = "Hello world!";
$y = 'Hello world!';

echo $x;
echo "<br>";
echo $y;
?>

PHP Integer

An integer data type is a non-decimal number between -2,147,483,648 and


2,147,483,647.

Rules for integers:

• An integer must have at least one digit


• An integer must not have a decimal point
• An integer can be either positive or negative
• Integers can be specified in: decimal (base 10), hexadecimal (base 16),
octal (base 8), or binary (base 2) notation

In the following example $x is an integer. The PHP var_dump() function returns


the data type and value:

PROF. SANDIP GHOSHAL 17


Example
<?php
$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.

In the following example $x is a float. The PHP var_dump() function returns


the data type and value:

Example
<?php
$x = 10.365;
var_dump($x);
?>

PHP Boolean

A Boolean represents two possible states: TRUE or FALSE.

$x = true;
$y = false;

Booleans are often used in conditional testing. You will learn more about
conditional testing in a later chapter of this tutorial.

PROF. SANDIP GHOSHAL 18


PHP Array

An array stores multiple values in one single variable.

In the following example $cars is an array. The PHP var_dump() function returns
the data type and value:

Example
<?php
$cars = array("Volvo","BMW","Toyota");
var_dump($cars);
?>

PHP Object

Classes and objects are the two main aspects of object-oriented programming.

A class is a template for objects, and an object is an instance of a class.

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. A Car 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.

If you create a __construct() function, PHP will automatically call this function
when you create an object from a class.

PROF. SANDIP GHOSHAL 19


Example
<?php
class Car {
public $color;
public $model;
public function __construct($color, $model) {
$this->color = $color;
$this->model = $model;
}
public function message() {
return "My car is a " . $this->color . " " . $this->model . "!";
}
}
$myCar = new Car("black", "Volvo");
echo $myCar -> message();
echo "<br>";
$myCar = new Car("red", "Toyota");
echo $myCar -> message();
?>

PHP NULL Value

Null is a special data type which can have only one value: NULL.

A variable of data type NULL is a variable that has no value assigned to it.

Tip: If a variable is created without a value, it is automatically assigned a value


of NULL.

Variables can also be emptied by setting the value to NULL:

Example
<?php
$x = "Hello world!";
$x = null;
var_dump($x);
?>

PROF. SANDIP GHOSHAL 20


PHP String Functions
In this chapter we will look at some commonly used functions to manipulate
strings.

strlen() - Return the Length of a String


The PHP strlen() function returns the length of a string.

Example
Return the length of the string "Hello world!":

<?php
echo strlen("Hello world!"); // outputs 12
?>

str_word_count() - Count Words in a


String
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!":

<?php
echo str_word_count("Hello world!"); // outputs 2
?>

strrev() - Reverse a String


The PHP strrev() function reverses a string.

PROF. SANDIP GHOSHAL 21


Example
Reverse the string "Hello world!":

<?php
echo strrev("Hello world!"); // outputs !dlrow olleH
?>

strpos() - Search For a Text Within a String


The PHP strpos() function searches for a specific text within a string. If a
match is found, the function returns the character position of the first match.
If no match is found, it will return FALSE.

Example
Search for the text "world" in the string "Hello world!":

<?php
echo strpos("Hello world!", "world"); // outputs 6
?>

Tip: The first character position in a string is 0 (not 1).

str_replace() - Replace Text Within a String


The PHP str_replace() function replaces some characters with some other
characters in a string.

Example
Replace the text "world" with "Dolly":

<?php
echo str_replace("world", "Dolly", "Hello world!"); // outputs Hello
Dolly!
?>

PROF. SANDIP GHOSHAL 22


PHP Numbers
One thing to notice about PHP is that it provides automatic data type
conversion.

So, if you assign an integer value to a variable, the type of that variable will
automatically be an integer. Then, if you assign a string to the same
variable, the type will change to a string.

This automatic conversion can sometimes break your code.

PHP Integers
2, 256, -256, 10358, -179567 are all integers.

An integer is a number without any decimal part.

An integer data type is a non-decimal number between -2147483648 and


2147483647 in 32 bit systems, and between -9223372036854775808 and
9223372036854775807 in 64 bit systems. A value greater (or lower) than
this, will be stored as float, because it exceeds the limit of an integer.

Note: Another important thing to know is that even if 4 * 2.5 is 10, the
result is stored as float, because one of the operands is a float (2.5).

Here are some rules for integers:

• An integer must have at least one digit


• An integer must NOT have a decimal point
• An integer can be either positive or negative
• Integers can be specified in three formats: decimal (10-based),
hexadecimal (16-based - prefixed with 0x) or octal (8-based - prefixed
with 0)

PHP has the following predefined constants for integers:

• PHP_INT_MAX - The largest integer supported


• PHP_INT_MIN - The smallest integer supported
• PHP_INT_SIZE - The size of an integer in bytes

PHP has the following functions to check if the type of a variable is integer:

• is_int()
• is_integer() - alias of is_int()
• is_long() - alias of is_int()

PROF. SANDIP GHOSHAL 23


Example
Check if the type of a variable is integer:

<?php
$x = 5985;
var_dump(is_int($x));

$x = 59.85;
var_dump(is_int($x));
?>

PHP Floats
A float is a number with a decimal point or a number in exponential form.

2.0, 256.4, 10.358, 7.64E+5, 5.56E-5 are all floats.

The float data type can commonly store a value up to


1.7976931348623E+308 (platform dependent), and have a maximum
precision of 14 digits.

PHP has the following predefined constants for floats (from PHP 7.2):

• PHP_FLOAT_MAX - The largest representable floating point number


• PHP_FLOAT_MIN - The smallest representable positive floating point
number
• PHP_FLOAT_MAX - The smallest representable negative floating point
number
• PHP_FLOAT_DIG - The number of decimal digits that can be rounded
into a float and back without precision loss
• PHP_FLOAT_EPSILON - The smallest representable positive number x,
so that x + 1.0 != 1.0

PHP has the following functions to check if the type of a variable is float:

• is_float()
• is_double() - alias of is_float()

Example
Check if the type of a variable is float:
<?php
$x = 10.365;

PROF. SANDIP GHOSHAL 24


var_dump(is_float($x));
?>

PHP Infinity
A numeric value that is larger than PHP_FLOAT_MAX is considered infinite.

PHP has the following functions to check if a numeric value is finite or


infinite:

• is_finite()
• is_infinite()

However, the PHP var_dump() function returns the data type and value:

Example
Check if a numeric value is finite or infinite:

<?php
$x = 1.9e411;
var_dump($x);
?>

PHP NaN
NaN stands for Not a Number.

NaN is used for impossible mathematical operations.

PHP has the following functions to check if a value is not a number:

• is_nan()

However, the PHP var_dump() function returns the data type and value:

Example
Invalid calculation will return a NaN value:

<?php
$x = acos(8);
var_dump($x);
?>

PROF. SANDIP GHOSHAL 25


PHP Numerical Strings
The PHP is_numeric() function can be used to find whether a variable is
numeric. The function returns true if the variable is a number or a numeric
string, false otherwise.

Example
Check if the variable is numeric:

<!DOCTYPE html>
<html>
<body>

<?php
// Check if the variable is numeric
$x = 5985;
var_dump(is_numeric($x));

echo "<br>";

$x = "5985";
var_dump(is_numeric($x));

echo "<br>";

$x = "59.85" + 100;
var_dump(is_numeric($x));

echo "<br>";

$x = "Hello";
var_dump(is_numeric($x));
?>

</body>
</html>

o/p

bool(true)
bool(true)
bool(true)
bool(false)

PROF. SANDIP GHOSHAL 26


Note: From PHP 7.0: The is_numeric() function will return FALSE for numeric
strings in hexadecimal form (e.g. 0xf4c3b00c), as they are no longer
considered as numeric strings.

PHP Casting Strings and Floats to Integers


Sometimes you need to cast a numerical value into another data type.

The (int), (integer), or intval() function are often used to convert a value to
an integer.

Example
Cast float and string to integer:

<?php
// Cast float to int
$x = 23465.768;
$int_cast = (int)$x;
echo $int_cast;

echo "<br>";

// Cast string to int


$x = "23465.768";
$int_cast = (int)$x;
echo $int_cast;
?>
O/P:
23465
23465

PHP Math
PHP pi() Function
The pi() function returns the value of PI:

PROF. SANDIP GHOSHAL 27


Example
<?php
echo(pi()); // returns 3.1415926535898
?>

PHP min() and max() Functions


The min() and max() functions can be used to find the lowest or highest value
in a list of arguments:

Example
<?php
echo(min(0, 150, 30, 20, -8, -200)); // returns -200
echo(max(0, 150, 30, 20, -8, -200)); // returns 150
?>

PHP abs() Function


The abs() function returns the absolute (positive) value of a number:

Example
<?php
echo(abs(-6.7)); // returns 6.7
?>

PHP sqrt() Function


The sqrt() function returns the square root of a number:

Example
<?php
echo(sqrt(64)); // returns 8
?>

PROF. SANDIP GHOSHAL 28


PHP round() Function
The round() function rounds a floating-point number to its nearest integer:

Example
<?php
echo(round(0.60)); // returns 1
echo(round(0.49)); // returns 0
?>

<!DOCTYPE html>
<html>
<body>

<?php
echo(round(0.60) . "<br>");
echo(round(0.50) . "<br>");
echo(round(0.49) . "<br>");
echo(round(-4.40) . "<br>");
echo(round(-4.60));
?>

</body>
</html>

O/P
1
1
0
-4
-5

Random Numbers
The rand() function generates a random number:

Example
<?php
echo(rand());
?>

O/P
578047231
PROF. SANDIP GHOSHAL 29
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.

For example, if you want a random integer between 10 and 100 (inclusive),
use rand(10, 100):

Example
<?php
echo(rand(10, 100));
?>

O/P
97

PHP Constants
PHP Constants
A constant is an identifier (name) for a simple value. The value cannot be
changed during the script.

A valid constant name starts with a letter or underscore (no $ sign before the
constant name).

Note: Unlike variables, constants are automatically global across the entire
script.

Create a PHP Constant


To create a constant, use the define() function.

Syntax
define(name, value, case-insensitive)

Parameters:

• name: Specifies the name of the constant


• value: Specifies the value of the constant
• case-insensitive: Specifies whether the constant name should be case-
insensitive. Default is false

PROF. SANDIP GHOSHAL 30


Example
Create a constant with a case-sensitive name:

<?php
define("GREETING", "Welcome to TMSL!");
echo GREETING;
?>

Example
Create a constant with a case-insensitive name:

<?php
define("GREETING", "Welcome to TMSL", true);
echo greeting;
?>

PHP Constant Arrays


In PHP7, you can create an Array constant using the define() function.

Example
Create an Array constant:

<?php
define("cars", [
"Alfa Romeo",
"BMW",
"Toyota"
]);
echo cars[0];
?>

Constants are Global


Constants are automatically global and can be used across the entire script.

PROF. SANDIP GHOSHAL 31


Example
This example uses a constant inside a function, even if it is defined outside
the function:

<?php
define("GREETING", "Welcome to W3Schools.com!");

function myTest() {
echo GREETING;
}

myTest();
?>

PHP Operators
PHP Operators
Operators are used to perform operations on variables and values.

PHP divides the operators in the following groups:

• Arithmetic operators
• Assignment operators
• Comparison operators
• Increment/Decrement operators
• Logical operators
• String operators
• Array operators
• Conditional assignment operators

PHP Arithmetic Operators


The PHP arithmetic operators are used with numeric values to perform
common arithmetical operations, such as addition, subtraction, multiplication
etc.

PROF. SANDIP GHOSHAL 32


Operator Name Example Result Show
it

+ Addition $x + $y Sum of $x and $y

- Subtraction $x - $y Difference of $x and $y

* Multiplication $x * $y Product of $x and $y

/ Division $x / $y Quotient of $x and $y

% Modulus $x % $y Remainder of $x divided


by $y

** Exponentiation $x ** $y Result of raising $x to


the $y'th power

PHP Assignment Operators


The PHP assignment operators are used with numeric values to write a value
to a variable.

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.

Assignment Same Description Show


as... it

PROF. SANDIP GHOSHAL 33


x=y x=y The left operand gets set to the value of
the expression on the right

x += y x=x+ Addition
y

x -= y x=x- Subtraction
y

x *= y x=x* Multiplication
y

x /= y x=x/ Division
y

x %= y x=x% Modulus
y

PHP Comparison Operators


The PHP comparison operators are used to compare two values (number or
string):

Operator Name Example Result

== Equal $x == $y Returns true if $x is equal to $y

PROF. SANDIP GHOSHAL 34


=== Identical $x === Returns true if $x is equal to $y,
$y and they are of the same type

!= Not equal $x != $y Returns true if $x is not equal to $y

<> Not equal $x <> $y Returns true if $x is not equal to $y

!== Not identical $x !== Returns true if $x is not equal to $y,


$y or they are not of the same type

> Greater than $x > $y Returns true if $x is greater than $y

< Less than $x < $y Returns true if $x is less than $y

>= Greater than $x >= $y Returns true if $x is greater than or


or equal to equal to $y

<= Less than or $x <= $y Returns true if $x is less than or


equal to equal to $y

<=> Spaceship $x <=> Returns an integer less than, equal


$y to, or greater than zero, depending
on if $x is less than, equal to, or
greater than $y. Introduced in PHP
7.

PROF. SANDIP GHOSHAL 35


PHP Increment / Decrement Operators
The PHP increment operators are used to increment a variable's value.

The PHP decrement operators are used to decrement a variable's value.

Operator Name Description

++$x Pre-increment Increments $x by one, then returns $x

$x++ Post-increment Returns $x, then increments $x by one

--$x Pre-decrement Decrements $x by one, then returns $x

$x-- Post-decrement Returns $x, then decrements $x by one

PHP Logical Operators


The PHP logical operators are used to combine conditional statements.

Operator Name Example Result

and And $x and $y True if both $x and $y are true

PROF. SANDIP GHOSHAL 36


or Or $x or $y True if either $x or $y is true

xor Xor $x xor $y True if either $x or $y is true, but


not both

&& And $x && $y True if both $x and $y are true

|| Or $x || $y True if either $x or $y is true

! Not !$x True if $x is not true

PHP String Operators


PHP has two operators that are specially designed for strings.

Operator Name Example Result

. Concatenation $txt1 . Concatenation of $txt1


$txt2 and $txt2

.= Concatenation $txt1 .= Appends $txt2 to $txt1


assignment $txt2

PROF. SANDIP GHOSHAL 37


PHP Array Operators
The PHP array operators are used to compare arrays.

Operator Name Example Result

+ Union $x + $y Union of $x and $y

== Equality $x == $y Returns true if $x and $y have the


same key/value pairs

=== Identity $x === Returns true if $x and $y have the


$y same key/value pairs in the same
order and of the same types

!= Inequality $x != $y Returns true if $x is not equal to $y

<> Inequality $x <> $y Returns true if $x is not equal to $y

!== Non- $x !== Returns true if $x is not identical to


identity $y $y

PHP Conditional Assignment Operators


The PHP conditional assignment operators are used to set a value depending
on conditions:
PROF. SANDIP GHOSHAL 38
Operator Name Example Result

?: Ternary $x Returns the value of


= expr1 ? expr2 : expr3 $x.
The value of $x
is expr2 if expr1 =
TRUE.
The value of $x
is expr3 if expr1 =
FALSE

?? Null $x = expr1 ?? expr2 Returns the value of


coalescing $x.
The value of $x
is expr1 if expr1 exists,
and is not NULL.
If expr1 does not exist,
or is NULL, the value of
$x is expr2.
Introduced in PHP 7

PHP if...else...elseif Statements


Conditional statements are used to perform different actions based on
different conditions.

PHP Conditional Statements


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

PROF. SANDIP GHOSHAL 39


In PHP we have the following conditional statements:

• if statement - executes some code if one condition is true


• if...else statement - executes some code if a condition is true and
another code if that condition is false
• if...elseif...else statement - executes different codes for more
than two conditions
• switch statement - selects one of many blocks of code to be executed

PHP - The if Statement


The if statement executes some code if one condition is true.

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");

if ($t < "20") {


echo "Have a good day!";
}
?>

PHP - The if...else Statement


The if...else statement executes some code if a condition is true and
another code if that condition is false.

Syntax
if (condition) {
code to be executed if condition is true;
} else {

PROF. SANDIP GHOSHAL 40


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");

if ($t < "20") {


echo "Have a good day!";
} else {
echo "Have a good night!";
}
?>

PHP - The if...elseif...else Statement


The if...elseif...else statement executes different codes for more than two
conditions.

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");

if ($t < "10") {

PROF. SANDIP GHOSHAL 41


echo "Have a good morning!";
} elseif ($t < "20") {
echo "Have a good day!";
} else {
echo "Have a good night!";
}
?>

PHP switch Statement


The switch statement is used to perform different actions based on
different conditions.

The PHP switch Statement


Use the switch statement to select one of many blocks of code to be
executed.

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;
}

This is how it works: First we have a single expression n (most often a


variable), that is evaluated once. The value of the expression is then compared
with the values for each case in the structure. If there is a match, the block of
code associated with that case is executed. Use break to prevent the code from
running into the next case automatically. The default statement is used if no
match is found.

PROF. SANDIP GHOSHAL 42


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.

PHP Loops
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:

• while - loops through a block of code as long as the specified condition


is true
• do...while - loops through a block of code once, and then repeats the
loop as long as the specified condition is true
• for - loops through a block of code a specified number of times
• foreach - loops through a block of code for each element in an array

The following chapters will explain and give examples of each loop type.
PROF. SANDIP GHOSHAL 43
PHP while Loop
The while loop - Loops through a block of code as long as the specified
condition is true.

The PHP while Loop


The while loop executes a block of code as long as the specified condition is
true.

Syntax
while (condition is true) {
code to be executed;
}

Examples
The example below displays the numbers from 1 to 5:

Example
<?php
$x = 1;

while($x <= 5) {
echo "The number is: $x <br>";
$x++;
}
?>

Example Explained
• $x = 1; - Initialize the loop counter ($x), and set the start value to 1
• $x <= 5 - Continue the loop as long as $x is less than or equal to 5
• $x++; - Increase the loop counter value by 1 for each iteration

This example counts to 100 by tens:

PROF. SANDIP GHOSHAL 44


Example
<?php
$x = 0;

while($x <= 100) {


echo "The number is: $x <br>";
$x+=10;
}
?>

Example Explained
• $x = 0; - Initialize the loop counter ($x), and set the start value to 0
• $x <= 100 - Continue the loop as long as $x is less than or equal to
100
• $x+=10; - Increase the loop counter value by 10 for each iteration

PHP do while Loop


The do...while loop - Loops through a block of code once, and then
repeats the loop as long as the specified condition is true.

The PHP do...while Loop


The do...while loop will always execute the block of code once, it will then
check the condition, and repeat the loop while the specified condition is true.

Syntax
do {
code to be executed;
} while (condition is true);

Examples
The example below first sets a variable $x to 1 ($x = 1). Then, the do while
loop will write some output, and then increment the variable $x with 1. Then

PROF. SANDIP GHOSHAL 45


the condition is checked (is $x less than, or equal to 5?), and the loop will
continue to run as long as $x is less than, or equal to 5:

Example
<?php
$x = 1;

do {
echo "The number is: $x <br>";
$x++;
} while ($x <= 5);
?>

Note: In a do...while loop the condition is tested AFTER executing the


statements within the loop. This means that the do...while loop will execute
its statements at least once, even if the condition is false. See example
below.

This example sets the $x variable to 6, then it runs the loop, and then the
condition is checked:

Example
<?php
$x = 6;

do {
echo "The number is: $x <br>";
$x++;
} while ($x <= 5);
?>

PHP for Loop


The for loop - Loops through a block of code a specified number of times.

PROF. SANDIP GHOSHAL 46


The PHP for Loop
The for loop is used when you know in advance how many times the script
should run.

Syntax
for (init counter; test counter; increment counter) {
code to be executed for each iteration;
}

Parameters:

• init counter: Initialize the loop counter value


• test counter: Evaluated for each loop iteration. If it evaluates to TRUE,
the loop continues. If it evaluates to FALSE, the loop ends.
• increment counter: Increases the loop counter value

Examples
The example below displays the numbers from 0 to 10:

<?php
for ($x = 0; $x <= 10; $x++) {
echo "The number is: $x <br>";
}
?>

Example Explained
• $x = 0; - Initialize the loop counter ($x), and set the start value to 0
• $x <= 10; - Continue the loop as long as $x is less than or equal to 10
• $x++ - Increase the loop counter value by 1 for each iteration

This example counts to 100 by tens:

Example
<?php
for ($x = 0; $x <= 100; $x+=10) {
echo "The number is: $x <br>";
}
?>

PROF. SANDIP GHOSHAL 47


Example Explained
• $x = 0; - Initialize the loop counter ($x), and set the start value to 0
• $x <= 100; - Continue the loop as long as $x is less than or equal to
100
• $x+=10 - Increase the loop counter value by 10 for each iteration

PHP foreach Loop


The foreach loop - Loops through a block of code for each element in an
array.

The PHP foreach Loop


The foreach loop works only on arrays, and is used to loop through each
key/value pair in an array.

Syntax
foreach ($array as $value) {
code to be executed;
}

For every loop iteration, the value of the current array element is assigned to
$value and the array pointer is moved by one, until it reaches the last array
element.

Examples
The following example will output the values of the given array ($colors):

<?php
$colors = array("red", "green", "blue", "yellow");

foreach ($colors as $value) {


echo "$value <br>";
}
?>

PROF. SANDIP GHOSHAL 48


The following example will output both the keys and the values of the given
array ($age):

Example
<?php
$age = array("Peter"=>"35", "Ben"=>"37", "Joe"=>"43");

foreach($age as $x => $val) {


echo "$x = $val<br>";
}
?>

PHP Break and Continue


PHP Break
You have already seen the break statement used in an earlier chapter of this
tutorial. It was used to "jump out" of a switch statement.

The break statement can also be used to jump out of a loop.

This example jumps out of the loop when x is equal to 4:

Example
<?php
for ($x = 0; $x < 10; $x++) {
if ($x == 4) {
break;
}
echo "The number is: $x <br>";
}
?>

PHP Continue
The continue statement breaks one iteration (in the loop), if a specified
condition occurs, and continues with the next iteration in the loop.

This example skips the value of 4:

PROF. SANDIP GHOSHAL 49


Example
<?php
for ($x = 0; $x < 10; $x++) {
if ($x == 4) {
continue;
}
echo "The number is: $x <br>";
}
?>

Break and Continue in While Loop


You can also use break and continue in while loops:

Break Example
<?php
$x = 0;

while($x < 10) {


if ($x == 4) {
break;
}
echo "The number is: $x <br>";
$x++;
}
?>

Continue Example
<?php
$x = 0;

while($x < 10) {


if ($x == 4) {
$x++;
continue;
}
echo "The number is: $x <br>";
$x++;
}
?>

PROF. SANDIP GHOSHAL 50


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.

Please check out our PHP reference for a complete overview of the PHP built-
in functions.

PHP User Defined Functions


Besides the built-in PHP functions, it is possible to create your own functions.

• A function is a block of statements that can be used repeatedly in a


program.
• A function will not execute automatically when a page loads.
• A function will be executed by a call to the function.

Create a User Defined Function in PHP


A user-defined function declaration starts with the word function:

Syntax
function functionName() {
code to be executed;
}

PROF. SANDIP GHOSHAL 51


Note: A function name must start with a letter or an underscore. Function
names are NOT case-sensitive.

Tip: Give the function a name that reflects what the function does!

In the example below, we create a function named "writeMsg()". The opening


curly brace ( { ) indicates the beginning of the function code, and the closing
curly brace ( } ) indicates the end of the function. The function outputs "Hello
world!". To call the function, just write its name followed by brackets ():

Example
<?php
function writeMsg() {
echo "Hello world!";
}

writeMsg(); // call the function


?>

PHP Function Arguments


Information can be passed to functions through arguments. An argument is
just like a variable.

Arguments are specified after the function name, inside the parentheses. You
can add as many arguments as you want, just separate them with a comma.

The following example has a function with one argument ($fname). When the
familyName() function is called, we also pass along a name (e.g. Jani), and
the name is used inside the function, which outputs several different first
names, but an equal last name:

Example
<?php
function familyName($fname) {
echo "$fname Refsnes.<br>";
}
familyName("Jani");
familyName("Hege");
familyName("Stale");
familyName("Kai Jim");
familyName("Borge");
?>

PROF. SANDIP GHOSHAL 52


The following example has a function with two arguments ($fname and
$year):

Example
<?php
function familyName($fname, $year) {
echo "$fname Refsnes. Born in $year <br>";
}

familyName("Hege", "1975");
familyName("Stale", "1978");
familyName("Kai Jim", "1983");
?>

PHP is a Loosely Typed Language


In the example above, notice that we did not have to tell PHP which data
type the variable is.

PHP automatically associates a data type to the variable, depending on its


value. Since the data types are not set in a strict sense, you can do things
like adding a string to an integer without causing an error.

In PHP 7, type declarations were added. This gives us an option to specify


the expected data type when declaring a function, and by adding
the strict declaration, it will throw a "Fatal Error" if the data type
mismatches.

In the following example we try to send both a number and a string to the
function without using strict:

Example
<?php
function addNumbers(int $a, int $b) {
return $a + $b;
}
echo addNumbers(5, "5 days");
// since strict is NOT enabled "5 days" is changed to int(5), and it
will return 10
?>

To specify strict we need to set declare(strict_types=1);. This must be on the


very first line of the PHP file.

PROF. SANDIP GHOSHAL 53


In the following example we try to send both a number and a string to the
function, but here we have added the strict declaration:

Example
<?php declare(strict_types=1); // strict requirement

function addNumbers(int $a, int $b) {


return $a + $b;
}
echo addNumbers(5, "5 days");
// since strict is enabled and "5 days" is not an integer, an error
will be thrown
?>

The strict declaration forces things to be used in the intended way.

PHP Default Argument Value


The following example shows how to use a default parameter. If we call the
function setHeight() without arguments it takes the default value as
argument:

Example
<?php declare(strict_types=1); // strict requirement
function setHeight(int $minheight = 50) {
echo "The height is : $minheight <br>";
}

setHeight(350);
setHeight(); // will use the default value of 50
setHeight(135);
setHeight(80);
?>

PHP Functions - Returning values


To let a function return a value, use the return statement:

PROF. SANDIP GHOSHAL 54


Example
<?php declare(strict_types=1); // strict requirement
function sum(int $x, int $y) {
$z = $x + $y;
return $z;
}

echo "5 + 10 = " . sum(5, 10) . "<br>";


echo "7 + 13 = " . sum(7, 13) . "<br>";
echo "2 + 4 = " . sum(2, 4);
?>

PHP Return Type Declarations


PHP 7 also supports Type Declarations for the return statement. Like with the
type declaration for function arguments, by enabling the strict requirement,
it will throw a "Fatal Error" on a type mismatch.

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
function addNumbers(float $a, float $b) : float {
return $a + $b;
}
echo addNumbers(1.2, 5.2);
?>

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
function addNumbers(float $a, float $b) : int {
return (int)($a + $b);
}
echo addNumbers(1.2, 5.2);
?>

PROF. SANDIP GHOSHAL 55


Passing Arguments by Reference
In PHP, arguments are usually passed by value, which means that a copy of
the value is used in the function and the variable that was passed into the
function cannot be changed.

When a function argument is passed by reference, changes to the argument


also change the variable that was passed in. To turn a function argument
into a reference, the & operator is used:

Example
Use a pass-by-reference argument to update a variable:

<?php
function add_five(&$value) {
$value += 5;
}

$num = 2;
add_five($num);
echo $num;
?>

PHP Arrays
An array stores multiple values in one single variable:

Example
<?php
$cars = array("Volvo", "BMW", "Toyota");
echo "I like " . $cars[0] . ", " . $cars[1] . " and " . $cars[2] . ".";
?>

What is an Array?
An array is a special variable, which can hold more than one value at a time.

If you have a list of items (a list of car names, for example), storing the cars
in single variables could look like this:

PROF. SANDIP GHOSHAL 56


$cars1 = "Volvo";
$cars2 = "BMW";
$cars3 = "Toyota";

However, what if you want to loop through the cars and find a specific one?
And what if you had not 3 cars, but 300?

The solution is to create an array!

An array can hold many values under a single name, and you can access the
values by referring to an index number.

Create an Array in PHP


In PHP, the array() function is used to create an array:

array();

In PHP, there are three types of arrays:

• Indexed arrays - Arrays with a numeric index


• Associative arrays - Arrays with named keys
• Multidimensional arrays - Arrays containing one or more arrays

Get The Length of an Array - The count()


Function
The count() function is used to return the length (the number of elements) of
an array:

Example
<?php
$cars = array("Volvo", "BMW", "Toyota");
echo count($cars);
?>

PROF. SANDIP GHOSHAL 57


PHP Indexed Arrays
PHP Indexed Arrays
There are two ways to create indexed arrays:

The index can be assigned automatically (index always starts at 0), like this:

$cars = array("Volvo", "BMW", "Toyota");

or the index can be assigned manually:

$cars[0] = "Volvo";
$cars[1] = "BMW";
$cars[2] = "Toyota";

The following example creates an indexed array named $cars, assigns three
elements to it, and then prints a text containing the array values:

Example
<?php
$cars = array("Volvo", "BMW", "Toyota");
echo "I like " . $cars[0] . ", " . $cars[1] . " and " . $cars[2] . ".";
?>

Loop Through an Indexed Array


To loop through and print all the values of an indexed array, you could use
a for loop, like this:

Example
<?php
$cars = array("Volvo", "BMW", "Toyota");
$arrlength = count($cars);
for($x = 0; $x < $arrlength; $x++) {
echo $cars[$x];
echo "<br>";
}
?>

PROF. SANDIP GHOSHAL 58


PHP Associative Arrays
PHP Associative Arrays
Associative arrays are arrays that use named keys that you assign to them.

There are two ways to create an associative array:

$age = array("Peter"=>"35", "Ben"=>"37", "Joe"=>"43");

or:

$age['Peter'] = "35";
$age['Ben'] = "37";
$age['Joe'] = "43";

The named keys can then be used in a script:

Example
<?php
$age = array("Peter"=>"35", "Ben"=>"37", "Joe"=>"43");
echo "Peter is " . $age['Peter'] . " years old.";
?>

Loop Through an Associative Array


To loop through and print all the values of an associative array, you could
use a foreach loop, like this:

Example
<?php
$age = array("Peter"=>"35", "Ben"=>"37", "Joe"=>"43");

foreach($age as $x => $x_value) {


echo "Key=" . $x . ", Value=" . $x_value;
echo "<br>";
}
?>

PROF. SANDIP GHOSHAL 59


PHP Multidimensional Arrays
In the previous pages, we have described arrays that are a single list of
key/value pairs.

However, sometimes you want to store values with more than one key.
For this, we have multidimensional arrays.

PHP - Multidimensional Arrays


A multidimensional array is an array containing one or more arrays.

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.

The dimension of an array indicates the number of indices you need


to select an element.

• For a two-dimensional array you need two indices to select an element


• For a three-dimensional array you need three indices to select an
element

PHP - Two-dimensional Arrays


A two-dimensional array is an array of arrays (a three-dimensional array is
an array of arrays of arrays).

First, take a look at the following table:

Name Stock Sold

Volvo 22 18

BMW 15 13

PROF. SANDIP GHOSHAL 60


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):

Example
<?php

echo $cars[0][0].": In stock: ".$cars[0][1].", sold:


".$cars[0][2].".<br>";

echo $cars[1][0].": In stock: ".$cars[1][1].", sold:


".$cars[1][2].".<br>";

echo $cars[2][0].": In stock: ".$cars[2][1].", sold:


".$cars[2][2].".<br>";

echo $cars[3][0].": In stock: ".$cars[3][1].", sold:


".$cars[3][2].".<br>";
?>

PROF. SANDIP GHOSHAL 61


<!DOCTYPE html>
<html>
<body>

<?php
$cars = array (
array("Volvo",22,18),
array("BMW",15,13),
array("Saab",5,2),
array("Land Rover",17,15)
);

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>";
}
?>

</body>
</html>

PHP Sorting Arrays


The elements in an array can be sorted in alphabetical or numerical order,
descending or ascending.

PHP - Sort Functions For Arrays


In this chapter, we will go through the following PHP array sort functions:

• sort() - sort arrays in ascending order


• rsort() - sort arrays in descending order
• asort() - sort associative arrays in ascending order, according to the
value
• ksort() - sort associative arrays in ascending order, according to the
key

PROF. SANDIP GHOSHAL 62


• arsort() - sort associative arrays in descending order, according to
the value
• krsort() - sort associative arrays in descending order, according to
the key

Sort Array in Ascending Order - sort()


The following example sorts the elements of the $cars array in ascending
alphabetical order:

Example

<!DOCTYPE html>
<html>
<body>

<?php
$cars = array("Volvo", "BMW", "Toyota");
sort($cars);

$clength = count($cars);
for($x = 0; $x < $clength; $x++) {
echo $cars[$x];
echo "<br>";
}
?>
</body> </html>
The following example sorts the elements of the $numbers array in
ascending numerical order:

Example
<!DOCTYPE html>
<html>
<body>

<?php
$numbers = array(4, 6, 2, 22, 11);
sort($numbers);

$arrlength = count($numbers);
for($x = 0; $x < $arrlength; $x++) {
echo $numbers[$x];
echo "<br>";
}
?>

</body>

PROF. SANDIP GHOSHAL 63


</html>

Sort Array in Descending Order - rsort()


The following example sorts the elements of the $cars array in descending
alphabetical order:

Example

Sort Array in Descending Order - rsort()


The following example sorts the elements of the $cars array in descending
alphabetical order:

Example
<!DOCTYPE html>
<html>
<body>

<?php
$cars = array("Volvo", "BMW", "Toyota");
rsort($cars);

$clength = count($cars);
for($x = 0; $x < $clength; $x++) {
echo $cars[$x];
echo "<br>";
}
?>
</body>
</html>
EXAMPLE 2:-
<!DOCTYPE html>
<html>
<body>
<?php
$numbers = array(4, 6, 2, 22, 11);
rsort($numbers);

$arrlength = count($numbers);
for($x = 0; $x < $arrlength; $x++) {
echo $numbers[$x];
echo "<br>";
}
?>

PROF. SANDIP GHOSHAL 64


</body>
</html>

Sort Array (Ascending Order), According


to Value - asort()
The following example sorts an associative array in ascending order,
according to the value:

Example
<!DOCTYPE html>
<html>
<body>

<?php
$age = array("Peter"=>"35", "Ben"=>"37", "Joe"=>"43");
asort($age);

foreach($age as $x => $x_value) {


echo "Key=" . $x . ", Value=" . $x_value;
echo "<br>";
}
?>

</body>
</html>

O/P:-
Key=Peter, Value=35
Key=Ben, Value=37
Key=Joe, Value=43

Sort Array (Ascending Order), According


to Key - ksort()
The following example sorts an associative array in ascending order,
according to the key:

PROF. SANDIP GHOSHAL 65


Example
<!DOCTYPE html>
<html>
<body>

<?php
$age = array("Peter"=>"35", "Ben"=>"37", "Joe"=>"43");
ksort($age);

foreach($age as $x => $x_value) {


echo "Key=" . $x . ", Value=" . $x_value;
echo "<br>";
}
?>

</body>
</html>

Key=Ben, Value=37
Key=Joe, Value=43
Key=Peter, Value=35

Sort Array (Descending Order), According


to Value - arsort()
The following example sorts an associative array in descending order,
according to the value:

Example
<!DOCTYPE html>
<html>
<body>

<?php
$age = array("Peter"=>"35", "Ben"=>"37", "Joe"=>"43");
arsort($age);

foreach($age as $x => $x_value) {


echo "Key=" . $x . ", Value=" . $x_value;
echo "<br>";
}
?>

</body>

PROF. SANDIP GHOSHAL 66


</html>

Key=Joe, Value=43
Key=Ben, Value=37
Key=Peter, Value=35

Sort Array (Descending Order), According


to Key - krsort()
The following example sorts an associative array in descending order,
according to the key:

Example
<!DOCTYPE html>
<html>
<body>

<?php
$age = array("Peter"=>"35", "Ben"=>"37", "Joe"=>"43");
krsort($age);

foreach($age as $x => $x_value) {


echo "Key=" . $x . ", Value=" . $x_value;
echo "<br>";
}
?>

</body>
</html>

Key=Peter, Value=35
Key=Joe, Value=43
Key=Ben, Value=37

PROF. SANDIP GHOSHAL 67

You might also like