2012-07-27 50 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