phparrayforeach
㈠ php中foreach函数用法
foreach()两种用:
1:
foreach(array_name
as
$value)
{
statement;
}
array_name要遍历数组名每循环array_name数组前元素值赋给$value,并且数组内部标向移步循环元素
2:foreach(array_name
as
$key
=>
$value)
{
statement;
}
跟第种区别$key,除前元素值赋给$value外前元素键值每循环赋给变量$key键值标值字符串比book[0]=10book[id]="001"id.
㈡ PHP中的函数-- foreach()的用法详解
PHP
4
引入了
foreach
结构,和
Perl
以及其他语言很像。这只是一种遍历数组简便方法。foreach
仅能用于数组,当试图将其用于其它数据类型或者一个未初始化的变量时会产生错误。有两种语法,第二种比较次要但却是第一种的有用的扩展。
复制代码
代码如下:
foreach
(array_expression
as
$value)
statement
foreach
(array_expression
as
$key
=>
$value)
statement
第一种格式遍历给定的
array_expression
数组。每次循环中,当前单元的值被赋给
$value
并且数组内部的指针向前移一步(因此下一次循环中将会得到下一个单元)。
第二种格式做同样的事,只除了当前单元的键名也会在每次循环中被赋给变量
$key。
自PHP
5
起,还可能遍历对象。
注意:当
foreach
开始执行时,数组内部的指针会自动指向第一个单元。这意味着不需要在
foreach
循环之前调用
reset()。
注意:除非数组是被引用,foreach
所操作的是指定数组的一个拷贝,而不是该数组本身。foreach对数组指针有些副作用。除非对其重置,在
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)
?>
此方法仅在被遍历的数组可以被引用时才可用(例如是个变量)。
复制代码
代码如下:
<?php
foreach
(array(1,
2,
3,
4)
as
&$value)
{
$value
=
$value
*
2;
}
?>
㈢ php array foreach array_unshift 结果求解
array_unshift这个函数是在数组的头部插入,第一次插入的是1,所以数组的值是1;第二次又在头部插入,数组变成2,1, 依次类推 最后就是5,4,3,2,1
㈣ php代码foreach ($res AS $row)什么意思
php代码foreach ($res AS $row) 意思是:
每进行一次循环迭代,$res数组元素的值就会被赋值给 $row变量,并且数组指针会逐一地移动,直到到达最后一个数组元素。
例如:
<?php
$colors=array("red","green","blue","yellow");
foreach($colorsas$value){
echo"$value";
}
?>
(4)phparrayforeach扩展阅读:
PHP中数组是非常实用而且方便的一种数据类型,因为其支持键名数组。
foreach语法是专门针对PHP数组进行循环遍历的语法结构。
foreach($array as $value){//循环数组$array 将每个值赋给$value变量
echo $value; //显示
}
比如:
$array = array('a','b','c','d');
foreach($array as $value){
echo $value;
}
运行结果是:abcd。也就是逐个输出数组内的值。
㈤ php foreach数组问题
您好,运行结果没错的。是1、200、200,因为您设置的数组下标为数组自身每个元素的值。不知道您是否理解了?
循环您可以用笨方法理解:
// foreach 遍历开始,只执行了以下两个步骤:
$array["1"] = 200; // 这里会把字符串“1”变成整型 1,这里意思是设置第二个元素的值为200
$array["2"] = 200; // 同理,这里意思是设置第三个元素的值为200
因此最后结果(那个第一个元素没有被改变,因此仍然存在):
㈥ php多维数组foreach取值
可以使用count函数来获取第一维的元素个数
也可以使用count函数的递归形式获取总元素个数
看以下示例:
<?php
$food = array('fruits' => array('orange', 'banana', 'apple'),
'veggie' => array('carrot', 'collard','pea'));
// recursive count
echo count($food, COUNT_RECURSIVE); // output 8
// normal count
echo count($food); // output 2
?>
foreach取出的应该是每个数组元素 你可以使用嵌套的foreach获取每个元素
看以下示例:
$a = array();
$a[0][0] = "a";
$a[0][1] = "b";
$a[1][0] = "y";
$a[1][1] = "z";
foreach ($a as $v1) {
foreach ($v1 as $v2) {
echo "$v2\n";
}
}
㈦ php foreach 用法
楼主你的问题我也遇到过
这是为什么呢?
$a
=
array("1"=>"语文","2"=>"数学","3"=>"英语");
上面这个和下面这个是完全一样的
$a[1]="语文";
$a[2]="数学"
$a[3]=“英语”
楼主我们输出上面的数组是怎么输出的呢?
肯定是echo
$a[1];
对不对?
如果没有疑问我们继续!!!!
------------------------------
不知道foreach楼主有没有完全理解
他的格式是这样的foreach(数组名
as
下标=>值)
下标也就是上面的$a[1],这里的1就是数组的下标!
到这你应该明白了,为什么是$a[$key]这样输出
你记住不管怎么变,数组的输出方法永远是$a[1],不会是$a['语文']
㈧ PHP语言中 foreach 遍历数组用法
第一种格式遍历给定的 $a 数组。每次循环中,当前单元的值被赋给 $b 并且数组内部的指针向前移一步(因此下一次循环中将会得到下一个单元)。
自 PHP 5 起,可以很容易地通过在 $b 之前加上 & 来修改数组的单元。此方法将以引用赋值而不是拷贝一个值。例如:
<?php
$arr = array(1, 2, 3, 4);
foreach ($arr as &$value) {
$value = $value * 2;
}
// $arr is now array(2, 4, 6, 8)
?>
var_mp($arr);#打印$arr看下你就明白了,打印之后你再把&去掉,运行再打印,两次比较就清楚
第二种就是把原$arr中的每个单元重新赋值,上面那样写已经很清楚了,不明白的话,就到网上下载一个php手册,好好看看
㈨ php中可以用foreach遍历2个数组吗
不行,如果两个数组的个数一样的话又有对应关系可以使用下面的方法进行同时遍历
foreach($id as $key=>$sid){
//这里的$key是当前数据在数组中的下标,如果两个数组有统一的下标,那么就可以使用
$tmp = $smyz[$key];
//来访问
}如果下标不统一就没法做了。