[英]Could someone explain me this while loop for PHP?
有人可以解釋一下這個while循環嗎?
while (list($key, $value) = each($HTTP_GET_VARS)) {
$get_url .= $key . '=' . $value . '&';
}
我知道它很愚蠢,但很多時候愚蠢的事情會產生很大的不同。
$HTTP_GET_VARS
是已棄用的數組,其中包含在查詢字符串中傳遞的參數。 each()
是一個遍歷數組並返回一個包含鍵和數組“當前”元素值的數組的函數。 list()
是一種語言構造,它將分配給它的數組分解為傳遞給它的變量。
當到達數組的末尾時, each()
返回一個假值,導致循環退出。
each ()函數返回給定數組的當前鍵和值,然后將數組指針(當前項)向前移動一個。
因此,多次調用它是一種順序遍歷數組中各項的方法,當到達末尾時,each()只是停止返回值。
list ()不是函數,而是語言構造; 這是一次設置多個變量的快捷方式。 在發布的示例中,將$ key設置為each()返回的數組中的第一個值(當前鍵),將$ value設置為第二個值(當前值)。
該代碼段存在許多問題。
循環遍歷數組$ HTTP_GET_VARS中的每對HTTP GET參數,並按該順序將對的兩側分配給兩個變量$ key和$ value。
賦值“返回”其值,因此,在數組的末尾,each()將返回false,盡管賦值將導致while條件中止。
在循環內部,每個$ key和$ value都會以某種格式附加到字符串$ get_url中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.