本文目录一览:
- 高分求解PHP数组组合问题,给个思路就行。
- php web开发中自定义的标签制作的原理
- PHP的一些CMS、ECSHOP等源码二次开发,求高人指点思路!
- PHP SMARTY模板的自定义标签开发思路? - PHP进阶讨论
- 求一个php数据库设计思路
高分求解PHP数组组合问题,给个思路就行。
下面是我写的用递归实现组合的小程序:
function com($line, $x){
if (count($x)==1) echo "$line $x[0]\n";
else {
$y=array_pop($x);
com($line.' '.$y, $x);
com($line, $x);
com($line, array($y));
}
}
$a = array('A','B','C','D');
com('', $a);
由于程序是用\n
换行,请在命令行下执行,我执行的结果如下:
E:\ygbphp a.php
D C B A
D C A
D C B
D B A
D A
D B
D C
C B A
C A
C B
B A
A
B
C
D
你如果要做新的数组,把里面的echo
语句处理一下即可,注意新数组可以使用全局变量。
php web开发中自定义的标签制作的原理
这个……建议你看一下织梦的模板引擎源码,他的模板解析类在/include/dedetag.class.php
中。其原理大致是整个获取模板中的字符串。然后正则,或strpos
、substr
之类的函数去除标志性的标签内容,比如织梦的标签都写在{dede:xxx}
中,有了这个特征就比较好操作了。
在获取标签中的内容之后就是个循环遍历获取的过程,实现上都是差不多的。
其实整个原理就是HTML解析器。
编译过程就更简单了,在获取了整个代码所需求的东西后,把这些东西反写成PHP代码,在file_put_contents
到文件中就可以了。
我说的可能太简单,建议你看一下他们的源码,会对你有很大帮助。
PHP的一些CMS、ECSHOP等源码二次开发,求高人指点思路!
更多ecshop二次开发手册看看:;lm=0od=0fr=top_home
ecs_account_log
:用户账目日志表ecs_activity
:活动表(代码,名称,开始,结束,描述)ecs_ad
:广告表(位置,类型,名称,链接,图片,开始,结束,广告主相关信息,点击,是否显示)ecs_admin_action
:管理权限分配(父类ID,权限代码)ecs_admin_log
:管理日志(登陆时间,登陆管理员ID,操作描述,IP)ecs_admin_message
:管理员留言(发送者ID,接收者ID,发送日期,阅读日期,是否已读,是否删除,标题,内容)ecs_admin_user
:管理员管理(用户名,email,密码,加入时间,最后登陆时间,最后登陆IP,权限等)ecs_adsense
:广告相关统计(来源广告,来源位置,点击)ecs_ad_position
:广告位(名称,宽,高,描述,样式)ecs_area_region
:配送区域关联(配送区域ID,具体地址ID)ecs_article
:文章(分类ID,标题,内容,作者,作者email,关键字,类型,是否显示,添加时间,文件地址,打开类型)ecs_article_cat
:文章分类(名称,类型,关键字,描述,排序,是否导航显示)ecs_attribute
:商品属性(分类,名称,选择样式,类型,值,检索类型,排序,是否关联)ecs_bonus_type
:红包(名称,金额,发放起始日期,发放结束日期,使用起始日期,使用结束日期,发放类型,金额下限(按订单发放),金额上限)ecs_booking_goods
:缺货登记(登记用户ID,email,电话,商品ID,描述,数量,登记时间,是否已处理,处理管理员,处理时间,处理备注)ecs_brand
:品牌(名称,logo,描述,链接,排序,是否显示)ecs_card
:祝福贺卡(名称,图片,费用,免费额度,描述)ecs_cart
:购物车(用户ID,session_id,商品ID,商品编号,商品名称,市场价,购买价,数量,属性,是否真实商品,扩展代码,父类ID,类型,是否赠品,能否处理)ecs_category
:商品分类(名称,关键字,描述,父类ID,排序,是否有子类,模板文件,数量单位,是否导航显示)ecs_collect_goods
:收藏(用户ID,商品ID,收藏时间)ecs_comment
:评论(类型,类型ID,email,用户名,内容,评星,添加时间,IP,状态,父类ID)ecs_feedback
:用户留言(父类ID,用户ID,用户名,email,标题,类型,内容,时间,图片,是否回复)ecs_friend_link
:友情链接(名称,链接,logo,排序)ecs_gift
:赠品(送赠品活动ID,商品ID,赠品价格)ecs_gift_type
:送赠品活动(名称,发送类型,相关参数,数量,开始,结束)ecs_goods
:商品(分类ID,名称,点击,品牌ID,供应商名称,库存,重量,市场价,售价,fitting_price(未知),促销价,促销开始日期,结束日期,警告数量,关键字,简介,描述,缩略图,图,原图,是否真实商品,扩展代码,是否上架,是否单独销售,是否关联,配件关联,是否赠品,能否成为赠品,单位,添加时间,排序,是否回收,精品,新品,推荐,热销,红包ID,更新日期,商品类型,商品备注,首页轮播)ecs_goods_article
:商品文章关联(gid,aid)ecs_goods_attr
:商品属性(商品ID,属性ID,属性值,属性附加价)ecs_goods_cat
:未知ecs_gallery
:商品相册(商品ID,图片,描述,缩略图,原图)ecs_goods_type
:商品类型(名称,状态)ecs_group_buy
:团购(商品ID,结束日期,价格阶梯,限购数量,描述,订购量,订单,赠送积分数,流程,押金,是否完成)ecs_group_goods
:配件(父类ID,商品ID,配件价格)ecs_link_goods
:商品关联(商品ID,关联ID,单双向)ecs_mail_templates
:邮件样式(代码,是否html,名称,样式,最后修改日期)ecs_member_price
:会员价(商品ID,会员等级,会员价)ecs_order_action
:订单处理(订单ID,处理用户,订单状态,配送状态,支付状态,处理时间,备注)ecs_order_goods
:订单-商品(订单ID,商品ID,商品名称,商品编号,商品数量,市场价,订单价,商品属性,配送数量,是否真实商品,扩展代码,父类ID,是否赠品)ecs_order_info
:订单信息(略)ecs_pack
:包装(名称,图片,费用,免费额,描述)ecs_payment
:支付工具(代码,名称,费用,描述,排序,配置,状态,is_cod(未知))ecs_pay_log
:支付记录(略)ecs_plugins
:插件(代码,版本,库,签名,安装日期)ecs_region
:地方数据(没什么好说的)ecs_sessions
:保存session的(也没什么好说的)ecs_shipping
:配送(代码,名称,描述,保价费,support_cod(未知),状态)ecs_shipping_area
:配送区域(序列配置)ecs_shop_config
:设置(父类ID,代码,类型,范围,文件夹,值)ecs_snatch
:夺宝奇兵(活动ID,商品ID,最小价,最大价,定价,积分消耗)ecs_snatch_log
:夺宝奇兵出价记录(没什么好说的)ecs_stats
:访问记录(时间,IP,访问次数,浏览器,系统,语言,地区,来源域名,来源地址,关键字,进入链接)ecs_tag
:用户标签(不说)ecs_template
:模板区域(文件名,区域,模板库,排序,id,数量,类型,模板)也不怎么清楚ecs_users
:会员(一些会员信息)ecs_user_account
:会员帐户(用户ID,管理员,总额,添加时间,支付时间,管理备注,用户备注,处理类型,支付工具,是否支付)ecs_user_address
:用户收货地址(略)ecs_user_bonus
:用户红包(红包ID,红包编号,用户ID,使用时间,订单ID,是否已发邮件)ecs_user_rank
:会员等级(名称,积分最小限额,最大限额,折扣,是否显示价格,特殊会员)ecs_virtual_cart
:虚拟卡(商品ID,卡号,密码,添加时间,失效时间,是否已卖完,编号,crc32校验码)ecs_vote
:投票(名称,开始,结束,能否多选,统计)ecs_vote_log
:投票记录(投票ID,IP,时间)ecs_vote_option
:投票内容(投票ID,条目名称,条目统计)
PHP SMARTY模板的自定义标签开发思路? - PHP进阶讨论
smarty如何实现这样的功能呢,希望高手给点思路哦:
{smarty:list cid=10 row=8 ordering=pubdate}{$list.title}{/smarty}
读取文章列表,cid
是栏目ID为10,row
显示8行,pubdate
按照发布时间排序。
求一个php数据库设计思路
上面的bednumber
是学生的床位,dornumber
是学生的宿舍号,flag
是学生属于哪位老师的标记。
- 老师的数据表只需要有个id,用户名密码就好了,然后老师和学生的管理就是靠
flag
,在执行删除时判断学生的flag
是否与老师的id匹配,新增的时候flag
插入相应老师的id即可。 - 管理员的功能主要不是在数据库的设计上,而是在程序的设计上,最好的设计使用两个循环查找数据库来写,外面一个循环循环的是宿舍号,里面一个循环循环的是学生的床位,查找条件就是相应宿舍里的相应床位,一旦找不到,就立刻输出床位号,宿舍号,这样就实现了空床位的查找。
- 如果单独要求查找空寝室,直接循环查找学生的宿舍号,一旦查找失败则输出宿舍号,这样就可以了。 楼主怎么样?求采纳,求给分,求围观,谢谢楼主。