2012-07-27 52 views
-4

我有一个问题,我得到一个错误与此代码:注意:未定义抵消:1 /somepath/index.php线115

<td><?=$datas[$i]['devicename']?></td> 

这是错误我得到:

注意:未定义抵消:1 /somepath/index.php线115

任何一个知道的解决方案,请帮助我。

+0

请发表您的代码。 – 2012-07-27 11:45:11

+0

​​<?= $ datas [$ i] ['devicename']?> – rahul 2012-07-27 11:45:54

+1

试图访问不存在的索引,呃? – asprin 2012-07-27 11:46:49

回答

0

这是一个通知,告诉你,那

$datas[1] 

未设置。使用isset()检查值是否存在。

+0

你应该仍然能够使用PHP代码? 'if(isset($ datas [$ i])&& isset($ datas [$ i] ['devicename'])){ echo $ datas [$ i] ['devicename']; }' – MiDo 2012-07-27 11:58:31

+0

谢谢mido ....我会尝试... – rahul 2012-07-27 12:04:56

1

$datas是一个数组少于两个元素,或关联的数组。请确保它包含了你所期望的值,例如与

var_export($datas); 
0

未定义的偏移量1可能意味着数组$ data没有key = 1,或以其他方式放置它,$ datas [1]不存在。

由于您使用的是$ i,因此可能是在for循环中。你应该发布其余的代码!

EDIT(代码):

$datas = $this->datas; 
for($i = 1; $i<= count($datas);$i++){ 
?> 
<tr><td> 
<?=$datas[$i]['devicename']?> 
</td><td> 
<?=$datas[$i]['unique_id']?> 
</td></tr> 

请添加到您的代码(后$datas = $this->datas;),它展现给我们。

var_dump($datas) 

(虽然从我的头顶,你应该从0开始计数$我,因为PHP数组的键从0喜欢这个 - >for($i = 0; $i<= count($datas);$i++){开始)

+0

谢谢tivie ..我明白,我会尝试 – rahul 2012-07-27 11:53:41

+0

$ datas = $ this-> datas; 为($ I = 1; $ I <=计数值($ DATAS); $ I ++){?> \t​​<= $ DATAS [$ i]于[ '设备名']?> \t \t​​<?= $ datas [$ i] ['unique_id']?> rahul 2012-07-27 11:54:24

+0

我也建议通过计数'$ datas'来减少开销,而不是每次循环前进:'<? $ datas = $ this-> datas; $ datas_count = count($ datas); for($ i = 1; $ i <= $ datas_count; $ i ++){?>' – MiDo 2012-07-27 12:05:24