有人可以解释我这个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