foreach二维数组($students as $key=>$val)为什么这句要=>$val,不是可以直接数组名 as 键值么,

php学习笔记三:&list、each、foreach的用法
list常和each一起使用
list函数是把数组中的值赋给一些变量,语法如下:
void list ( mixed $varname, mixed
$varname... )
$arr=array(1,2,3);
list($a,$b,$c)=$
"\$a是$a,&br/&\$b是$b,&br/&\$c是$c.&br/&";
$fruit = array('a' =& 'apple', 'b' =&
'banana', 'c' =& 'cranberry');
reset($fruit);
while (list($key, $val) = each($fruit)) {
echo "$key =& $val\n";
a =& apple b =&
banana c =& cranberry
foreach的用法有两种
1:&foreach(array_name&as&$value)
array_name是你要遍历的数组名,每次循环中,array_name数组的当前元素的值被赋给$value,并且数组内部的下标向下移一步,也就是下次循环回得到下一个元素。
2:foreach(array_name&as&$key&=&&$value)
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。php中的foreach($con&as&$id=&$val){}遍历数组函数
从网上看到有个朋友对foreach($con as
$id=&$val){}函数有些不理解,在这里作为一个php菜鸟说下个人理解。
这个输出一下就很明白了:id是循环关键字,val是值,con是数组;
$sql="select * from message order by id desc";
$query=mysql_query($sql);
$con=mysql_fetch_array($query);
这样$con不就是一个数组么,
比如$con=array(array('新闻标题','新闻内容'),array('新闻标题2','新闻内容2'));
这样你循环输出:
foreach($con as $id=&$val){
&&$title=$val[0];
&&$content=$val[1];
就会明白了,$val是$con的值即:array('新闻标题','新闻内容'),array('新闻标题2','新闻内容2')
那么第一次循环的时候,$val为array('新闻标题','新闻内容'),所以$val[0]为新闻标题,$val[1]为新闻内容;
每二次循环的时候,$val为array('新闻标题2','新闻内容2'),所以$val[0]为新闻标题2,$val[1]为新闻内容2;
$con,只有两个数组元素,所以循环两次。
$id为循环关键字,第一次循环时为0,第二次循环时为1。
这下说的够明白了吧 ^.^ ~
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。php中 foreach 中key值的问题,那位高手知道呀_百度知道
php中 foreach 中key值的问题,那位高手知道呀
2'; =& =& =&class_name'foreach($act_typedb as $key =&gt,
' =& '1';1&#39, ' =&; &#39&; array(
' 'activity_num&#39,
'0&#39,
&#39?php$act_typedb=array( '1' =&fb活动';公益活动&#39,); $value) {if ($key ==2)怎么里面的$key 是什么意思了.$key 不是下标吗; =& 'class_id'1&#39,
;2'if_open' &#39,
' =&gt,
' array(
&#39, ); ';class_name' =&gt, );if_open'1&#39?&activity_num'; =& 'class_id'; &#39
提问者采纳
$foreach($a as $key=&&;br/}输出的结果就是0====&$val){
echo $;aaa1====&gt你想知道什么;'bbbb'aaa',1=&'&gt.');====&gt.'&#39,我举个简单的例子吧$a = array(0=&&#39
没有 我现在的 echo $key.'那因该是
你可以输出看看啊,你没有key值,那么数组默认是从0开始,你的应该是0和1我看了你的代码,明白你的意思了你的foreach中的$value也是一个数组,而且是有key值的,你是想用$value里面的key值来和$hlact['classid']比较吧,所以你这个判断是有问题的
我也不明白呀。这个是别人的代码,因为看不懂,所以才请教的。这个代码没有错误。
代码肯定是没有错误的,但是却不是你想的结果,如果你不明白,你加我吧,我详细告诉你
提问者评价
感谢你的热心回答非常谢谢
其他类似问题
按默认排序
其他3条回答
2&#39,分别是&#39。$act_typedb数组下标有2个;1'和'foreach($act_typedb as $key =& $value)这里$key是$act_typedb数组的下标
就是你的数组的下标。'1' =& xxx 中前面的 '1'
一般很少用数字来作为key值的 因为可能跟下标冲突
foreach的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁php foreach() 函数有点不明白。 代码如下 foreach($string as $key =& $val) { .....}_百度知道
php foreach() 函数有点不明白。 代码如下 foreach($string as $key =& $val) { .....}
foreach的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁php中foreach($row as $key=&$val){}函数怎么理解,特别是$key=&$val_百度知道
php中foreach($row as $key=&$val){}函数怎么理解,特别是$key=&$val
提问者采纳
=&gt,值赋给变量$val.$val,'第二次遍历的$key是two,例如 $row=array('}第一次遍历的$key是one'=&$val){
echo $key.'1;;two'2)foreach 可以遍历数组与对象;foreach($row as $key=&--&#39,$val是2,$val是1,它会把当前单元的键名也会在每次循环中被赋给变量 $key
键名就是下标吧?
提问者评价
其他类似问题
按默认排序
其他2条回答
&quot,也就是一个一个摆出来,a
$val就是5,bforeach()就是把这个$row数组的元素遍历出来;那么$key就是1,&b&);=&a&5:$row=array(1=&gt假设
定义数组的时候不是这样定义的吗?array('asd'=&'qeettyyu');foreach每次将$key设为当前元素的键,把$val设为该元素的值。
$key设为当前元素的键就是数组的下标吧?
foreach的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁

我要回帖

更多关于 php数组foreach 的文章

 

随机推荐