Bird
Raised Fist0
PHPprogramming~5 mins

Associative array creation in PHP - Time & Space Complexity

Choose your learning style10 modes available
Time Complexity: Associative array creation
O(n)
Understanding Time Complexity

When we create an associative array in PHP, we want to know how the time it takes grows as we add more items.

We ask: How does adding more key-value pairs affect the work done by the program?

Scenario Under Consideration

Analyze the time complexity of the following code snippet.


$assocArray = [];
for ($i = 0; $i < $n; $i++) {
    $assocArray["key" . $i] = $i;
}
    

This code creates an associative array by adding n key-value pairs, where keys are strings and values are numbers.

Identify Repeating Operations
  • Primary operation: Adding one key-value pair to the associative array.
  • How many times: Exactly n times, once per loop iteration.
How Execution Grows With Input

Each new item is added one after another, so the total work grows steadily as we add more items.

Input Size (n)Approx. Operations
10About 10 insertions
100About 100 insertions
1000About 1000 insertions

Pattern observation: The work grows directly in proportion to the number of items added.

Final Time Complexity

Time Complexity: O(n)

This means the time to create the associative array grows linearly with the number of key-value pairs added.

Common Mistake

[X] Wrong: "Adding items to an associative array is instant and does not depend on the number of items."

[OK] Correct: Each insertion takes some time, so more items mean more total work, even if each insertion is fast.

Interview Connect

Understanding how adding items to an associative array scales helps you explain efficiency in real coding tasks and shows you know how data structures behave.

Self-Check

"What if we used numeric keys instead of string keys? How would the time complexity change?"

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