一.foreach:
foreach仅能够应用于数组和对象,如果尝试应用于其他数据类型变量,或者未初始化的变量将发出错误消息。有两种语法:
(1)
forerch(array_expression as $value)
statement
(2)
foreach(array_expression as $key => $value)
statement
在这里插入代码片
第一种格式遍历给定的array_expression数组,每次循环中,当前的值被赋给value并且数组内部的指针向前移一步(因此下一次循环中将会得到下一单元).第二种格式做同样的事,只出了当前单元的键名也会在每次循环中被赋给变量value并且数组内部的指针向前移一步(因此下一次循环中将会得到下一单元).
第二种格式做同样的事,只出了当前单元的键名也会在每次循环中被赋给变量value并且数组内部的指针向前移一步(因此下一次循环中将会得到下一单元).第二种格式做同样的事,只出了当前单元的键名也会在每次循环中被赋给变量key.
注意:遍历数组,就是把每个元素输出来。
<?php
$arr5 = array(5=>'apple',6=>'orange',50,8=>70);
foreach($arr5 as $v){
echo $v .'<br>';
}
exit;
//输出:apple,orange,50,70
在这里插入代码片
第二种:
<?php
$arr5 = array(5=>'apple',6=>'orange',50,8=>70);
foreach($arr5 as $k=>$v){
echo $k . '<br>';
}
exit;
//5,6,7,8
在这里插入代码片
k=键,k=键,k=键,v=值
二。关联数组中的foreach
<?php
$arr[] = 'apple';
foreach($arr as $key => $value){
echo $key .'=>' .$value . '<br>';
}
在这里插入代码片
三。给每个元素提分
<?php
$arr = array('张三'=>50,'赵六'=>60,'孙琪'=>45);
//$arr['张三'] += 10;
//$arr['赵六'] += 10;
//$arr['孙琪'] += 10;
foreach($arr as &$value){
$value += 10;
}
print_r($arr);
在这里插入代码片
这里要使用引用传递
四。unset 取消引用
<?php
$arr = array('张三'=>50,'赵六'=>60,'孙琪'=>45);
//$arr['张三'] += 10;
//$arr['赵六'] += 10;
//$arr['孙琪'] += 10;
foreach($arr as &$value){
$value += 10;
}
unset($value);
在这里插入代码片