fervor [>]CODING & CURIOSITY
FERVOR LEARNING SYSTEMTUTORIALS
← PHP

PHP / 9 MIN READ

Arrays

Learn about arrays in PHP.

From the original Fervor library. Examples may use older package versions.

🌟 PHP Arrays Tutorial: A Friendly Guide 🌟

Welcome to the wonderful world of PHP Arrays! Arrays are like super-organized magic bags where you can store a bunch of data in one variable. They’re flexible, powerful, and an essential tool for any PHP developer. Let’s dive in step by step! 🚀


🛠️ What is an Array in PHP?

An array is a collection of values stored in a single variable. These values can be of any type: strings, integers, booleans, or even other arrays!

$colors = ["red", "green", "blue"];

Imagine an array as a row of labeled compartments in a toolbox where each label (index) helps you find its value.


🎯 Types of Arrays in PHP

1️⃣ Indexed Arrays

These arrays use numeric keys (indexes) to store values.

$fruits = ["apple", "banana", "cherry"];
// Access values:
echo $fruits[0]; // Outputs: apple

Key Points:

  • Index starts at 0.
  • You can add values dynamically:
    $fruits[] = "date"; // Adds "date" at the next index.
    

2️⃣ Associative Arrays

Instead of numeric indexes, these use custom keys.

$user = [
    "name" => "John",
    "age" => 30,
    "email" => "john@example.com"
];
echo $user["name"]; // Outputs: John

Key Points:

  • Great for key-value pairs, like a dictionary.
  • Keys must be unique but can be strings or integers.

3️⃣ Multidimensional Arrays

An array inside another array! Perfect for storing complex data.

$users = [
    ["name" => "John", "age" => 30],
    ["name" => "Jane", "age" => 25],
];
echo $users[0]["name"]; // Outputs: John

Think of it like a table where each row is an array.


🛠️ Creating Arrays

Using the Short Syntax:

$colors = ["red", "green", "blue"];

Using the array() Function:

$colors = array("red", "green", "blue");

Pro Tip: The short syntax ([]) is more modern and preferred in PHP 5.4+.


🛠️ Adding/Updating Elements

Add a New Element:

$fruits[] = "pear"; // Adds "pear" to the array

Update an Existing Element:

$fruits[0] = "mango"; // Changes "apple" to "mango"

Add to Associative Array:

$user["phone"] = "123-456-7890"; // Adds a new key-value pair

🛠️ Removing Elements

Using unset():

unset($fruits[1]); // Removes "banana" but leaves a gap

Pro Tip: Use array_values() to reindex the array after unset:

$fruits = array_values($fruits);

🛠️ Looping Through Arrays

Using foreach:

$colors = ["red", "green", "blue"];
foreach ($colors as $color) {
    echo $color . " "; // Outputs: red green blue
}

With Keys and Values:

$user = ["name" => "John", "age" => 30];
foreach ($user as $key => $value) {
    echo "$key: $value\n";
}

Using for (for Indexed Arrays):

for ($i = 0; $i < count($fruits); $i++) {
    echo $fruits[$i] . " ";
}

🎯 Common Array Functions

PHP has tons of built-in functions for arrays. Here are the most useful ones:

1️⃣ count()

Returns the number of elements in an array.

echo count($colors); // Outputs: 3

2️⃣ array_push()

Adds one or more elements to the end of an array.

array_push($colors, "yellow", "purple");

3️⃣ array_pop()

Removes the last element from an array.

$lastColor = array_pop($colors); // Removes "purple"

4️⃣ array_merge()

Combines two or more arrays.

$moreColors = ["pink", "brown"];
$allColors = array_merge($colors, $moreColors);

5️⃣ array_keys() and array_values()

Get just the keys or values from an array.

$keys = array_keys($user);   // ["name", "age"]
$values = array_values($user); // ["John", 30]

6️⃣ in_array()

Checks if a value exists in an array.

if (in_array("red", $colors)) {
    echo "Red is in the array!";
}

7️⃣ sort() and rsort()

Sorts an indexed array in ascending or descending order.

sort($colors);  // Alphabetical order
rsort($colors); // Reverse alphabetical order

8️⃣ ksort() and krsort()

Sorts an associative array by keys.

ksort($user); // Sort keys alphabetically

🎯 Working with Multidimensional Arrays

Looping Through Multidimensional Arrays:

$users = [
    ["name" => "John", "age" => 30],
    ["name" => "Jane", "age" => 25],
];

foreach ($users as $user) {
    echo $user["name"] . " is " . $user["age"] . " years old.\n";
}

🧩 Tips and Tricks

  1. Use Associative Arrays for Readability
    Instead of:

    $user = ["John", 30];
    

    Use:

    $user = ["name" => "John", "age" => 30];
    
  2. Default Values with ?? Operator
    Use the null coalescing operator to handle missing keys.

    $name = $user["name"] ?? "Guest";
    
  3. Check If a Key Exists
    Use array_key_exists() for associative arrays:

    if (array_key_exists("email", $user)) {
        echo $user["email"];
    }
    
  4. Flatten Multidimensional Arrays
    Use array_merge() with the splat operator (...):

    $flatArray = array_merge(...$users);
    

🚀 Challenge Time!

Write a PHP script to:

  1. Create an associative array of 3 friends with their favorite colors.
  2. Loop through the array and display each friend’s name and color.
  3. Add another friend dynamically and print the updated array.

Example Solution:

<?php
$friends = [
    "Alice" => "Blue",
    "Bob" => "Green",
    "Charlie" => "Red"
];

foreach ($friends as $name => $color) {
    echo "$name loves $color\n";
}

$friends["Diana"] = "Purple";
print_r($friends);
?>

🎉 Final Takeaway

PHP arrays are incredibly versatile. Whether you’re working with a simple list or a complex data structure, mastering arrays will supercharge your coding skills. Experiment, play around, and don’t forget: arrays are your best coding buddies! 🛠️

Bonus Protips and Cool Stuff.

🌟 PHP Arrays: Pro Tips & Cool Stuff 🌟

You’re ready to take your PHP array skills to the next level! Here are pro tips, cool tricks, and mind-blowing facts that will make you an array wizard. 🧙‍♂️


🛠️ Pro Tips for PHP Arrays

1️⃣ Short Syntax Saves the Day

Instead of using the old array() syntax, always use [] for arrays. It’s cleaner and modern!

$fruits = ["apple", "banana", "cherry"];

Why It’s Cool: Saves time typing and makes your code look more modern. Plus, it’s supported in PHP 5.4+.


2️⃣ Combine Two Arrays with Keys and Values

Use array_combine() to merge one array as keys and another as values.

$keys = ["name", "age", "email"];
$values = ["Alice", 25, "alice@example.com"];
$user = array_combine($keys, $values);
print_r($user);

Why It’s Cool: Turns two simple arrays into a powerful associative array. 🧩


3️⃣ Destructure Arrays (PHP 7.1+)

Grab array values directly into variables using list-like syntax.

$colors = ["red", "green", "blue"];
[$first, $second, $third] = $colors;
echo $first; // Outputs: red

Why It’s Cool: Makes working with arrays feel like unwrapping a present. 🎁


4️⃣ Merge Arrays Smartly

Use the spread operator (...) for clean and modern array merging (PHP 7.4+).

$array1 = [1, 2, 3];
$array2 = [4, 5];
$merged = [...$array1, ...$array2];
print_r($merged);

Why It’s Cool: No more messy array_merge() calls—just sprinkle some ....


5️⃣ Add Default Values to Associative Arrays

Use the null coalescing operator (??) to handle missing keys gracefully.

$user = ["name" => "John"];
$age = $user["age"] ?? 18; // Default to 18 if "age" is not set
echo $age; // Outputs: 18

Why It’s Cool: Prevents errors while keeping your code clean and safe.


6️⃣ Filter Arrays Without Loops

Use array_filter() to keep only the elements you need.

$numbers = [1, 2, 3, 4, 5];
$even = array_filter($numbers, fn($num) => $num % 2 === 0);
print_r($even); // Outputs: [2, 4]

Why It’s Cool: It’s like having a personal assistant that picks the right items for you.


7️⃣ Sort Arrays Like a Pro

PHP offers multiple ways to sort arrays based on your needs.

Sort by Values:

$fruits = ["banana", "apple", "cherry"];
sort($fruits); // Ascending order

Sort by Keys:

$user = ["name" => "Alice", "age" => 30];
ksort($user); // Sorts by keys

Custom Sort:

Use usort() for advanced sorting logic.

$numbers = [3, 2, 5, 1, 4];
usort($numbers, fn($a, $b) => $b - $a); // Descending
print_r($numbers);

Why It’s Cool: From simple to complex, PHP sorting is a lifesaver.


🧩 Cool Tricks for PHP Arrays

1️⃣ Check for Multiple Keys at Once

Verify if all required keys exist in an associative array.

$user = ["name" => "Alice", "email" => "alice@example.com"];
$requiredKeys = ["name", "email"];
$hasAllKeys = !array_diff_key(array_flip($requiredKeys), $user);
echo $hasAllKeys ? "Valid!" : "Missing keys!";

Why It’s Cool: Saves you from writing repetitive isset() checks.


2️⃣ Flatten a Multidimensional Array

Use array_merge() and the spread operator to squash an array into a flat one.

$nested = [[1, 2], [3, 4], [5]];
$flat = array_merge(...$nested);
print_r($flat); // Outputs: [1, 2, 3, 4, 5]

Why It’s Cool: Clean and elegant flattening without loops.


3️⃣ Find Unique Values

Remove duplicates using array_unique().

$numbers = [1, 2, 2, 3, 3, 3];
$unique = array_unique($numbers);
print_r($unique); // Outputs: [1, 2, 3]

Why It’s Cool: Say goodbye to duplicates in one line. 🙌


4️⃣ Shuffle Arrays

Randomize the order of array elements using shuffle().

$cards = ["Ace", "King", "Queen", "Jack"];
shuffle($cards);
print_r($cards);

Why It’s Cool: Perfect for building card games or randomizing stuff.


5️⃣ Map Arrays for Transformation

Use array_map() to apply a function to each element.

$numbers = [1, 2, 3];
$squared = array_map(fn($num) => $num * $num, $numbers);
print_r($squared); // Outputs: [1, 4, 9]

Why It’s Cool: It’s like a factory for modifying arrays.


6️⃣ Reduce Arrays to a Single Value

Use array_reduce() to combine all elements into one value.

$numbers = [1, 2, 3, 4];
$sum = array_reduce($numbers, fn($carry, $num) => $carry + $num, 0);
echo $sum; // Outputs: 10

Why It’s Cool: Turns arrays into meaningful data in seconds.


7️⃣ Get a Random Element

Pick a random value with array_rand().

$fruits = ["apple", "banana", "cherry"];
$randomIndex = array_rand($fruits);
echo $fruits[$randomIndex];

Why It’s Cool: Great for quizzes or lucky draws! 🍀


8️⃣ Turn Arrays Into Strings and Back

Convert arrays to strings and vice versa with implode() and explode().

$fruits = ["apple", "banana", "cherry"];
$commaSeparated = implode(", ", $fruits);
echo $commaSeparated; // Outputs: apple, banana, cherry

$backToArray = explode(", ", $commaSeparated);
print_r($backToArray);

Why It’s Cool: Handy for CSVs or URLs.


Bonus: Reverse Arrays in One Line

$numbers = [1, 2, 3];
$reversed = array_reverse($numbers);
print_r($reversed); // Outputs: [3, 2, 1]

Why It’s Cool: Instant reverse gear! 🚗


🎉 Final Takeaways

PHP arrays are not just tools—they’re Swiss Army knives 🛠️ of programming. With these pro tips and tricks, you can manipulate arrays efficiently and creatively.

Here’s what you should remember:

  • Keep It Clean: Use modern syntax like [] and the spread operator.
  • Think Functional: Use array_map, array_filter, and array_reduce for magic.
  • Be Lazy Smart: Let PHP do the heavy lifting with built-in functions.

Ready to create some epic code? Let me know what you want to explore next! 🚀

Keep your curiosity going.Explore more PHP →
287 TUTORIALS · 22 TOPICSREADY