怎么把mysql_fetch_array得到的结果,变成一维数组
我用2个FOREACH提示我Warning:Invalidargumentsuppliedforforeach()这样的错误$sql=mysql_query("selec...
我用2个FOREACH提示我Warning: Invalid argument supplied for foreach()这样的错误
$sql = mysql_query("select * from `sdb_order_items` where `order_id`='20090312137181'");
while($row = mysql_fetch_array($sql,MYSQL_ASSOC)){
foreach($row as $k=>$v){
foreach($v as $key=>$value){
echo $key."-----".$value."<br />";
}
}
为什么在循环外面不能输出$arr?
$sql = mysql_query("select * from `sdb_order_items` where `order_id`='20090312137181'");
$arr = array();
while($row = mysql_fetch_assoc($sql)){
foreach($row as $k=>$v){
$arr = $v;
print_r($arr); //这里输出正常
}
}
print_r($arr);// 这里输出没值 展开
$sql = mysql_query("select * from `sdb_order_items` where `order_id`='20090312137181'");
while($row = mysql_fetch_array($sql,MYSQL_ASSOC)){
foreach($row as $k=>$v){
foreach($v as $key=>$value){
echo $key."-----".$value."<br />";
}
}
为什么在循环外面不能输出$arr?
$sql = mysql_query("select * from `sdb_order_items` where `order_id`='20090312137181'");
$arr = array();
while($row = mysql_fetch_assoc($sql)){
foreach($row as $k=>$v){
$arr = $v;
print_r($arr); //这里输出正常
}
}
print_r($arr);// 这里输出没值 展开
展开全部
mysql_fetch_array() 函数返回一行记录的一维数组,并把指针移动到下一行,所以它的运行结果本身就是一维数组:
字段和数字索引同时存在:
Array
(
[0] => 1
[id] => 1
[1] => 文章标题
[title] => 文章标题
}mysql_fetch_array()相当于是mysql_fetch_assoc()和mysql_fetch_row()两者的合并:
mysql_fetch_assoc()的结果是以字段名称为下标:
Array
(
[id] => 1
[title] => 文章标题
}mysql_fetch_row()的结果是以数字为下标:
Array
(
[0] => 1
[1] => 文章标题
}综合上述,mysql_fetch_array是一维数组,如果想单纯的使用下标关联数组就使用mysql_fetch_assoc,这样也可以减少内存开销。
展开全部
while($row = mysql_fetch_assoc($sql)){
foreach($row as $k=>$v){
$arr = $v; //注意此处赋值错误,应为$arr[]=$v; 你不是说赋值给一维数组吗,你的赋值是赋值给了变量,不是数组.
print_r($arr); //这里输出正常
}
}
print_r($arr);// 这里输出没值
foreach($row as $k=>$v){
$arr = $v; //注意此处赋值错误,应为$arr[]=$v; 你不是说赋值给一维数组吗,你的赋值是赋值给了变量,不是数组.
print_r($arr); //这里输出正常
}
}
print_r($arr);// 这里输出没值
更多追问追答
追问
怎么让循环外面的$arr也同样有值?
追答
你把赋值语句改成,$arr[]=array($v[id],依次写出) ,估计就有值了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
$sql = mysql_query("select * from `sdb_order_items` where `order_id`='20090312137181'");
$arr = array();
//单条数据查询 一维数组
$arr =mysql_fetch_row()($sql);
//多条数据查询 二维数组
while($row = mysql_fetch_array($sql)){
$arr[]= $row;
}
}
print_r($arr); //这里输出正常
$arr = array();
//单条数据查询 一维数组
$arr =mysql_fetch_row()($sql);
//多条数据查询 二维数组
while($row = mysql_fetch_array($sql)){
$arr[]= $row;
}
}
print_r($arr); //这里输出正常
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
循环只在内部 ,在外部又循环不了
追问
那怎么把循环的值赋给一个变量,让这个变量在外面可以查看
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询