Bird
Raised Fist0
PHPprogramming~5 mins

Array access and modification in PHP

Choose your learning style10 modes available
Introduction

Arrays hold many values in one place. Accessing and changing these values helps you work with data easily.

You want to get a specific item from a list of names.
You need to update a score in a list of game scores.
You want to add a new item to a shopping list.
You want to remove or change an item in a list of tasks.
Syntax
PHP
<?php
// Define an array
$array = ["apple", "banana", "cherry"];

// Access an element by index
$value = $array[1];

// Modify an element by index
$array[1] = "blueberry";
?>

Array indexes start at 0, so $array[0] is the first item.

You can change the value by assigning a new value to the index.

Examples
Prints 10, the first item in the array.
PHP
<?php
// Access first element
$array = [10, 20, 30];
echo $array[0];
?>
Changes "blue" to "yellow" and prints it.
PHP
<?php
// Modify last element
$array = ["red", "green", "blue"];
$array[2] = "yellow";
echo $array[2];
?>
Trying to access an element in an empty array causes an error.
PHP
<?php
// Access empty array
$array = [];
// echo $array[0]; // This will cause an error because the array is empty
?>
Changes the only element from 100 to 200 and prints it.
PHP
<?php
// Modify single element array
$array = [100];
$array[0] = 200;
echo $array[0];
?>
Sample Program

This program shows how to access and change an item in an array. It prints the array before and after the change.

PHP
<?php
// Create an array of fruits
$fruits = ["apple", "banana", "cherry"];

// Print original array
echo "Original array:\n";
print_r($fruits);

// Access the second fruit
$second_fruit = $fruits[1];
echo "\nSecond fruit: $second_fruit\n";

// Modify the second fruit
$fruits[1] = "blueberry";

echo "\nModified array:\n";
print_r($fruits);
?>
OutputSuccess
Important Notes

Accessing or modifying an element by index is very fast, usually O(1) time.

Be careful not to access an index that does not exist; it causes errors or warnings.

Use modification when you want to update a value; use array functions if you want to add or remove elements.

Summary

Arrays store multiple values accessible by index starting at 0.

You can get or change values by using the index inside square brackets.

Always check the array size before accessing to avoid errors.

Practice

(1/5)
1. What is the correct way to access the first element of an array $arr in PHP?
easy
A. $arr{0}
B. $arr[1]
C. $arr[0]
D. $arr->0

Solution

  1. Step 1: Understand PHP array indexing

    PHP arrays start at index 0, so the first element is at index 0.
  2. Step 2: Identify correct syntax for array access

    Use square brackets with the index number: $arr[0].
  3. Final Answer:

    $arr[0] -> Option C
  4. Quick Check:

    First element index = 0 [OK]
Hint: First element is always at index 0 in PHP arrays [OK]
Common Mistakes:
  • Using index 1 for first element
  • Using curly braces for array access
  • Using object property syntax
2. Which of the following is the correct way to change the value of the third element in array $arr to 10?
easy
A. $arr(3) = 10;
B. $arr[2] = 10;
C. $arr->2 = 10;
D. $arr{3} = 10;

Solution

  1. Step 1: Identify the index of the third element

    Arrays start at 0, so the third element is at index 2.
  2. Step 2: Use correct syntax to assign value

    Use square brackets with index 2: $arr[2] = 10;.
  3. Final Answer:

    $arr[2] = 10; -> Option B
  4. Quick Check:

    Index 2 for third element assignment [OK]
Hint: Use square brackets and zero-based index to modify array [OK]
Common Mistakes:
  • Using parentheses instead of brackets
  • Using object property syntax
  • Using wrong index number
3. What will be the output of the following PHP code?
$arr = [5, 10, 15];
$arr[1] = $arr[1] + 5;
echo $arr[1];
medium
A. 15
B. 10
C. 20
D. 5

Solution

  1. Step 1: Understand initial array values

    $arr = [5, 10, 15]; so $arr[1] is 10.
  2. Step 2: Calculate new value of $arr[1]

    $arr[1] = $arr[1] + 5 means 10 + 5 = 15.
  3. Final Answer:

    15 -> Option A
  4. Quick Check:

    10 + 5 = 15 [OK]
Hint: Add to existing value using $arr[index] + number [OK]
Common Mistakes:
  • Printing old value without update
  • Adding index instead of value
  • Confusing array indexes
4. Identify the error in the following PHP code snippet:
$arr = [1, 2, 3];
$arr[3] = 4;
echo $arr[3];
medium
A. Accessing an undefined index causes an error
B. Cannot echo array elements directly
C. Syntax error in array declaration
D. Assigning to index 3 adds a new element without error

Solution

  1. Step 1: Check array indexes and assignment

    Array has indexes 0,1,2 initially. Assigning $arr[3] = 4 adds a new element at index 3.
  2. Step 2: Confirm if this causes error

    PHP allows adding new elements by assigning to new indexes without error.
  3. Final Answer:

    Assigning to index 3 adds a new element without error -> Option D
  4. Quick Check:

    PHP arrays auto-expand on new index assignment [OK]
Hint: Assigning new index adds element; no error in PHP [OK]
Common Mistakes:
  • Thinking accessing undefined index causes error
  • Confusing syntax error with runtime behavior
  • Believing echo can't print array elements
5. Given the array $arr = [2, 4, 6, 8];, which code snippet correctly doubles each element's value by modifying the array in place?
hard
A. for ($i = 0; $i < count($arr); $i++) { $arr[$i] *= 2; }
B. $arr = array_fill(0, count($arr), 2 * $arr[0]);
C. array_map(fn($v) => $v * 2, $arr);
D. foreach ($arr as $value) { $value = $value * 2; }

Solution

  1. Step 1: Understand how to modify array elements in place

    Using a for loop with index allows direct modification of each element.
  2. Step 2: Analyze each option

    A: foreach copies values, does not modify original array.
    B: array_fill replaces all elements with same value, incorrect.
    C: array_map returns new array, original unchanged.
    D: for loop modifies $arr[$i] directly.
  3. Final Answer:

    for ($i = 0; $i < count($arr); $i++) { $arr[$i] *= 2; } -> Option A
  4. Quick Check:

    Use indexed loop to modify array elements [OK]
Hint: Use for loop with indexes to change array elements directly [OK]
Common Mistakes:
  • Modifying foreach loop variable instead of array
  • Expecting array_map to change original array
  • Using array_fill incorrectly
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