Home > DeveloperSection > Forums > Reference - What does this error mean in PHP?
Ankit Singh

Total Post:341

Points:2389
Posted on    April-17-2013 1:38 AM

 MSSQL Server MSSQL Server 
Ratings:


 1 Reply(s)
 1273  View(s)
Rate this:
Hi Everyone!

What is this?

This is a number of answers about warnings, errors and notices you might encounter while programming PHP and have no clue how to fix. This is also a Community Wiki, so everyone is invited to participate in adding to and maintaining this list.

Why is this?

Questions like "Headers already sent" or "Calling a member of a non-object" pop up frequently on StackOverflow. The root cause of those questions is always the same. So the answers to those questions typically repeat them and then show the OP which line to change in his/her particular case. These answers do not add any value to the site because they only apply to the OP's particular code. Other users having the same error can not easily read the solution out of it because they are too localized. That is sad, because once you understood the root cause, fixing the error is trivial. Hence, this list tries to explain the solution in a general way to apply.

What should I do here?

If your question has been closevoted with this list, please find your error message below and apply the fix to your code. The answers usually contain further links to investigate in case it shouldn't be clear from the general answer alone.

If you want to contribute, please add your "favorite" error message, warning or notice, one per answer, a short description what it means (even if it is only highlighting terms to their manual page), a possible solution or debugging approach and a listing of existing Q&A that are of value. Also, feel free to improve any existing answers.

Thanks in advance! 



AVADHESH PATEL

Total Post:604

Points:4228
Posted on    April-17-2013 9:05 AM

Hi Ankit!

Happens when you try to access an array by a key that does not exist in the array.

A typical example for an Undefined Index notice would be (demo)

$data = array('foo' => '42', 'bar');

echo $data['spinach'];

echo $data[1];

Both spinach and 1 do not exist in the array, causing an E_NOTICE to be triggered.

The solution is to make sure the index or offset does exist, either by using array_key_exists orisset prior to accessing that index.

$data = array('foo' => '42', 'bar');

if (array_key_exists('spinach', $data)) {

    echo $data['spinach'];

}

else {

    echo 'No key spinach in array';

}


Don't want to miss updates? Please click the below button!

Follow MindStick