phpforeach
A. php foreach 数组赋值
<?php
//代码本地已运行过
$arr=array(1,2,2,4);
$uniq_arr
=
array_unique($arr);//第一步先去重,取得最外部需要循环的数组
$i
=
0;
foreach($uniq_arr
as
$key=>$val){//循环去重后的数组
foreach($arr
as
$k=>$v){//循环原生数组
if($key
!=
$k){//判断两次的key是否相等,array_unique,去重后的数组key是不变的
if($val
==
$v){
if(is_array($new_arr[$i])){//判断是否已经是个数组,是就直接追加
array_push($new_arr[$i],$v);
}else{//不是就拼接后再追加
$k_arr
=
array($new_arr[$i]);
array_push($k_arr,$v);
$new_arr[$i]
=
$k_arr;
}
}
}else{//如果key相等直接赋值给新数组
$new_arr[$i]
=
$val;
}
}
$i++;
}
print_r($new_arr);
?>
B. php foreach 循环
sql语句放在循环里面这种是不提倡的,你可以把要插入的数据转换成数组用sql循环插入,至于为什么第一次打印出来有值后面就是NULL。你可以试试在foreach外面声明一个变量例如$data = '';在到循环里面拼接字符串$data .= $data; 然后在打印$data。看看是不是$result数组里面的值就是空的。
C. 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['语文']
D. 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 ($a as $k => $v) { echo "\$a[$k] => $v.\n";}
E. 在PHP中,foreach的解释和应用
foreach 语句
foreach 语句用于循环遍历数组。
每进行一次循环,当前数组元素的值就会被赋值给 value 变量(数组指针会逐一地移动) - 以此类推。
语法
foreach (array as value)
{
code to be executed;
}
例子
下面的例子示范了一个循环,这个循环可以输出给定数组的值:
<html>
<body>
<?php
$arr=array("one", "two", "three");
foreach ($arr as $value)
{
echo "Value: " . $value . "<br />";
}
?>
</body>
</html>
F. PHP中的foreach
我觉得你思路上是不是有点错误在==6时不是停止遍历,而是跳过因为循环一停止就是整个的停止,再开始就是根据条件再次开始了。。。
G. php foreach格式问题
foreach 有两种语法:
第一种
foreach (array_expression as $value)
statement
第二种
foreach (array_expression as $key => $value)
statement
第二种做了和第一种同样的事情,只不过把当前单元的键名也会在每次循环中被赋给变量
$key,至于使用哪种语法,要看你循环的结构体中用没用到下标$key
像你举得例子,没有用到下标,直接使用第一种语法就行啦
H. PHP foreach 嵌套循环
第二个foreach 中的局部变量已经覆盖了第一个foreach 中的 $key,
第二个跟第一个第二个都不会影响,因为属于第一个foreach之外,所有的foreach 循环中产生的变量均是临时变量,退出循环时就会被销毁,所以第三个不会受第一个第二个影响,
把你的第二个foreach 中的$key 换个变量名就不会覆盖了,
I. php foreach问题
兄弟。你改的是有效的,但是,你的修改后的值是存在内存中的,当前的值是已经再你加之前就计算为3和5了,相当于你的这个值现在是生效不了的,只有在下次循环的时候,才能生效,只是我不知道你这样能否理解我说的。和楼上说的一样,
J. 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;
}
?>