Bird
Raised Fist0
PHPprogramming~10 mins

Associative array creation in PHP - Step-by-Step Execution

Choose your learning style10 modes available
Concept Flow - Associative array creation
Start
↓
Define key-value pairs
↓
Create associative array
↓
Access or use array
↓
End
This flow shows how PHP creates an associative array by defining key-value pairs and storing them together.
Execution Sample
PHP
<?php
$person = ["name" => "Alice", "age" => 30];
print_r($person);
?>
Creates an associative array with keys 'name' and 'age' and prints it.
Execution Table
StepActionKeyValueArray State
1Start array creation[]
2Add key-value pairnameAlice["name" => "Alice"]
3Add key-value pairage30["name" => "Alice", "age" => 30]
4Print array["name" => "Alice", "age" => 30]
5End["name" => "Alice", "age" => 30]
💡 All key-value pairs added; array creation complete.
Variable Tracker
VariableStartAfter 1After 2Final
$personundefined["name" => "Alice"]["name" => "Alice", "age" => 30]["name" => "Alice", "age" => 30]
Key Moments - 2 Insights
Why do keys need to be unique in an associative array?
Because each key identifies one value, if a key repeats, the last value overwrites the previous one. See execution_table step 3 where keys are added uniquely.
Can keys be numbers or only strings?
In PHP associative arrays, keys can be strings or integers. Here, keys are strings as shown in execution_table steps 2 and 3.
Visual Quiz - 3 Questions
Test your understanding
Look at the execution_table, what is the array state after step 2?
A["age" => 30]
B[]
C["name" => "Alice"]
D["name" => "Alice", "age" => 30]
💡 Hint
Check the 'Array State' column in execution_table row with Step 2.
At which step is the key 'age' added to the array?
AStep 1
BStep 3
CStep 2
DStep 4
💡 Hint
Look at the 'Key' column in execution_table to find when 'age' appears.
If we add another pair with key 'name' and value 'Bob', what happens to the array?
AThe value for 'name' will change to 'Bob'.
BThe array will have two 'name' keys.
CAn error occurs because keys must be unique.
DThe array size doubles.
💡 Hint
Recall key uniqueness explained in key_moments and how last value overwrites previous.
Concept Snapshot
Associative arrays store key-value pairs.
Keys are unique strings or integers.
Use ["key" => value] syntax to create.
Access values by keys.
Adding duplicate keys overwrites values.
Full Transcript
This visual trace shows how PHP creates an associative array by adding key-value pairs one by one. We start with an empty array, then add 'name' => 'Alice', then 'age' => 30. Each step updates the array state. Keys must be unique; if a key repeats, the last value replaces the old one. Keys can be strings or integers. The final array holds both pairs and can be printed or accessed by keys.

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