Bird
Raised Fist0
PHPprogramming~5 mins

Associative array creation in PHP

Choose your learning style10 modes available
Introduction

An associative array lets you store data with named keys instead of numbers. It helps you find values by names, like a small dictionary.

When you want to store a list of items with labels, like a person's name and age.
When you need to group related data together with meaningful keys.
When you want to access data by a name instead of a number index.
When you want to organize settings or options with clear names.
When you want to return multiple named values from a function.
Syntax
PHP
<?php
$associativeArray = [
    "key1" => "value1",
    "key2" => "value2",
    "key3" => "value3"
];
?>

Keys are usually strings but can also be integers.

Use the => symbol to assign a value to a key.

Examples
This creates an associative array with keys 'name', 'age', and 'city'.
PHP
<?php
$person = [
    "name" => "Alice",
    "age" => 30,
    "city" => "Paris"
];
?>
This creates an empty associative array with no keys or values.
PHP
<?php
$emptyArray = [];
?>
This creates an associative array with just one key-value pair.
PHP
<?php
$singleItem = ["color" => "blue"];
?>
Keys can also be numbers, not just strings.
PHP
<?php
$numbers = [1 => "one", 2 => "two", 3 => "three"];
?>
Sample Program

This program creates an associative array for a car with make, model, and year. It prints the array, adds a new key 'color', then prints the updated array.

PHP
<?php
// Create an associative array with some data
$car = [
    "make" => "Toyota",
    "model" => "Corolla",
    "year" => 2020
];

// Print the array before adding a new item
print_r($car);

// Add a new key-value pair
$car["color"] = "red";

// Print the array after adding the new item
print_r($car);
?>
OutputSuccess
Important Notes

Accessing a value by key is very fast, usually O(1) time.

Associative arrays use more memory than simple indexed arrays because they store keys.

Common mistake: forgetting quotes around string keys can cause errors.

Use associative arrays when you want to label data clearly; use indexed arrays when order matters more than names.

Summary

Associative arrays store data with named keys for easy access.

Use the => symbol to assign values to keys inside square brackets.

They are great for grouping related data with meaningful names.

Practice

(1/5)
1. Which of the following is the correct way to create an associative array in PHP with keys "name" and "age"?
easy
A. $person = ("name" => "Alice", "age" => 30);
B. $person = {"name": "Alice", "age": 30};
C. $person = array("Alice", 30);
D. $person = ["name" => "Alice", "age" => 30];

Solution

  1. Step 1: Understand PHP associative array syntax

    Associative arrays use square brackets with key => value pairs.
  2. Step 2: Identify correct syntax among options

    $person = ["name" => "Alice", "age" => 30]; uses square brackets and => correctly; others use invalid syntax.
  3. Final Answer:

    $person = ["name" => "Alice", "age" => 30]; -> Option D
  4. Quick Check:

    Associative array = key => value pairs [OK]
Hint: Use square brackets and => for associative arrays [OK]
Common Mistakes:
  • Using parentheses instead of square brackets
  • Using colon (:) instead of =>
  • Creating indexed arrays instead of associative
2. Which of the following PHP code snippets will cause a syntax error when creating an associative array?
easy
A. $data = ["key1" : "value1", "key2" : "value2"];
B. $data = array("key1" => "value1", "key2" => "value2");
C. $data = ["key1" => "value1", "key2" => "value2"];
D. $data = ['key1' => 'value1', 'key2' => 'value2'];

Solution

  1. Step 1: Check the syntax for key-value pairs

    PHP uses => to assign values to keys, not colon (:).
  2. Step 2: Identify the invalid syntax

    $data = ["key1" : "value1", "key2" : "value2"]; uses colon (:) which is invalid in PHP associative arrays.
  3. Final Answer:

    $data = ["key1" : "value1", "key2" : "value2"]; -> Option A
  4. Quick Check:

    Use => not : for keys in PHP arrays [OK]
Hint: Remember PHP uses =>, not : for associative arrays [OK]
Common Mistakes:
  • Using colon (:) instead of =>
  • Mixing array() and [] syntax incorrectly
  • Missing commas between pairs
3. What will be the output of the following PHP code?
$arr = ["fruit" => "apple", "color" => "red"];
echo $arr["color"];
medium
A. red
B. color
C. apple
D. fruit

Solution

  1. Step 1: Understand array key access

    Accessing $arr["color"] returns the value for key "color".
  2. Step 2: Identify the value for key "color"

    Value is "red", so echo outputs "red".
  3. Final Answer:

    red -> Option A
  4. Quick Check:

    Key "color" = "red" [OK]
Hint: Access values by keys with $array["key"] [OK]
Common Mistakes:
  • Confusing keys and values
  • Using wrong quotes or missing quotes
  • Trying to access with dot notation
4. Identify the error in the following PHP code that tries to create an associative array:
$info = ["name" => "John", "age" = 25];
medium
A. Missing comma between elements
B. Keys should not be in quotes
C. Using = instead of => for key-value pair
D. Array must use array() syntax

Solution

  1. Step 1: Check key-value assignment syntax

    PHP requires => to assign values to keys, not =.
  2. Step 2: Locate incorrect assignment

    "age" = 25 uses = instead of =>, causing syntax error.
  3. Final Answer:

    Using = instead of => for key-value pair -> Option C
  4. Quick Check:

    Use => for key-value pairs [OK]
Hint: Use =>, not =, between key and value [OK]
Common Mistakes:
  • Using single = instead of =>
  • Omitting commas between pairs
  • Not quoting string keys
5. You want to create an associative array in PHP that maps product names to their prices, but only include products with a price greater than 20. Which code correctly creates this filtered associative array?
hard
A. $products = ["apple" => 15, "banana" => 25, "cherry" => 30]; $filtered = []; foreach ($products as $name, $price) { if ($price > 20) { $filtered[$name] = $price; } }
B. $products = ["apple" => 15, "banana" => 25, "cherry" => 30]; $filtered = []; foreach ($products as $name => $price) { if ($price > 20) { $filtered[$name] = $price; } }
C. $products = ["apple" => 15, "banana" => 25, "cherry" => 30]; $filtered = array_filter($products, function($name, $price) { return $price > 20; });
D. $products = ["apple" => 15, "banana" => 25, "cherry" => 30]; $filtered = []; foreach ($products as $price => $name) { if ($price > 20) { $filtered[$name] = $price; } }

Solution

  1. Step 1: Understand foreach key-value syntax

    Use foreach ($array as $key => $value) to access keys and values correctly.
  2. Step 2: Filter products with price > 20

    $products = ["apple" => 15, "banana" => 25, "cherry" => 30]; $filtered = []; foreach ($products as $name => $price) { if ($price > 20) { $filtered[$name] = $price; } } correctly checks price and assigns filtered items to new array.
  3. Final Answer:

    The code using foreach ($products as $name => $price) -> Option B
  4. Quick Check:

    foreach ($arr as $key => $value) for associative arrays [OK]
Hint: Use foreach ($arr as $key => $value) to access associative arrays [OK]
Common Mistakes:
  • Swapping key and value variables in foreach
  • Using incorrect foreach syntax with two variables separated by comma
  • Misusing array_filter with wrong callback parameters
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard