PHP基本上就是一种数组语言。时常要进行大量的数组循环操作,主要有两种方式,一种是foreach,另一种是while,到底哪种好哪种坏一直有争 论,虽然我很早就意识到了这个问题,但是一直没有细究,懵懂的感觉一直持续到现在,为了以后能节省点CPU时间,下面总结一下: 在循环里进行的是数组“读”操作,则foreach比while快: foreach ($array as $value) { echo $value; } while (list($key) = each($array)) { echo $array[$...
PHP基本上就是一种数组语言。时常要进行大量的数组循环操作,主要有两种方式,一种是foreach,另一种是while,到底哪种好哪种坏一直有争论,虽然我很早就意识到了这个问题,但是一直没有细究,懵懂的感觉一直持续到现在,为了以后能节省点CPU时间,下面总结一下: 在循环里进行的是数组“读”操作,则foreach比while快: foreach ($array as $value) { echo $value; } while (list($key) = each($array)) { echo $array[$k...
[code]#! /usr/bin/perl use strict; use warnings; my @array; my $i; for($i = 0;$i < 10;++$i) { push(@array,$i); } print "@array\n"; print "temp\tarray\t\t\tvar\n"; foreach my $var (@array) { my $temp = pop @array; print "$temp\t"; print "@array\t\t"; print "$var\n"; } print "\n" [/code]输出: hunter:/opt/tmp # ./array.pl 0 1 2 3 4 5 6 7 8 9 temp array ...
想用foreach()遍历整个二维数组: $book = array('linux服务器配置与管理',$team); foreach($book as $k=>$val) //for $book each $value( as ) echo $k.'=>'.$val.' '; ?> 输出结果是: 0=>linux服务器配置与管理 1=>Array 当然,其实我是想要所有具体内容,而不是输出array。。。 所以应该采用如下做法,加入一个判断语句: $book = array('linux服务器配置与管理',$team); foreach($book as $k=>$val) //...
现在要 foreach 遍历一个数组,同时要取对应的下标, 请教各位大侠 foreach 遍历的时候,是不是顺序的?下面这种写法能行吗? foreach $item (@list) { printf("%d -> $item\n", $i++); } ------------------------------------------ 标准答案在9楼。谢谢关注。 [ 本帖最后由 yjh777 于 2009-10-14 13:00 编辑 ]
有如下代码, @newhash = ( {a,1},{b,2} ); my ($newkey,$newvalue) = each %{$newhash[0]}; print "$newkey,$newvalue\n"; print "ok\n"; foreach my $newnewhash (@newhash) { my ($key1,$value1) = each %{$newnewhash}; print "$key1,$value1\n"; } 其输出结果是 a,1 ok , b,2 本意是 希望在 在foreach中输出@newhash全部匿名hash引用的值,即 a,1 ok a,1 b,2 但为何少输出了一部分? 如果#掉第一个my,则后面可...
处理mysql_fetch_assoc返回来的数组 不用foreach----echo [code]1 $id = intval($_GET['id']); 2 $row = $db->getResult($db->query("select * from ".$t."product where id=$id;")); 3 $rows = $row[0];//处理mysql_fetch_assoc返回来的数组 不用foreach----echo! [/code]