php 数据库中的数组用array 为什么不能读取出来!
php数据库中的数组用array为什么不能读取出来!例如数据库中的数据:"3"=>"1","2"=>"1","1"=>"1"循环读取只能读取一组数据,怎么才能一条条循环出...
php 数据库中的数组用array 为什么不能读取出来!
例如数据库中的数据:"3"=>"1","2"=>"1","1"=>"1"
循环读取只能读取一组数据,怎么才能一条条循环出来!
请详细点,谢谢
晕 我的意思是一个字段里有 :"3"=>"1","2"=>"1","1"=>"1"
我要从数据库以array数组 循环读取 这一个字段!
$arr2 = array($arr[h_ylid]);
foreach($arr2 as $key=>$value){
echo $key."<br>";
}
这样的 但是它把整条读取出来了 展开
例如数据库中的数据:"3"=>"1","2"=>"1","1"=>"1"
循环读取只能读取一组数据,怎么才能一条条循环出来!
请详细点,谢谢
晕 我的意思是一个字段里有 :"3"=>"1","2"=>"1","1"=>"1"
我要从数据库以array数组 循环读取 这一个字段!
$arr2 = array($arr[h_ylid]);
foreach($arr2 as $key=>$value){
echo $key."<br>";
}
这样的 但是它把整条读取出来了 展开
3个回答
展开全部
你如果用的是mysql
例:
mysql_connect("localhost","用户名","密码") or die("连接数据库失败");//连接数据库
mysql_select_db("数据库名") or die("选择数据库出错,可能没有权限或不存在的数据库");//选择数据库
$result=mysql_query("select * from 表名 where 1");//取得数据库中符合条件的结果集
while($row=mysql_fetch_array($result)){//遍历结果集
for($i=0;$i<count($row);$i++){
echo $row[$i];//这里的$i也可以用字段名来取得,就不需要for循环了,例如有三个字段,分别为a,b,c。输出时用$row['a'],$row['b'],$row['c']
}
}
你直接取出来,他只是一个值,并不是一个数组
你得对取出来的值只是一个字符串
想要得到你要的结果,你得对这个串再进行操作
例如:
<?
$a='"3"=>"a","2"=>"b","1"=>"c"';
$a=explode(",",$a);
for($i=0;$i<count($a);$i++){
$b=explode("=>",$a[$i]);
$c[$b[0]]=$b[1];
}
echo "<pre>";
print_r($c);
echo "/<pre>";
?>
或者你直接存数据的时候用serialize()
取完后再unserialize()
例:
mysql_connect("localhost","用户名","密码") or die("连接数据库失败");//连接数据库
mysql_select_db("数据库名") or die("选择数据库出错,可能没有权限或不存在的数据库");//选择数据库
$result=mysql_query("select * from 表名 where 1");//取得数据库中符合条件的结果集
while($row=mysql_fetch_array($result)){//遍历结果集
for($i=0;$i<count($row);$i++){
echo $row[$i];//这里的$i也可以用字段名来取得,就不需要for循环了,例如有三个字段,分别为a,b,c。输出时用$row['a'],$row['b'],$row['c']
}
}
你直接取出来,他只是一个值,并不是一个数组
你得对取出来的值只是一个字符串
想要得到你要的结果,你得对这个串再进行操作
例如:
<?
$a='"3"=>"a","2"=>"b","1"=>"c"';
$a=explode(",",$a);
for($i=0;$i<count($a);$i++){
$b=explode("=>",$a[$i]);
$c[$b[0]]=$b[1];
}
echo "<pre>";
print_r($c);
echo "/<pre>";
?>
或者你直接存数据的时候用serialize()
取完后再unserialize()
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
要使用eval来处理。不用搞得太复杂了。
========================
$test = '"3"=>"1","2"=>"1","1"=>"1"';
eval("\$test=array($test);");
print_r($test);
========================
$test = '"3"=>"1","2"=>"1","1"=>"1"';
eval("\$test=array($test);");
print_r($test);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
需要序列化。。。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询