仓酷云
标题:
PHP网站制作之树形算法
[打印本页]
作者:
柔情似水
时间:
2015-2-4 00:29
标题:
PHP网站制作之树形算法
理解动态语言的概念,运做机制,熟悉PHP语法算法 <?
//测试数据
$ar = array(
array(id=>1,pid=>0),
array(id=>2,pid=>0),
array(id=>3,pid=>2),
array(id=>4,pid=>0),
array(id=>5,pid=>3),
array(id=>6,pid=>1),
array(id=>7,pid=>1),
array(id=>8,pid=>6),
array(id=>9,pid=>7),
array(id=>10,pid=>9)
);
//排序函数
function cmd($a,$b) {
if($a[pid]==$b[pid]) return 0;
return $a[pid]>$b[pid]?1:-1;
}
//排序,为防止数据中父节点在子节点前面呈现,这类情形在屡次修正数据后常常会产生的
//排序的目标就是避免这类情形酿成的凌乱
uasort($ar,cmd);
//界说方针数组
$d = array();
//界说索引数组,用于纪录节点在方针数组的地位
$ind = array();
foreach($ar as $v) {
$v[child] = array(); //给每一个节点附加一个child项
if($v[pid] == 0) {
$i = count($d);
$d[$i] = $v;
$ind[$v[id]] =& $d[$i];
}else {
$i = count($ind[$v[pid]][child]);
$ind[$v[pid]][child][$i] = $v;
$ind[$v[id]] =& $ind[$v[pid]][child][$i];
}
}
//反省了局
print_r($d);
?>
算法特色:使用B+树概念,只用一次轮回便可生成树形数组
虽说不上很好,但至少一般的数据操作,再在原有的SQL语言的基础上,用得还是可以的。
作者:
透明
时间:
2015-2-4 13:13
为了以后维护的方便最好是代码上都加上注释,“予人方便,自己方便”。此外开发文档什么的最好都弄齐全。我觉得这是程序员必备的素质。虽然会消耗点很多的时间。但是确实是非常有必要的。
作者:
再见西城
时间:
2015-2-9 07:13
先学习php和mysql,还有css(html语言很简单)我认为现在的效果比以前的方法好。
作者:
金色的骷髅
时间:
2015-2-10 10:31
建数据库表的时候,int型要输入长度的,其实是个摆设的输入几位都没影响的,只要大于4就行,囧。
作者:
深爱那片海
时间:
2015-2-26 16:28
Apache不是非得用80或者8080端口的,我刚开始安得时候就是80端口老占用,就用了个 81端口,结果照常,就是输localhost的时候,应该输入为 localhost:81
作者:
兰色精灵
时间:
2015-3-8 13:30
因为blog这样的可以让你接触更多要学的知识,可以接触用到类,模板,js ,ajax
作者:
若天明
时间:
2015-3-11 19:42
没接触过框架的人,也不用害怕,其实框架就是一种命名规范及插件,学会一个框架其余的框架都很好上手的。
作者:
再现理想
时间:
2015-3-12 16:39
再就是混迹于论坛啦,咱们的phpchina的论坛就很强大,提出的问题一般都是有达人去解答的,以前的帖子也要多看看也能学到不少前辈们的经验。别的不错的论坛例如php100,javaeye也是很不错的。
作者:
若相依
时间:
2015-3-17 02:09
先学习php和mysql,还有css(html语言很简单)我认为现在的效果比以前的方法好。
作者:
分手快乐
时间:
2015-3-18 07:54
说php的话,首先得提一下数组,开始的时候我是最烦数组的,总是被弄的晕头转向,不过后来呢,我觉得数组里php里最强大的存储方法,所以建议新手们要学好数组。
作者:
冷月葬花魂
时间:
2015-3-25 13:22
写的比较杂,因为我也是个新手,不当至于大家多多指正。
作者:
小魔女
时间:
2015-3-27 23:11
小鸟是第一次发帖(我习惯潜水的(*^__^*) 嘻嘻……),有错误之处还请大家批评指正,另外,前些日子听人说有高手能用php写驱动程序,真是学无止境,人外有人,天外有天。
作者:
老尸
时间:
2015-4-6 03:12
本文当是我的笔记啦,遇到的问题随时填充
作者:
第二个灵魂
时间:
2015-4-26 08:48
Apache不是非得用80或者8080端口的,我刚开始安得时候就是80端口老占用,就用了个 81端口,结果照常,就是输localhost的时候,应该输入为 localhost:81
作者:
精灵巫婆
时间:
2015-4-28 23:36
使用zendstdio 写代码的的时候,把tab 的缩进设置成4个空格是很有必要的
作者:
谁可相欹
时间:
2015-5-1 13:10
你很难利用原理去编写自己的代码。对于php来说,系统的学习我认为还是很重要的,当你有一定理解后,你可你针对某种效果研究,我想那时你不会只是复制代码的水平了。
作者:
愤怒的大鸟
时间:
2015-5-1 21:11
写js我最烦的就是 ie 和 firefox下同样的代码 结果显示的结果千差万别,还是就是最好不要用遨游去调试,因为有时候遨游是禁用js的,有可能代码是争取结果被遨游折腾的认为是代码写错。
作者:
莫相离
时间:
2015-5-4 11:10
刚开始安装php的时候,我图了个省事,把php的扩展全都打开啦(就是把php.ini 那一片 extension 前面的冒号全去掉啦),这样自然有好处,以后不用再需要什么功能再来打开。
作者:
变相怪杰
时间:
2015-5-8 12:05
做为1门年轻的语言,php一直很努力。
作者:
灵魂腐蚀
时间:
2015-6-9 13:23
当留言板完成的时候,下步可以把做1个单人的blog程序,做为目标,
欢迎光临 仓酷云 (http://ckuyun.com/)
Powered by Discuz! X3.2