代码点火器/ PHP - 未定义的索引?对某人来说很容易

时间:2010-09-30 16:19:04

标签: php codeigniter

这可能很明显,但我收到了这个错误:

A PHP Error was encountered

Severity: Notice

Message: Undefined index: outputcards

Filename: controllers/site.php

Line Number: 49

这是有问题的一行:

$out['outputcards'] .= $this->load->view('client_view_data',$data, TRUE);

位于for循环中,并在视图中用作echo $ outputcards。

一切正常,但错误在顶部。

有什么想法吗?

谢谢!

4 个答案:

答案 0 :(得分:3)

您正在将新数据连接到$out['outputcards'],但是第一次执行此操作时,$out['outputcards']可能尚不存在。因此,如果您有一个名为$out的数组,在开始包含该代码的循环之前,只需执行$out['outputcards'] = "";(假设您正在连接字符串)

答案 1 :(得分:1)

我遇到了同样的问题,但在我的情况下,我正在检查数组中是否存在特定索引,所以我的初始代码如下:

if ($arr_name[$key] != "")

这曾经给我错误的'Undefined Index:'。我后来使用array_key_exists检查密钥是否存在&这解决了问题。警告消失了。

if (array_key_exists($key, $arr_name))

答案 2 :(得分:0)

在那之前,只需添加

$out = array();
$out['outputcards'] = '';

应该把它敲掉。 或者如果你是懒惰的(我不建议或钦佩这个),请放置一个@ infront行

@$out['outputcards'] .= $this->load->view('client_view_data',$data, TRUE);

答案 3 :(得分:0)

我有同样的问题,在我的情况下是因为我有一个多维数组,所以当你尝试引用该项时,它位于其上的另一个数组内。

发出此错误是因为该数组中不存在索引。

尝试使用print_r输出数组以查看数组的结构。