有人可以解釋我這個while循環嗎?有人可以解釋我這個while循環爲PHP?
while (list($key, $value) = each($HTTP_GET_VARS)) {
$get_url .= $key . '=' . $value . '&';
}
我知道它的愚蠢,但多次愚蠢的事情,使巨大的差異....
有人可以解釋我這個while循環嗎?有人可以解釋我這個while循環爲PHP?
while (list($key, $value) = each($HTTP_GET_VARS)) {
$get_url .= $key . '=' . $value . '&';
}
我知道它的愚蠢,但多次愚蠢的事情,使巨大的差異....
$HTTP_GET_VARS
是一個不建議使用的數組,其中包含查詢字符串中傳遞的參數。 each()
是一個函數,它遍歷數組並返回由數組的「當前」元素的鍵和值組成的數組。 list()
是一種語言結構,它將分配給它的數組分解爲傳遞給它的變量。
當達到數組末尾時,each()
返回一個假值,導致循環退出。
循環遍歷數組$ HTTP_GET_VARS中的每個HTTP GET參數對,按照該順序將該對的邊分配給兩個變量$ key和$ value。
賦值'返回'它的值,因此,在數組末尾,each()將返回false,儘管賦值會導致while條件中止。
在循環內部,$ key和$ value中的每一個都被附加到字符串$ get_url並帶有一些格式。
each()函數返回給定數組的當前鍵和值,然後將數組指針(當前項)向前移動一個。
因此,多次調用它是按順序遍歷數組中的項的一種方法,並且當到達最後時,each()會停止返回一個值。
列表()不是函數而是語言結構;這是一次設置多個變量的捷徑。在示例中,它將$ key設置爲由each()(當前鍵)返回的數組中的第一個值,將$ value設置爲第二個值(當前值)。
該代碼段存在許多問題。
看起來像一個古老的userland實現['http_build_query'(http://de2.php.net/manual/de/function.http-build-query.php)給我 – Gordon 2010-06-23 06:49:34
+1 eggjactly的.. .. :) – 2010-06-23 06:59:57