> 백엔드 개발 > PHP 튜토리얼 > php foreach循环问题

php foreach循环问题

WBOY
풀어 주다: 2016-06-23 13:49:55
원래의
1113명이 탐색했습니다.

本人是做C#的,闲的时候学学php,可是老是出现问题,比如foreach循环,明明用mysql_fetch_array读取

到了数组,可是foreach循环结果不对,但是while循环可以,请高手指点迷津,以下是简单的代码
$query = "SELECT * FROM mytable";
$result = mysql_query($query);
$rows=mysql_fetch_array($result);
foreach($rows as $val)
{
   姓名:;
   年龄:;
}


回复讨论(解决方案)

mysql_fetch_array 返回的是一维数组,那样遍历自然是不对的。你print_r($rows); 看看就知道了。

mysql_fetch_array 返回的是一维数组,那样遍历自然是不对的。你print_r($rows); 看看就知道了。



这样啊,foreach读取数组还分一维和二维数组吗?

foreach 是对数组的第一维进行循环的
你 $rows=mysql_fetch_array($result); 后 $rows 就是一个一维数组
foreach($rows as $val) 中 $val 是值,而不是数组。不存在 $val['name'] 等

猜测你是想这样:

while($row=mysql_fetch_array($result)){   $rows[] = $row;}foreach($rows as $val){   姓名:<?php echo $val['name'];?>;   年龄:<?php echo $val['age'];?>;}
로그인 후 복사
로그인 후 복사

$rows=mysql_fetch_array($result);
返回的是一维数组吧,不是二维数组,所以这样遍历出问题了

foreach 是对数组的第一维进行循环的
你 $rows=mysql_fetch_array($result); 后 $rows 就是一个一维数组
foreach($rows as $val) 中 $val 是值,而不是数组。不存在 $val['name'] 等



哦哦,谢谢,我又明白了一些

猜测你是想这样:

while($row=mysql_fetch_array($result)){   $rows[] = $row;}foreach($rows as $val){   姓名:<?php echo $val['name'];?>;   年龄:<?php echo $val['age'];?>;}
로그인 후 복사
로그인 후 복사



我想用foreach循环出数据,用foreach还要用while两个循环啊,麻烦

foreach 只能循环数组
你可以用 for 循环

$result = mysql_query($query);for(; $val=mysql_fetch_array($result); ){ ?>   姓名:<?php echo $val['name'];?>;   年龄:<?php echo $val['age'];?>;<?php }
로그인 후 복사
로그인 후 복사
로그인 후 복사

foreach 只能循环数组
你可以用 for 循环

$result = mysql_query($query);for(; $val=mysql_fetch_array($result); ){ ?>   姓名:<?php echo $val['name'];?>;   年龄:<?php echo $val['age'];?>;<?php }
로그인 후 복사
로그인 후 복사
로그인 후 복사


那就是while了。

foreach 只能循环数组
你可以用 for 循环

$result = mysql_query($query);for(; $val=mysql_fetch_array($result); ){ ?>   姓名:<?php echo $val['name'];?>;   年龄:<?php echo $val['age'];?>;<?php }
로그인 후 복사
로그인 후 복사
로그인 후 복사


感谢您的指导,我懂了,这个问题困扰了好久呢,哈哈

$rows=mysql_fetch_array($result); 只拿到一行??,foreach只是循??一行??的每一?字段?容,?不是循?每一???。

所以mysql_fetch_array($result); 必?放在循??中,才能?取到所有??。

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿