簡體   English   中英

php array_key_exists,!empty和isset無緣無故失敗?

[英]php array_key_exists, !empty and isset fails for no reason?

ubuntu 16.0.4 LTS上的php 7.0.8可能會給我一個提示,為什么當鍵明顯存在時,數組鍵檢查會失敗,程序執行只是停止,即使啟用了所有錯誤報告也沒有解釋。

數組元素中保存的數據類型是一個字符串,其中包含從fedora網站https://torrents.fedoraproject.org/下載的種子文件。

其他功能也會在這里失敗,例如數組鍵上的!empty

在這種情況下,鍵為0

if(array_key_exists($index, $this->_webpage)){
            return $this->_webpage[$index];
        }else{
            /* throw notice */
            trigger_error("Array index is out of range. Can not get webpage.", E_USER_NOTICE);
            return FALSE;
        }

注意:iv使用相同的功能來檢查網頁是否已下載,並且可以在同一系統上正常工作,即只是將torrent解析添加到我的應用程序中

摘要 array_key_exists肯定會告訴你,如果一個關鍵的陣列中的存在,而如果鍵/變量存在,如果變量是一個空字符串,假的是不為null, 返真isset只會返回true,陣列(),NULL, “ 0?,0和一個未設置的變量

更多細節

isset()

從PHP手冊– isset():

isset —確定是否設置了變量並且不為NULL

換句話說,僅當變量不為null時,它才返回true。

空()

從PHP手冊– empty():

empty —確定變量是否為空

換句話說,如果變量為空字符串,false,array(),NULL,“ 0”,0和未設置的變量,則它將返回true。

也是空的()如果變量不存在不產生警告。

array_key_exists

從PHP手冊– array_key_exists():

檢查給定鍵或索引在數組中是否存在

因此,如果在數組中設置了給定鍵,則array_key_exists()返回TRUE。 鍵可以是數組索引的任何可能值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM