PHP中foreach循环详解

简介:
首先要说的是,其实我对foreach循环的用法并不是很精通,说详解,其实也只是我自己的理解,希望对你能有点帮助 。 ICON
先来看一下foreach的语法:
foreach ($array as $key=>$value)
{
……
}
为了便于理解,我们假定这里的$array是一个一维的相关数组,$key是数组的索引,$value是这个索引的值,它们的名字可以随意,之所以叫$key和$value是为了便于理解。为了能让你更好的理解foreach的工作过程,我们来创建一个数组:
$array = array('first'=>'ibm','second','hp');
现在我们模拟PHP服务用foreach对$array进行遍历:
foreach ($array as $key=>$value)
{
echo $key.'=>'$value;
}
第一次循环,$key = 'first',$value = 'ibm',这个时候,实际foreach对$array执行了一个我们看不见的操作: next($array),将数组指针向前(这里的“向前”跟PHP手册相同,不是我们通常所理解的“向前”)移一。然后echo语句输出" first=>ibm"。
第二次循环,首先会判断数组$array的当前指针是否已经到了数组的末尾,如果是,结束循环,否则进入第二次循环。当然这样的判断在进入第一次循环的时候也会有,如果$array是一个空数组,那么就会直接执行循环下面的语句。此时,$key = 'second','value' = 'hp', next($array)后,输出" second=>hp"。然后进行判断,数组指针已经到达末尾,执行下面的语句。
到这里你应该对foreach循环有所了解了吧?还有一点需要的是,foreach每次只是传递一个值,而不是真的对数组元素进行操作。具体到上面的例子,如果你想在每个数组元素的后面加上 'company' 这个字符串,那么 $value .= 'company'这样的操作是不行的,它并不会改变数组元素的值,这个时候你应该这样用: $array[$key] .= 'company';
太长了,二维或多维数组的用法放在下一篇。



     本文转自wfyang 51CTO博客,原文链接:http://blog.51cto.com/wfyang/10278 ,如需转载请自行联系原作者
相关文章
|
4月前
|
PHP
php的foreach神操作
php的foreach神操作
34 0
|
4月前
|
PHP Python
最新【Python】 实现循环最快的方式_python while循环加速,2024年最新阿里php面试题
最新【Python】 实现循环最快的方式_python while循环加速,2024年最新阿里php面试题
|
1月前
|
Java PHP
从引用计数到循环垃圾回收——解锁PHP高效内存管理的秘密
【8月更文挑战第2天】深入理解PHP中的垃圾回收机制
33 3
|
1月前
|
PHP
php怎么循环读取文件夹里的文件
`DirectoryIterator`类提供了一个接口来遍历文件系统目录。与 `glob`函数相比,使用 `DirectoryIterator`类可以获得更多文件属性信息,如文件大小、修改时间等,从而进行更复杂的文件处理操作。
16 0
|
2月前
|
前端开发 PHP 数据格式
【附带效果视频】php接口给前端返回流式数据,php使用event-stream进行数据推送,循环一次输出一次
【附带效果视频】php接口给前端返回流式数据,php使用event-stream进行数据推送,循环一次输出一次
70 0
|
4月前
|
PHP
从建站到拿站 -- PHP判断循环及函数
从建站到拿站 -- PHP判断循环及函数
29 0
|
11月前
|
PHP 数据库 索引
PHP中的for循环和forEach循环
PHP中的for循环和forEach循环
|
12月前
|
PHP
PHP 循环的中断和中断层数的含义(continue、break)
PHP 循环的中断和中断层数的含义(continue、break)
53 0
|
PHP
PHP - Laravel 视图模板(blade.php) 循环便利
PHP - Laravel 视图模板(blade.php) 循环便利
157 0
下一篇
DDNS