2010-11-09 36 views
1

我有一個問題,我得到一個錯誤與此代碼:注意:未定義抵消:1 /somepath/index.php在線14

$totalpages = substr($totalpages[1],0,1); 

奇怪的是,代碼工作?

這是錯誤我得到:

Notice: Undefined offset: 1 /some/spath.php on line XX</code> 
+1

? – theazureshadow 2010-11-09 18:09:56

+0

我沒有計算任何東西,第一個字符是一個整數的字符串,我想要一個變量。 – 2010-11-09 18:27:50

+0

您似乎認爲E_NOTICE表示不乾淨的代碼。情況並非一定如此。 – ceejayoz 2010-11-09 18:28:40

回答

2
if (isset($totalpages[1])) 
    $totalpages = substr($totalpages[1],0,1); 

檢查is_array($totalpages) ...
ini_set('error_reporting', E_ALL & ~E_NOTICE);
更多細節順便說一句,你得到的通知 - 不是錯誤。這就是爲什麼你的代碼仍然有效。

+0

啊我執行代碼兩次,它是在一個for循環。我沒有注意到這一點。第一個循環很順利,第二個循環不起作用。固定! Thnx傢伙。 – 2010-11-09 18:50:45

2

ü應在error reporting

+0

我的目的不是擺脫通知,而是阻止它。我想幹淨的代碼。 – 2010-11-09 18:18:31

+0

測試is_array,是的,它是一個數組。它返回true。 – 2010-11-09 18:24:10

+0

其他用戶建議進一步檢查isset($ totalpages [1]) – ajreal 2010-11-09 18:25:37

1

設置總頁數的任何值將其設置爲前,將其設置爲一個陣列$totalpages=array();或抑制什麼是你想計算警告$totalpages = substr(@$totalpages[1],0,1);

+0

這是一個數組,它具有爆炸功能:) 我將首先嚐試將其設置爲數組。 我的目的不是擺脫通知,而是阻止它。我想幹淨的代碼。 – 2010-11-09 18:19:23