Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP:具有空值的未识别索引_Php_Null_Notice - Fatal编程技术网

PHP:具有空值的未识别索引

PHP:具有空值的未识别索引,php,null,notice,Php,Null,Notice,我什么都试过了,但就是没办法让这个通知消失 我有一个文本输入,它显示了从数据库获取的$variable的内容,该内容的值为NULL或整数值 当该值为NULL时,我使用它,我得到未识别索引的1错误 if(isset($data['variable'])) { $variable = $data['variable']; } else { $variable = numberFormat($data['variable']); } if($data['variable'] == NULL) {

我什么都试过了,但就是没办法让这个通知消失

我有一个
文本输入
,它显示了从数据库获取的
$variable
的内容,该内容的值为NULL或整数值

当该值为NULL时,我使用它,我得到未识别索引的1错误

if(isset($data['variable'])) { $variable = $data['variable']; }
else { $variable = numberFormat($data['variable']); } 
if($data['variable'] == NULL) { $variable = $data['variable']; } 
else { $variable = numberFormat($data['variable']); }
当该值为NULL时,我使用它,我会得到未识别索引的2个错误

if(isset($data['variable'])) { $variable = $data['variable']; }
else { $variable = numberFormat($data['variable']); } 
if($data['variable'] == NULL) { $variable = $data['variable']; } 
else { $variable = numberFormat($data['variable']); }

有谁能解释一下如何摆脱这些“通知”?谢谢大家!

您可能需要查看
$data
变量是否可用。如果该值为null,则无法访问不存在的变量中的元素

if (isset($data)) {
    if(isset($data['variable'])) { $variable = $data['variable']; }
    else {
        //THIS MAKES NO SENSE. $data['variable'] does not exist.
        //$variable = numberFormat($data['variable']);
        //You can put something else in here, however
        $variable = "";
    } 
}

其次,当数据不存在时访问它是没有意义的,因为。。。我不存在

您可能需要查看
$data
变量是否可用。如果该值为null,则无法访问不存在的变量中的元素

if (isset($data)) {
    if(isset($data['variable'])) { $variable = $data['variable']; }
    else {
        //THIS MAKES NO SENSE. $data['variable'] does not exist.
        //$variable = numberFormat($data['variable']);
        //You can put something else in here, however
        $variable = "";
    } 
}

其次,当数据不存在时访问它是没有意义的,因为。。。我不存在

我想,
$data['variable']
不存在。在第二个示例中,由于未使用可处理未设置变量的
isset()
,因此出现了2个错误

我想,
$data['variable']
不存在。在第二个示例中,由于未使用可处理未设置变量的
isset()
,因此出现了2个错误

null
值不会从MySQL数据库中检索,因此不会设置任何可能包含值的变量

在您的第一个代码片段中,您正在为此进行测试,但请继续并分配值,这样您就会收到通知

if(isset($data['variable'])) {
  $variable = $data['variable'];
} else { 
  $variable = numberFormat($data['variable']); // Test for isset() fails, code comes here.
} 

您需要在
else
子句中为$variable分配一些有意义的内容,因为未设置
$data['variable']

null
值不会从MySQL数据库中检索,因此可能包含一个值的任何变量都不会设置

在您的第一个代码片段中,您正在为此进行测试,但请继续并分配值,这样您就会收到通知

if(isset($data['variable'])) {
  $variable = $data['variable'];
} else { 
  $variable = numberFormat($data['variable']); // Test for isset() fails, code comes here.
} 
您需要在
else
子句中为$variable分配一些有意义的内容,因为未设置
$data['variable']

试试看

$variable = (isset($data['variable'])) ? $data['variable'] : 0;
试一试



当您已经确定该索引不存在时,为什么要尝试对该索引的值进行操作?numberFormat是您自己的函数吗?你能把密码寄出去吗?或者你是说数字格式?我觉得很清楚<如果指定的元素不存在,则code>isset()返回
false
。但是如果数组也不存在,它会给您错误(因为您试图从一个不存在的变量访问一个元素)。首先检查数组是否存在,然后检查元素是否存在
if(isset($data)&&isset($data['variable']){/*做你的事*/}
。而且第一个脚本看起来很奇怪<代码>如果(isset($data['variable']){/*此处$data['variable']存在*/}否则{/*此处$data['variable']不存在,为什么要尝试读取它?*/}。当您已经确定它不存在时,为什么要尝试对该索引处的值进行操作?numberFormat是您自己的函数吗?你能把密码寄出去吗?或者你是说数字格式?我觉得很清楚<如果指定的元素不存在,则code>isset()返回
false
。但是如果数组也不存在,它会给您错误(因为您试图从一个不存在的变量访问一个元素)。首先检查数组是否存在,然后检查元素是否存在
if(isset($data)&&isset($data['variable']){/*做你的事*/}
。而且第一个脚本看起来很奇怪<代码>如果(isset($data['variable']){/*此处$data['variable']存在*/}否则{/*此处$data['variable']不存在,为什么要尝试读取它?*/}。谢谢Kirk,但是$data变量是可用的。这是一个
mysql\u fetch\u数组
,我在此之前用来获取以前的信息。@bryan抱歉,我错过了第二部分。更新了我的答案。为什么这毫无意义?它确实存在,只是没有价值。我希望输入框不显示任何内容(NULL),或者格式化变量所包含的整数。@bryan您可以在
$variable
变量中添加其他内容。我更新了代码以放入一个空字符串。谢谢Kirk,但是$data变量是可用的。这是一个
mysql\u fetch\u数组
,我在此之前用来获取以前的信息。@bryan抱歉,我错过了第二部分。更新了我的答案。为什么这毫无意义?它确实存在,只是没有价值。我希望输入框不显示任何内容(NULL),或者格式化变量所包含的整数。@bryan您可以在
$variable
变量中添加其他内容。我更新了代码以放置一个空字符串。它被设置,它只在数据库中保存一个空值。不返回空值。它没有被设置。它被设置了,它只是在数据库中保存一个空值。不返回空值。还没定。