php foreach 怎么使用条件语句
PHP 4 引入了 foreach 结构,和 Perl 以及其他语言很像。这只是一种遍历数组简便方法。foreach 仅能用于数组,当试图将其用于其它数据类型或者一个未初始化的变量时会产生错误。有两种语法,第二种比较次要但却是第一种的有用的扩展。
?php
$arr = array(1, 2, 3, 4);
foreach ($arr as $value) {
$value = $value * 2;
}
// $arr is now array(2, 4, 6, 8)
?
PHP中foreach函数用法?
1.foreach(被foreach的对象(一般是数组)as 内容) {
}
例子
$x = array(1,2,3,4,5)
foreach ($x as $y) {
//这里的y依次为1,2,3,4,5
}
2.foreach(被foreach的对象(一般是数组)as index = 内容) {
}
例子
$x = array(1,2,3,4,5)
foreach ($x as $index = $y) {
//这里的y依次为1,2,3,4,5, $index依次为0,1,2,3,4
}
关于PHP中foreach循环修改数组值失效的问题
试试这样
$tmp_data = $this-contracts;
foreach($tmp_data as $k = $v){
$v["khdq"] = $this-getNameById($v["khdq"],"khdq");
}
$this-contracts = $tmp_data;
unset($tmp_data);
foreach($this-contracts as $k = $v){
这样不成功是因为 foreach 此方法仅在被遍历的数组可以被引用时才可用(例如是个变量)。
就是说必须是变量才能在foreach 中传引用
为什么php中foreach(&$v)要加&,我知道是值引用,不过在项目里有什么作用就不知道
如果你想在遍历的时候直接改变数组中的值, 就增加引用, 如果只是单纯遍历数组, 可以不用引用
php foreach 二维数组用法
$a=array(array(0,1),array(2,3),array(4,5));
foreach ($a as $k = $v) {
if (is_int($v)) {
echo $v.'br/';
} else if (is_array($v)) {
foreach ($v as $k2 = $v2) {
echo $v2.' ';
}
echo 'br/';
}
}
这里引用一下楼上的方法吧,就是双重循环读取每个数组中值
至于foreach中的$k跟$v是自定义变量,可以用任何合法变量名就可以了,$k代表的是数组中的键,$v代表的是数组中的值,第一个$v是循环出来的一维数组,$v2是一维数组中的每个值