We use cookies on this site to enhance your user experience
By clicking the Accept button, you agree to us doing so. More info on our cookie policy
We use cookies on this site to enhance your user experience
By clicking the Accept button, you agree to us doing so. More info on our cookie policy
PHP Fundamentals
Published: Jul 3, 2021 by C.S. Rhymes
PHP Fundamentals
This post is part of a series of posts about the fundamentals of PHP.
Arrays are a useful toolt to store multiple values. You can access a specific value in an array using a key. By default, if you don’t specify keys, they will be numeric and start at zero (not one);
$myArray = ['Red', 'Blue', 'Green'];
echo $myArray[0]; // Red
echo $myArray[1]; // Blue
echo $myArray[2]; // Green
If you try and use an array key that doesn’t exist then you will get a PHP notice.
echo $myArray[3]; // Notice: Undefined offset: 3
The short way of defining an array is using square brackets, but it’s useful to know the other syntax too, with the word array
and brackets.
$myArray = array('Red', 'Blue', 'Green');
You can add a new value to an array using empty square brackets, which will add the new value to the end of the array.
$myArray = ['Red', 'Blue', 'Green'];
$myArray[] = 'Yellow';
var_dump($myArray);
// array(4) { [0]=> string(3) "Red" [1]=> string(4) "Blue" [2]=> string(5) "Green" [3]=> string(6) "Yellow" }
You can remove an item from an array using unset()
.
$myArray = ['Red', 'Blue', 'Green', 'Yellow'];
unset($myArray[3]);
var_dump($myArray);
// array(3) { [0]=> string(3) "Red" [1]=> string(4) "Blue" [2]=> string(5) "Green" }
You can also use array_splice() to remove an item from an array. This takes the array as the first argument, the offset or where to start, and the length or how many items you want to remove.
$myArray = ['Red', 'Blue', 'Green', 'Yellow'];
array_splice($myArray, 3, 1);
var_dump($myArray);
// array(3) { [0]=> string(3) "Red" [1]=> string(4) "Blue" [2]=> string(5) "Green" }
You can also specify a forth argument with array_splice() to add a replacement value to the array at the same time as removing values.
$myArray = ['Red', 'Blue', 'Green', 'Yellow'];
array_splice($myArray, 3, 1, 'Purple');
var_dump($myArray);
// array(4) { [0]=> string(3) "Red" [1]=> string(4) "Blue" [2]=> string(5) "Green" [3]=> string(6) "Purple" }
You can specify the keys if you want to, using the format ['key' => 'value']
, defining this key
has this value
.
$myArray = [
'red' => 'Red',
'blue' => 'Blue',
'green' => 'Green',
];
echo $myArray['red']; // Red
You can also have a multi-dimensional array, an array that contains an array. You can access values using the keys, one after the other, such as $myArray['top-level-key']['next-level-key']
.
$myArray = [
'red' => [
'label' => 'Red',
'hexcode' => '#FF0000',
],
'blue' => [
'label' => 'Blue',
'hexcode' => '#0000FF',
],
'green' => [
'label' => 'Green',
'hexcode' => '#00FF00',
]
];
echo $myArray['red']['label']; // Red
echo $myArray['red']['hexcode']; // #FF0000
One thing that is very useful with an array is the ability to iterate or loop over it. If we use the same example as above we can use a foreach loop to do this.
foreach ($myArray as $colour) {
echo "<p>{$colour['label']}: {$colour['hexcode']}</p>";
}
// Red: #FF0000
// Blue: #0000FF
// Green: #00FF00
There are many built in functions for PHP arrays so if you are using an array in your code you can probably find a function that will do what you need, or even combine multiple functions to achieve what you need.
For more information on PHP functions, you can check out the array functions PHP documentation.
Share
Latest Posts
I recently had to write a test for a React component that opened a new browser window. To open the new window I made use of window.open() in my code. This made the component easy to write, but I had to think a bit differently about how to write the test for this.
There has been a lot of discussion on Threads recently about becoming a writer, but don’t give up your day job. I have seen a lot of arguments from all sides, some people saying they became a successful full time writer, others saying they would never give up their job, then there are others who became writers full time then went back to another job. Writing has always been a hobby for me, but this discussion has made me think more about why I write.
Version 1.1.0 of Bulma clean theme has been released. It has a small update that allows you to easily add social media links to the footer of your site.