Chinaunix首页 | 论坛 | 博客
  • 博客访问: 29957158
  • 博文数量: 2065
  • 博客积分: 10377
  • 博客等级: 上将
  • 技术积分: 21525
  • 用 户 组: 普通用户
  • 注册时间: 2008-11-04 17:50
文章分类

全部博文(2065)

文章存档

2012年(2)

2011年(19)

2010年(1160)

2009年(969)

2008年(153)

分类:

2009-08-10 20:36:17

1.当前遇到 的问题
如果有六个栏位,如果数据库里面有数据就使用数据库里面的记录进行填充。如果没有就使用默认的数据填充!

$target_info = array();
$r1 = array("zh_name"=>"01","zh_pic"=>"../../theme/pic/shop_1.gif","zh_url"=>"1");
$r2 = array("zh_name"=>"02","zh_pic"=>"../../theme/pic/shop_2.gif","zh_url"=>"2");
$r3 = array("zh_name"=>"03","zh_pic"=>"../../theme/pic/shop_3.gif","zh_url"=>"3");
$target_info = array("1"=>$r1,"2"=>$r2,"3"=>$r3);#得到的结果集
echo count($target_info);
foreach ($target_info as $value) {
    echo $value['zh_pic'];
}
这个代码其实功能就是相当于下面的
1.从数据库中去查询满足条件的记录。得到了一个类似于这种结构的数组$target_info
2.所以当你用这个数据集去赋给Smarty的时候就能够使用foreach操作了!
$row = $db->fetch_row_array("select zh_name,zh_pic,zh_url from zh_prod where zh_userid = 1 and zh_is_t = '1' and zh_is_d = '0' order by zh_time desc limit 6 ");   
这种结构就跟上面的$target_info 是一样的!

数组下标是从0开始的!


$array[]="新值";
比较常用吧。              通过使用这种办法实现数组的追加赋值!


合并两个数组是把一个数组追加到另一个数组中。使用array_merge()函数和array_merge_recursive()函数都可以实现此功能。
1.array_merge()函数
语法如下:
array array_merge (array array1,array array2 [,array...]) ;
在合并时,如果输入的数组中有相同的字符串键名,则后面的值将覆盖前面的值;如果数组包含数字键名,后面的值不会覆盖原来的值,而是附加到后面。
示例:
$shili1 = array ("名字"=>"刘二",20,25,30) ;
$shili2 = array ("m","n","名字"=>"王","立"=>"100",5) ;
$result = array_merge ( $shili1,$shili2 ) ;
print_r ( $result ) ;


3)末尾添加
array_push
也可以直接用$array[]=$var的形式





整理:

$r3 = array("zh_name"=>"03","zh_pic"=>"_3.gif","zh_url"=>"3"); 
$err = array("0"=>$r3,"1"=>$r3,"2"=>$r3,"3"=>$r3,"4"=>$r3,"5"=>$r3);

比如说当你在select * from table
得到的就是跟$err这种结构类似的数据!

结果集其实就是一个数组。不过这个数组中的每一个记录都是一个关联数组!
类似于$r3这种结构的关联数组!

所以说遍历数组的时候能够这样写
foreach($err as $val){

}

数组如下赋值:
$target_info[] = $row[$i];

这种赋值是追加赋值。其中$row[$i]  结构就是$r3 是一样的!





阅读(778) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~