转储布尔索引时获取null

时间:2017-02-22 06:19:56

标签: php arrays

当我执行此代码时,我得到NULL而没有任何通知。

 $a = false;
 var_dump($a[5]);

谁可以解释一下?

3 个答案:

答案 0 :(得分:2)

  

尝试访问尚未定义的数组键是   与访问任何其他未定义变量相同:E_NOTICE-level   将发出错误消息,结果将为NULL

     

取消引用标量值的数组,该标量值不是静默的字符串   产生NULL,即不发出错误消息。

请参阅以下详细信息:http://php.net/manual/en/language.types.array.php

答案 1 :(得分:0)

您无法以数组形式访问布尔变量 您正在访问的索引5在$a中不可用,这是您在var_dump中获取null的原因 如果要创建具有布尔值的数组,则可以使用 检查以下代码:

<?php
    $a = array(true, false, true, true, false, false);  
    var_dump($a[5]);
?>

答案 2 :(得分:0)

有两个PHP配置变量控制显示错误消息。

第一个是display_errors。如果设置为On,则错误消息将显示在输出中。

另一个是error_reporting。它定义了要显示的错误的严重性级别。

可以使用ini_set在运行时更改这两个设置。