A PHP array is a container where you can store multiple values at once. It is like a PHP variable but, in a variable, you can store only one value at a time, where an array can hold one or more than one value.
Create a PHP Array
⏳ You can create a PHP array in two ways –
- using the
array()
function - using Square Brackets
[]
Both ways work the same. The square bracket is the shorthand of the array() function.
<?php
$names = array('John','Smith','Mark','Ken','Barry');
?>
<?php
$names = ['John','Smith','Mark','Ken','Barry'];
?>
You can store values of any data type in an array, such as string, number, boolean, etc. And it is not mandatory that all values of an array be of the same data type.
<?php
$data = array('John', 21, true, NULL);
?>
Access the Array Values
You can access the values of an array by their keys. By default, each array has keys in a number format starting at 0.

<?php
$names = array('John','Smith','Mark','Ken','Barry');
echo $names[0]; // John
echo "<br>";
echo $names[3]; // Ken
echo "<br>";
echo $names[4]; // Barry
echo "<br>";
echo $names[2]; // Mark
echo "<br>";
echo $names[1]; // Smith
?>
Ken
Barry
Mark
Smith
Add Custom Array Keys
If you want to add custom array keys, then you can do that by using the arrow operator =>

<?php
$user = array('name' => 'John', 'age' => 21, 'email' => '[email protected]');
echo $user['name'];
echo "<br>";
echo $user['age'];
echo "<br>";
echo $user['email'];
?>
PHP Array Types
PHP has three types of arrays –
- Indexed arrays (Numeric arrays)
- Associative arrays
- Multidimensional Arrays
Indexed or Numeric Arrays
Arrays with numeric keys are called Indexed or Numeric arrays.
<?php
$names = array('John','Smith','Mark','Ken','Barry');
?>
Associative arrays
Arrays with custom keys are called Associative arrays.
<?php
$data = array('name' => 'John', 'age' => 21, 'email' => '[email protected]');
?>
Multidimensional Array in PHP
When you create an array or arrays inside an array, it is called a multidimensional array. These arrays can be Indexed or Associative.
<?php
$school = array(
'teachers' => array('John','Mark','Smith'),
'subject' => array('English','Science','Mathematics')
);
?>
<?php
$school = array(
'teachers' => array(
'english' => array('John','Mark','Smith'),
'science' => array(
'physics' => array('Hank','Joe'),
'chemistry' => array('Akash','Niels'),
'biology' => array('James', 'Theressa')
),
'Mathematics' => array('Barry','Nick')
)
);
?>
Update and Delete an Array in PHP
Update an array element/value
First, select the element by the key of the element, and then assign it to a new value that will replace the old value.
<?php
$names = ['John','Smith'];
// Updating John -> Mark
$names[0] = 'Mark';
echo "<pre>";
var_dump($names);
echo "</pre>";
?>
array(2) { [0]=> string(4) "Mark" [1]=> string(5) "Smith" }
Add an Element inside an Array
With the help of the array_push()
function, you can add an Element inside an array.
<?php
$users = array("John","Mark");
array_push($users, "Barry");
echo "<pre>";
var_dump($users);
echo "</pre>";
?>
array(3) { [0]=> string(4) "John" [1]=> string(4) "Mark" [2]=> string(5) "Barry" }
You can also add multiple elements at once with the help of this function.
<?php
$users = array("John","Mark");
array_push($users, "Barry", "Akash", "Abhi");
echo "<pre>";
var_dump($users);
echo "</pre>";
?>
array(5) { [0]=> string(4) "John" [1]=> string(4) "Mark" [2]=> string(5) "Barry" [3]=> string(5) "Akash" [4]=> string(4) "Abhi" }
Add an element with custom key
If you want to add an array element with a custom key, see the following example –
<?php
$users = array("John","Mark");
$users["name"] = "Barry";
$users["age"] = 25;
echo "<pre>";
var_dump($users);
echo "</pre>";
?>
array(4) { [0]=> string(4) "John" [1]=> string(4) "Mark" ["name"]=> string(5) "Barry" ["age"]=> int(25) }
Delete an array element and an array
If you want to delete an array or want to delete an array element, in both of the cases you can use the unset()
function.
<?php
$users = array("John","Mark");
// Deleting First Element
unset($users[0]);
echo "<pre>";
var_dump($users);
echo "</pre>";
?>
array(1) { [1]=> string(4) "Mark" }
<?php
$users = array("John","Mark");
// Deleting the full array
unset($users);
?>