我越來越:未定義的偏移誤差,但是偏移不是未定義
Notice: Undefined offset: 0
在我的代碼
,不過,我可以的print_r我試圖得到其明確定義的元素。
function get_members($entries_found) {
$members = $entries_found[0]['member'];
...
}
如果我print_r($ members)得到預期的輸出,但是我仍然收到通知。
任何線索?
我越來越:未定義的偏移誤差,但是偏移不是未定義
Notice: Undefined offset: 0
在我的代碼
,不過,我可以的print_r我試圖得到其明確定義的元素。
function get_members($entries_found) {
$members = $entries_found[0]['member'];
...
}
如果我print_r($ members)得到預期的輸出,但是我仍然收到通知。
任何線索?
做
var_dump($entries_found);
要檢查陣列確實有一個爲0偏移。其他的事情你可以嘗試將正在重置數組指針
reset($entries_found);
檢查
如果它被設置第一
if (isset($entries_found[0]['member'])) // do things
如果一切都失敗了,你可以只剿與
$members = @$entries_found[0]['member'];
我的通知真的不知道$entries_found
在訪問get_members
時發生了什麼
但我有同樣的問題。 print_r
和var_dump
給我看,該指標存在,但是當我試圖訪問它,我得到了offset error
在我來說,我解碼的JSON字符串json_decode
而不設置assoc
標誌。
// Not working
$assocArray = json_decode('{"207":"sdf","210":"sdf"}');
echo $assocArray[207];
// working witht the assoc flag set
$assocArray = json_decode('{"207":"sdf","210":"sdf"}', true);
echo $assocArray[207];
得到了我的解決辦法從這裏:Undefined offset while accessing array element which exists
執行行號匹配的通知。它可能在你的代碼中的其他地方。 'print_r'輸出可能會有所幫助。 – 2010-07-09 02:22:36
嘗試var_dumping它以確保0是一個int而不是'0' – 2010-07-09 02:22:53
行號與錯誤消息匹配。肯定是$ members = ...這一行引發了這個錯誤。我已經發表評論來證實這一點。 print_r輸出我期待的數組。由於它包含敏感信息,因此我無法將其粘貼到此處。 0肯定是一個int而不是'0'。 – khendar 2010-07-09 03:35:11