Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/245.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_Arrays - Fatal编程技术网

Php &引用;注意:未定义索引";推送到数组时的某些值

Php &引用;注意:未定义索引";推送到数组时的某些值,php,arrays,Php,Arrays,我正在向数组添加一些带有键的值: public function addData($key, $value){ $this->data[$key] = $value; } //this is line y in another class $dataHolder->addData($FieldNames[$i], $row{$FieldNames[$i]}); 它大部分时间都有效。但有时我会 Notice: Undefined index [keyvalue] in x

我正在向数组添加一些带有键的值:

public function addData($key, $value){
    $this->data[$key] =  $value;
}

//this is line y in another class
$dataHolder->addData($FieldNames[$i], $row{$FieldNames[$i]});
它大部分时间都有效。但有时我会

Notice: Undefined index [keyvalue] in x.php in line y
数组为空,值和键来自数据库表

大多数字段插入时没有任何问题,但有些字段会出现此错误?
你知道为什么它有时会起作用吗?

Delcare
$this->data=array()以上功能


作为空值从数据库传递函数时,可能会发生这种情况。

根据我的说法,如果要在变量中推送元素,必须将该变量定义为数组。必须使用任何循环来推送数组中的值。例如:

public function addData($key,$value)
{
   $array = array();
   for($i=a,$j=0;$j<26;$j++)
   {
    $array[$i]=$array[$j];
   }
}
公共函数addData($key,$value)
{
$array=array();
对于($i=a,$j=0;$j),我发现了问题。
这是一个愚蠢的人为错误

我忘记了我正在使用的表名是硬编码到特定表的。因此,如果我认为我正在使用的表和我实际使用的表具有相同的字段名,那么它是有效的


这里的解决方案是有时休息。

我猜y行不是您向我们展示的那一行。在数组中设置值永远不会产生这样的未定义索引错误,它会创建键或覆盖现有键。y行是什么?有时$key中可能没有值。我不确定为什么会出现这样的通知。它是不应该出现,因为您只是设置值,而不是检索值。您确定检查的行号正确吗。@veelen即使键中没有值,也应该在数组末尾添加新行-例如。@Styphon您完全正确,我太快了。抱歉。为什么需要循环将值推送到数组?Th我的e代码对数据库中的大多数表都很有效,但在某些表中,某些字段会给出提示。我只是假设了一个示例:/I已经用这种方式对数组进行了allready去校验。键或值从不为空。数据库不允许字段为null。