正在学习PHP,写了几行代码总是出错,但是换一种方式就不出错了....求解释。。。。。

2011-03-16 12:39:05 +08:00
 yaocaptain
代码如下,把run()方法里面的foreach语句换成for就不会错了,但是foreach为什么会错我没搞懂:
<html>
<body>
<p>
<?php
//连接数据库
function db_connect(){
$result=new mysqli('localhost','***','******','*****');
if(!$result){
echo 'could not connect to db<br/>';
return false;
}else
return $result;
}
function get_lists(){
$db=db_connect();
$lists=array();
$query="select a ,b from a_table ";
$result=$db->query($query);
for($i=0;$i<$result->num_rows;$i++){
$row=$result->fetch_assoc();
array_push($lists,$row);
}
return $lists;
}

function run(){
$lists=get_lists();

foreach($lists as $e){
$e['c']=1;
}

// for($i=0;$i<sizeof($lists);$i++){
// $lists[$i]['c']=1;
// }
foreach($lists as $a){
echo $a['c']."<br/>";//就是这个地方经常跑出问题,说没有'c'这个Index.但是如果不用上面的
} //foreach语句,而是用注释掉的for语句的话就没有问题了

}

run();
?>
</p>
</body>
</html>
5819 次点击
所在节点    程序员
21 条回复
yokle
2011-05-04 11:25:59 +08:00
干嘛不直接 fetch_array 出来就是数组。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/9827

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX