‘壹’ php中可以用foreach遍历2个数组吗
不行,如果两个数组的个数一样的话又有对应关系可以使用下面的方法进行同时遍历
foreach($id as $key=>$sid){
//这里的$key是当前数据在数组中的下标,如果两个数组有统一的下标,那么就可以使用
$tmp = $smyz[$key];
//来访问
}如果下标不统一就没法做了。
‘贰’ php中foreach循环语句 如何使用
$conn=mysql_connect("localhost","root","");
mysql_select_db("test");
mysql_query("set names utf8",$conn);
$result=mysql_query("select * from tb_messages");
$result=mysql_query($sql_excel);
while($arr = mysql_fetch_assoc($result)){
$content[]=$arr;
}
$table = '<table>';
$table .= '<thead><tr><th>id</th><th>标题</th><th>电话</th><th>地址</th><th>审核状态</th><th>内容</th><th>留言时间</th></thead>';
$table .= '<tbody>';
foreach($content as $key=>$value){
$table .= "<tr>";
$table .= "<td>".$value['id'].'</td>';
$table .= "<td>".$value['title'].'</td>';
$table .= "<td>".$value['phone'].'</td>';
$table .= "<td>".$value['address'].'</td>';
$table .= "<td>".$value['ischeck'].'</td>';
$table .= "<td>".$value['content'].'</td>';
$table .= "<td>".substr($value['datetime'],0,11).'</td>';
$table .= '</tr>';
}
$table .= '</tbody>';
$table .= '</table>';
echo $table;
‘叁’ php 怎么调用foreach
foreach 是php里用来遍历数组用的
具体用法下
//普通数组
$arr=array(1,2,3,4,5);
foreach($arras$v){
echo$v." ";
}
//键值数组
$arr2=array(
"a"=>1,
"b"=>2,
"c"=>3,
);
foreach($arr2as$k=>$v){
echo$k."==".$v." ";
}
执行结果:
‘肆’ PHP中foreach循环中使用引用要注意的地方
复制代码
代码如下:
foreach
($array
as
&$row)
{
$row
=
explode('/',
$row);
}
foreach
($array
as
$row)
{
//do
something
}
这么写,在第二个循环会出逻辑错误,加入第二个循环中do
something的地方是输出$row,循环到最后一个的时候的输出是倒数第二个元素,而不是最后一个
要这么写
复制代码
代码如下:
foreach
($array
as
&$row)
{
$row
=
explode('/',
$row);
}
unset($row);
foreach
($array
as
$row)
{
//do
something
}
或者第一个循环这么写
复制代码
代码如下:
foreach
($array
as
$key
=>
$row)
{
$array[$key]
=
explode('/',
$row);
}
说一下原理
第一个循环使用了引用,循环结束后,$row引用的是$array数组的最后一个元素,当开始第二个循环的时候,$row变量每次循环都会被赋一个新值,在php中,如果一个内存空间是被引用的,那么当改变它的时候是直接改变这块内存空间的值,也就是说,当第二个foreach的第一次循环,$array的最后一个元素的值就被改变为$array的第一个元素的值,第二次循环的时候,改变为第二个元素的值,倒数第二次循环的时候,被改变为倒数第二个元素值,而最后一次循环的时候得道的值必然是那个倒数第二个值
当然,如果php的for循环有作用域的话,也不会出现此问题.....
‘伍’ PHP函数foreach、each、list的配合用法
第一层
foreach(
$arr
as
$k
=>
$v
)循环读取几个部门
第二层
foreach(
$v
as
$value
)
用于读取出每个部门的组成人员数组
list($key
,
$value)
=
each(
$v
);
用$value变量存储每组单个人员
each用于返回当前元素的键名和键值,并将内部指针向前移动,即组成人员中的单一个人员数组,并指向下一个指针
而再次循环时得的为下一个组成人员
依次类推得得到想要的显示结果
‘陆’ PHP中的foreach
foreach($array as $key)
{
if(xxxx)
{
break; //break 会终止循环
}
if(zzz)
{
continue; //continue 会终止本次循环,此刻会进入下一个循环;
}
}
‘柒’ 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函数用法
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循环读取数组数据的方法
foreach语法结构提供了遍历数组的简单方式。foreach仅能够应用于数组和对象,如果尝试应用于其他数据类型的变量,或者未初始化的变量将发出错误信息。有两种语法:
foreach (array_expression as $value)
statement
foreach (array_expression as $key => $value)
statement
第一种格式遍历给定的array_expression数组。每次循环中,当前单元的值被赋给$value并且数组内部的指针向前移一步(因此下一次循环中将会得到下一个单元)。
第二种格式做同样的事,只除了当前单元的键名也会在每次循环中被赋给变量$key。
范例:
$a=array("one"=>1,"two"=>2,"three"=>3,"seventeen"=>17);foreach($aas$k=>$v){echo"$a[$k]=>$v. ";}
‘拾’ 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;
}
?>