PHP 注意未定义索引

WBOY
发布: 2024-08-29 13:00:59
原创
752 人浏览过

注意 PHP 中的未定义索引是当我们尝试访问实际不存在的值或变量时发生的错误。未定义索引是当我们尝试访问不持久的变量时出现的常见错误。例如,我们尝试访问索引的数组实际上并不存在,因此在这种情况下,我们将在 PHP 中得到未定义索引。这里未定义意味着我们还没有定义它的值并尝试访问它。

广告 该类别中的热门课程 PHP 开发人员 - 专业化 | 8 门课程系列 | 3次模拟测试

开始您的免费软件开发课程

网络开发、编程语言、软件测试及其他

PHP 注意未定义索引的语法

在 php 中没有为未定义索引定义这样的语法,因为当我们尝试访问代码中不真正存在的值或变量或没有为它们分配值时,我们会遇到一种错误,我们是尝试在代码中的某个位置访问它的值。

$myarray = array(value1, value2, value3, so on..)
$myarray[value_does_not_exists]
登录后复制

在上面的语法行中,我们尝试通过传递数组中不存在的键来访问数组。所以这会在运行时给我们抛出一个未定义的索引错误。

让我们看一个如何在编程时做到这一点的示例:

代码:

$myarray = array(100, 200, 300, 400)
$myarray[1000]
登录后复制

通过这种方式,我们可以在 PHP 中复制此错误,但可以通过使用 PHP 中的 isst() 方法来防止这种情况,使我们的代码在这种情况下工作。

注意未定义索引在 PHP 中如何工作?

到目前为止,我们知道未定义的索引是一种异常,或者我们可以说 PHP 中的错误。如果我们想要访问程序中并不真正存在的变量,就会发生这种情况。这需要处理;否则,将对我们的申请和终止项目造成严重问题。我们在 PHP 中定义了一些方法来处理程序中的此类错误。

在这里,我们将看到一段示例代码及其工作原理、程序中如何发生以及应如何处理它。

示例:

代码:

<?php
// Your code here!
$myarray = array('200','300','400', '500', '600', '700', '1000');
echo $myarray[4];
echo $myarray['Hello '];
?>
登录后复制

在上面的代码行中,我们创建了一个名为“$myarray”的数组,并使用其中的一些字符串整数初始化了它的值。在第二行中,我们尝试使用分配给它的值来访问数组的变量,并且我们正在使用索引。因此数组中存在索引“4”,因此这一行可以按预期正常工作,但紧接在这一行之后,我们有另一行,我们在其中尝试通过数组元素的键来访问该元素。因此,在这种情况下,我们将收到通知:PHP 中未定义的索引,其中提到了行号。现在我们将了解如何在代码中防止这种情况发生;为此,我们在 PHP 中提供了两种方法,可以在访问数组中的元素或值之前使用它们。

以下是方法:

1. array_key_exists()

此方法用于在访问键值之前检查键是否存在于数组中。当我们尝试访问数组元素但我们对此不确定时,可以使用此方法。因此,在使用变量的值之前,我们可以使用此方法检查元素或键是否存在。

该方法采用两个参数作为输入参数。第一行是键,第二行是数组本身。

让我们看看它的方法语法

签名:

array_key_exists(your_key, your_array)
登录后复制

这里我们传递两个参数,我们传递的键将其检查到整个数组中。它的返回类型是Boolean;如果数组中存在该键,则返回 true,否则如果键不存在,则返回 false。

2.伊塞特()

在访问变量的值之前,此方法还会检查程序中是否设置了变量。它还检查 NULL 变量。它执行两件事;首先检查变量是否已定义,另一个是它不应该为 NULL。

签名:

isset(variables);
登录后复制

在这里我们可以传递我们的变量,我们想在程序中访问它们之前检查它们。该方法的返回类型也是Boolean;如果它找到该变量并且它不为 NULL,那么它将返回与该值一样的 true。如果前面的条件没有指定,则返回 False。

PHP 通知未定义索引的示例

以下是 PHP 通知未定义索引的示例:

示例#1

在此示例中,我们尝试访问不访问数组的键,因此在程序执行时,我们将在 PHP 中收到 Notice Undefined Index 错误。

代码:

<?php
// Your code here!
// creating an array here
$myarray = array(0=>'Hi',1=>'Hello',2=>'To', 3=>'All', 4=>'Stay', 5=>'Safe', 6=>'Enjoy !!');
//try to print values from array
echo $myarray[0]."\n";
echo $myarray[1]."\n";
echo $myarray[2]."\n";
//trying to access the element which does not exists.
echo $myarray['World']."\n";
?>
登录后复制

输出:

PHP 注意未定义索引

Example #2

To prevent this error while occurring in program execution.

Code:

<?php
// Your code here!
// creating an array here
$myarray = array(0=>'Hi',1=>'Hello',2=>'To', 3=>'All', 4=>'Stay', 5=>'Safe', 6=>'Enjoy !!');
//try to print values from array
echo $myarray[0]."\n";
echo $myarray[1]."\n";
echo $myarray[2]."\n";
//trying to access the element which does not exists.
if(array_key_exists('World', $myarray)){
echo "Key exists in array !!";
}else {
echo "Key does not exists in array !! :)";
}
?>
登录后复制

Output:

PHP 注意未定义索引

Conclusion

Notice Undefined Index is a kind of error we got in PHP when we try to access the non-existing element from the array or in our program. One more case is that it can occur when we try to access a NULL value in the program. So we can use two methods, isset() and array_key_exists() methods in PHP, to overcome this error in the application.

以上是PHP 注意未定义索引的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
php
来源:php
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板