How to avoid undefined offset error in PHP ?

The Offset that does not exist in an array then it is called as an undefined offset. Undefined offset error is similar to ArrayOutOfBoundException in Java. If we access an index that does not exist or an empty offset, it will lead to an undefined offset error.

Example: Following PHP code explains how we can access array elements. If the accessed index is not present then it gives an undefined offset error.

filter_none

edit
close

play_arrow

link
brightness_4
code

<?php 
    
// Declare and initialize an array
// $students = ['Rohan', 'Arjun', 'Niharika']
$students = array(
    0 => 'Rohan',
    1 => 'Arjun',
    2 => 'Niharika'
);
   
// Rohan 
echo $students[0];
  
// ERROR: Undefined offset: 5
echo $students[5];
  
// ERROR: Undefined index: key
echo $students[key];
    
?>

chevron_right


Output:

There are some mothods to avoid undefined offset error that are discussed below:



  • isset() function: This function checks whether the variable is set and is not equal to null. It also checks if array or array key has null value or not.

    Example:

    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    <?php 
        
    // Declare and initialize an array
    // $students = ['Rohan', 'Arjun', 'Niharika']
    $students = array(
        0 => 'Rohan',
        1 => 'Arjun',
        2 => 'Niharika'
    );
       
    if(isset($students[5])) {
        echo $students[5];
    }
    else {
        echo "Index not present";
    }
        
    ?>

    chevron_right

    
    

    Output:

    Index not present
  • empty() function: This function checks whether the variable or index value in an array is empty or not.
    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    <?php 
        
    // Declare and initialize an array
    // $students = ['Rohan', 'Arjun', 'Niharika']
    $students = array(
        0 => 'Rohan',
        1 => 'Arjun',
        2 => 'Niharika'
    );
       
    if(!empty($students[5])) {
        echo $students[5];
    }
    else {
        echo "Index not present";
    }
        
    ?>

    chevron_right

    
    

    Output:

    Index not present
  • array_key_exists() function for associative arrays: Associative array stores data in the form of key-value pair and for every key there exists a value. The array_key_exists() function checks whether the specified key is present in the array or not.

    Example:

    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    <?php 
    // PHP program to illustrate the use 
    // of array_key_exists() function
      
    function Exists($index, $array) { 
        if (array_key_exists($index, $array)) { 
            echo "Key Found"
        
        else
            echo "Key not Found"
        
      
    $array = array(
        "ram" => 25, 
        "krishna" => 10, 
        "aakash" => 20
    ); 
      
    $index = "aakash"
      
    print_r(Exists($index, $array)); 
    ?>

    chevron_right

    
    

    Output:

    Key Found



My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.