如何避免未定义的索引

时间:2011-07-04 21:34:00

标签: php

如何轻松避免在PHP中收到此错误/通知?

Notice: Undefined index: test in /var/www/page.php on line 21

代码:

$table = 'test';
$preset = array();
method($preset[$table]);

数组$preset存在,但没有指定的索引

3 个答案:

答案 0 :(得分:14)

使用array_key_exists检查是否存在:

$table = 'test';
$preset = array();
if(array_key_exists($table, $preset)) {
    method($preset[$table]);
}else{
    // $table doesn't exist in $preset
}

或者,您可以使用isset

$table = 'test';
$preset = array();
if(isset($preset[$table])) {
    method($preset[$table]);
}else{
    // $table doesn't exist in $preset
}

答案 1 :(得分:3)

使用if (isset($preset[$table]))

答案 2 :(得分:0)

或者您可以使用isset()来检查密钥是否存在。

if ( isset($preset[$table]) )

如果存在则返回true,否则返回false。