谁能解释一下PHP中的each()函数吗?

[复制链接]
查看11 | 回复5 | 2010-5-20 14:34:44 | 显示全部楼层 |阅读模式
这里我要说一下,为什么是输出3呢,而不是4呢。而那个$slice['value']和$slice[1]输出却是yellow。这是怎么一个顺序呢?不要复制,简单的讲一讲即可。谢谢。

额 这样子的。不好意思哈 。

回复

使用道具 举报

千问 | 2010-5-20 14:34:44 | 显示全部楼层
你这个程序会有输出吗,即使把第一行的<?php改正为<?php,输出也仅仅是:===
===
你定义的数组是colors,而print的是slice,怎么可能有输出呢。 补充:我给你增加一个语句,你运行一下可能就明白所有道理了,代码如下:<?php $colors=array("red","green","blue","yellow"); $slice=each($colors); print_r($slice); print($slice[0]."===".$slice[1]."
\n"); print($slice['key']."===".$slice['value']."<b
回复

使用道具 举报

千问 | 2010-5-20 14:34:44 | 显示全部楼层
each -- 返回数组中当前的键/值对并将数组指针向前移动一步 说明 array each ( array &array ) 返回 array 数组中当前指针位置的键/值对并向前移动数组指针。键值对被返回为四个单元的数组,键名为 0,1,key 和 value。单元 0 和 key 包含有数组单元的键名,1 和 value 包含有数据。 如
回复

使用道具 举报

千问 | 2010-5-20 14:34:44 | 显示全部楼层
这里我要说一下,为什么是输出3呢,而不是4呢。而那个$slice['value']和$slice[1]输出却是yellow。这是怎么一个顺序呢?不要复制,简单的讲一讲即可。谢谢。 对于你这段说明+问题我不懂什么意思,因为我这里就只是输出了:0===red0===red嗯,如果你输出的不是这个,我也没办法了.说说each吧,
回复

使用道具 举报

千问 | 2010-5-20 14:34:44 | 显示全部楼层
each() 函数生成一个由数组当前内部指针所指向的元素的键名和键值组成的数组,并把内部指针向前移动。返回的数组中包括的四个元素:键名为 0,1,key 和 value。单元 0 和 key 包含有数组单元的键名,1 和 value 包含有数据。如果内部指针越过了数组范围,本函数将返回 FALSE。
回复

使用道具 举报

千问 | 2010-5-20 14:34:44 | 显示全部楼层
each()函数返回数组当前键值对,并将指针向前推进一个位置。返回的数组包含四个键,键0和key是包含的(原数组)键名,就像你的例子中$slice[0],$slice['key']它们就是原数组$colors的当前键名——3($colors是索引数组,键为0,1,2,3)。返回的数组,键1和value则是包含了原数组的键值,$slice[1],$slice[
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行