• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

PHP foreach循环使用详解与实例代码_php实例

php 搞代码 3年前 (2022-01-25) 18次浏览 已收录 0个评论

foreach基本语法如下:
FOREACH ($array_variable as $value)
{
[code to execute]
}
or *本5文来源gaodai$ma#com搞$$代**码)网@搞代码gaodaima
FOREACH ($array_variable as $key => $value)
{
[code to execute]
}
在这两种情况下,多次[代码执行]将被处死是等于在$ array_variable数组元素的个数。
让我们来看一个例子。假设我们有下面的代码段:

 <BR>$array1 = array(1,2,3,4,5); <BR>FOREACH ($array1 as $abc) <BR>{ <BR>print "new value is " . $abc*10 . "<br>"; <BR>} <BR>


输出结果
new value is 10
new value is 20
new value is 30
new value is 40
new value is 50
foreach循环以上经历了所有5个元素的数组$ array1,每次打印出一份声明中含有10倍的数组元素的值。
foreach作用是遍历当前数组的所有值出来并且赋给$var
官方给出的实例代码:

 <BR><?php <BR>/* foreach example 1: value only */ <BR>$a = array(1, 2, 3, 17); <BR>foreach ($a as $v) { <BR>echo "Current value of \$a: $v.\n"; <BR>} <BR>/* foreach example 2: value (with key printed for illustration) */ <BR>$a = array(1, 2, 3, 17); <BR>$i = 0; /* for illustrative purposes only */ <BR>foreach ($a as $v) { <BR>echo "\$a[$i] => $v.\n"; <BR>$i++; <BR>} <BR>/* foreach example 3: key and value */ <BR>$a = array( <BR>"one" => 1, <BR>"two" => 2, <BR>"three" => 3, <BR>"seventeen" => 17 <BR>); <BR>foreach ($a as $k => $v) { <BR>echo "\$a[$k] => $v.\n"; <BR>} <BR>/* foreach example 4: multi-dimensional arrays */ <BR>$a = array(); <BR>$a[0][0] = "a"; <BR>$a[0][1] = "b"; <BR>$a[1][0] = "y"; <BR>$a[1][1] = "z"; <BR>foreach ($a as $v1) { <BR>foreach ($v1 as $v2) { <BR>echo "$v2\n"; <BR>} <BR>} <BR>/* foreach example 5: dynamic arrays */ <BR>foreach (array(1, 2, 3, 4, 5) as $v) { <BR>echo "$v\n"; <BR>} <BR>?> <BR>


再来看一个foreach 对多维数据操作实例

 <BR>$s = array(array(1,2),array(3,4),array(5,6)); <BR>foreach( $s as $v => $_v ) <BR>{ <BR>foreach( $_v as $vc => $_vc ) <BR>{ <BR>echo $_vc[0],'|'.$_vc[1],'<br />'; <BR>//print_r($_vc); <BR>} <BR>} <BR>


先来看一下foreach的语法:

 <BR>foreach ($array as $key=>$value) <BR>{ <BR>…… <BR>} <BR>


为了便于理解,我们假定这里的$array是一个一维的相关数组,$key是数组的索引,$value是这个索引的值,它们的名字可以随意,之所以叫$key和$value是为了便于理解。为了能让你更好的理解foreach的工作过程,我们来创建一个数组:
$array = array(‘first’=>’ibm’,’second’=>’hp’);
现在我们模拟PHP服务用foreach对$array进行遍历:

 <BR>foreach ($array as $key=>$value) <BR>{ <BR>echo $key.'=>'.$value; <BR>} <BR>


第一次循环,$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’;

更多可以参考:php foreach
php foreach、while性能比较
php 循环


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:PHP foreach循环使用详解与实例代码_php实例
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址