php foreach怎么用?-PHP问题

资源魔 47 0

正在php中foreach语句为数组或工具荟萃中的每一个元素反复一个嵌入语句组,用于轮回拜访荟萃以猎取所需信息,不该用于更改荟萃内容以免孕育发生不成预知的反作用。其语法为“foreach(数组 as 变量)轮回体”。

foreach 语句为数组或工具荟萃中的每一个元素反复一个嵌入语句组。foreach 语句用于轮回拜访荟萃以猎取所需信息,但不该用于更改荟萃内容以免孕育发生不成预知的反作用。

可以使用的编程言语种别:Java、C#、PHP、D言语(Phobos库)。

foreach语句是c#中新增的轮回语句,他关于解决数组及荟萃等数据类型特地不便。

foreach语句的普通语法格局以下:

foreach(数据类型 标识符 in 表白式)
{
轮回体2
}。

php 4 引入了 foreach 构造,以及 Perl 和其余言语很像。这只是一种遍历数组简捷办法。foreach 仅能用于数组,当试图将其用于其它数据类型或许一个未初始化的变量时会孕育发生谬误。有两种语法,第二种比拟主要但倒是第一种的有用的扩大。

foreach (array_expression as $value) statement

第一种格局遍历给定的 array_expression 数组。每一次轮回中,以后单位的值被赋给 $value 而且数组外部的指针向前移一步(因而下一次轮回中将会失去下一个单位)。

foreach (array_expression as $key => $value) statement

第二种格局做一样的事,只除了了以后单位的键名也会正在每一次轮回中被赋给变量 $key。

自php 5 起,还可能遍历工具。注: 当 foreach 开端执行时,数组外部的指针会主动指向第一个单位。这象征着没有需求正在 foreach 轮回以前挪用 reset()。

注: 除了非数组是被援用,foreach 所操作的是指定命组的一个拷贝,而没有是该数组自身。因而数组指针没有会被 each() 构造扭转,对前往的数组单位的修正也没有会影响原数组。不外原数组的外部指针确实正在解决数组的进程中向前挪动了。假设 foreach 轮回运转到完结,原数组的外部指针将指向数组的末端。

自 php 5 起,能够很容易地经过正在 $value 以前加之 & 来修正数组的单位。此办法将以援用赋值而没有是拷贝一个值。

<?php
$arr = array(1, 2, 3, 4);
foreach ($arr as &$value) {
    $value = $value * 2;
}
// $arr is now array(2, 4, 6, 8)
?>

此办法仅正在被遍历的数组能够被援用时才可用(例如是个变量)。

注: foreach 没有支持用“@”来克制谬误信息的才能。

用户可能留意到了如下的代码性能齐全相反:

<?php
$arr = array("one", "two", "three");
reset($arr);
while (list(, $value) = each($arr)) {
 echo "Value: $value<br>/n";
}foreach ($arr as $value) { 
echo "Value: $value<br />/n";
}
?>

如下代码性能也齐全相反:

<?php
$arr = array("one", "two", "three");
reset($arr);
while (list($key, $value) = each($arr)) { 
echo "Key: $key;
 Value: $value<br />/n";
}foreach ($arr as $key => $value) { 
echo "Key: $key; 
Value: $value<br />/n";
}
?>

保举教程:《php教程》

以上就是php foreach怎样用?的具体内容,更多请存眷资源魔其它相干文章!

标签: php php教程 foreach php故障解决 php使用问题

抱歉,评论功能暂时关闭!