如何处理PHP中"Undefined Offset"错误
https://www.w3docs.com/snippets/php/how-to-deal-with-undefined-offset-error-in-php.html
让我们看一个例子。
<?php
/* 声明数组 */
$students = array(
0 => 'Ann',
1 => 'Jennifer',
2 => 'Mary'
);
/* Leyla */
echo $students[0];
/* ERROR: Undefined offset: 5 */
echo $students[5];
/* ERROR: Undefined index: key */
echo $students[key];
?>
下面,我们将向你展示几种避免"Undefined Offset"错误的方法。
使用isset()函数
这个函数检查对应变量是否被定义且不为空。
使用isset函数来避免Undefined Offset的例子如下。
<?php
$students = array(
0 => 'Ann',
1 => 'Jennifer',
2 => 'Mary'
);
if (isset($students[5])) {
echo $students[5];
} else {
echo "索引不存在";
}
?>
输出将显示。
索引不存在
使用empty()函数
empty()函数用于检查一个数组内的变量或索引值是否为空。
下面是一个例子。
<?php
$students = array(
0 => 'Ann',
1 => 'Jennifer',
2 => 'Mary'
);
if(!empty($students[5])) {
echo $students[5];
} else {
echo "索引不存在";
}
?>
输出结果将如下。
索引不存在
使用array_key_exists()函数
该函数用于以键值对形式存储数据的数组。
array_key_exists函数用于检查指定的键是否存在于数组中。
下面是一个例子。
<?php
/* 演示array_key_exists()函数的用途 */
function Exists($index, $array)
{
if (array_key_exists($index, $array)) {
echo "Key Found";
} else {
echo "Key not Found";
}
}
$array = array(
"john" => 25,
"david" => 10,
"jack" => 20
);
$index = "jack";
print_r(Exists($index, $array));
?>
输出结果将是。
Key Found