免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 13220 | 回复: 3
打印 上一主题 下一主题

foreach中如何知道当前数组的序号? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-07-05 16:01 |只看该作者 |倒序浏览
foreach循环中,我一直是另外加一个$i,用$i++来获取当前循环到第几个元素了,请问能不能有自带直接的函数取得当前的循环到哪个序号了?

论坛徽章:
0
2 [报告]
发表于 2005-07-05 16:56 |只看该作者

foreach中如何知道当前数组的序号?

key
(PHP 3, PHP 4 )

key -- 从结合数组中取得键名
说明
mixed key ( array array)


key() 返回数组中当前单元的键名。

例子 1. key() 例子

<?php
$array = array (
'fruit1' =>; 'apple',
'fruit2' =>; 'orange',
'fruit3' =>; 'grape',
'fruit4' =>; 'apple',
'fruit5' =>; 'apple'
);

// this cycle echoes all associative array
// key where value equals "apple"
while ($fruit_name = current($array)) {
    if ($fruit_name == 'apple') {
        echo key($array).'<br>;';
    }
    next($array);
}
?>;  



参见 current() 和 next()。

不知道是不是你要的

论坛徽章:
0
3 [报告]
发表于 2005-07-05 23:16 |只看该作者

foreach中如何知道当前数组的序号?

最直接的例子,这里的$key就是你所要找的序号了,但你若指定了key值,就不是默认的,0、1、2。。。。了
<?
$arr = array("f111","m222","333h";
foreach($arr as $key =>; $value){
    echo $key;
}
?>;

其它例子:
你可能注意到了以下的代码功能完全相同:


<?php
$arr = array("one", "two", "three";
reset ($arr);
while (list(, $value) = each ($arr)) {
    echo "Value: $value<br>;\n";
}

foreach ($arr as $value) {
    echo "Value: $value<br>;\n";
}
?>;  


以下代码功能也完全相同:

<?php
reset ($arr);
while (list($key, $value) = each ($arr)) {
    echo "Key: $key; Value: $value<br>;\n";
}

foreach ($arr as $key =>; $value) {
    echo "Key: $key; Value: $value<br>;\n";
}
?>;

论坛徽章:
0
4 [报告]
发表于 2005-07-27 08:06 |只看该作者

foreach中如何知道当前数组的序号?

谢谢大家!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP