柔情似水 发表于 2015-2-4 00:29:30

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==$b) return 0;
return $a>$b?1:-1;
}

//排序,为防止数据中父节点在子节点前面呈现,这类情形在屡次修正数据后常常会产生的
//排序的目标就是避免这类情形酿成的凌乱
uasort($ar,cmd);

//界说方针数组
$d = array();
//界说索引数组,用于纪录节点在方针数组的地位
$ind = array();

foreach($ar as $v) {
$v = array(); //给每一个节点附加一个child项
if($v == 0) {
$i = count($d);
$d[$i] = $v;
$ind[$v] =& $d[$i];
}else {
$i = count($ind[$v]);
$ind[$v][$i] = $v;
$ind[$v] =& $ind[$v][$i];
}
}
//反省了局
print_r($d);
?>

算法特色:使用B+树概念,只用一次轮回便可生成树形数组
虽说不上很好,但至少一般的数据操作,再在原有的SQL语言的基础上,用得还是可以的。

透明 发表于 2015-2-4 13:13:54

为了以后维护的方便最好是代码上都加上注释,“予人方便,自己方便”。此外开发文档什么的最好都弄齐全。我觉得这是程序员必备的素质。虽然会消耗点很多的时间。但是确实是非常有必要的。

再见西城 发表于 2015-2-9 07:13:50

先学习php和mysql,还有css(html语言很简单)我认为现在的效果比以前的方法好。

金色的骷髅 发表于 2015-2-10 10:31:10

建数据库表的时候,int型要输入长度的,其实是个摆设的输入几位都没影响的,只要大于4就行,囧。

深爱那片海 发表于 2015-2-26 16:28:53

Apache不是非得用80或者8080端口的,我刚开始安得时候就是80端口老占用,就用了个 81端口,结果照常,就是输localhost的时候,应该输入为 localhost:81

兰色精灵 发表于 2015-3-8 13:30:30

因为blog这样的可以让你接触更多要学的知识,可以接触用到类,模板,js ,ajax

若天明 发表于 2015-3-11 19:42:56

没接触过框架的人,也不用害怕,其实框架就是一种命名规范及插件,学会一个框架其余的框架都很好上手的。

再现理想 发表于 2015-3-12 16:39:03

再就是混迹于论坛啦,咱们的phpchina的论坛就很强大,提出的问题一般都是有达人去解答的,以前的帖子也要多看看也能学到不少前辈们的经验。别的不错的论坛例如php100,javaeye也是很不错的。

若相依 发表于 2015-3-17 02:09:12

先学习php和mysql,还有css(html语言很简单)我认为现在的效果比以前的方法好。

分手快乐 发表于 2015-3-18 07:54:36

说php的话,首先得提一下数组,开始的时候我是最烦数组的,总是被弄的晕头转向,不过后来呢,我觉得数组里php里最强大的存储方法,所以建议新手们要学好数组。

冷月葬花魂 发表于 2015-3-25 13:22:04

写的比较杂,因为我也是个新手,不当至于大家多多指正。

小魔女 发表于 2015-3-27 23:11:26

小鸟是第一次发帖(我习惯潜水的(*^__^*) 嘻嘻……),有错误之处还请大家批评指正,另外,前些日子听人说有高手能用php写驱动程序,真是学无止境,人外有人,天外有天。

老尸 发表于 2015-4-6 03:12:52

本文当是我的笔记啦,遇到的问题随时填充

第二个灵魂 发表于 2015-4-26 08:48:55

Apache不是非得用80或者8080端口的,我刚开始安得时候就是80端口老占用,就用了个 81端口,结果照常,就是输localhost的时候,应该输入为 localhost:81

精灵巫婆 发表于 2015-4-28 23:36:41

使用zendstdio 写代码的的时候,把tab 的缩进设置成4个空格是很有必要的

谁可相欹 发表于 2015-5-1 13:10:45

你很难利用原理去编写自己的代码。对于php来说,系统的学习我认为还是很重要的,当你有一定理解后,你可你针对某种效果研究,我想那时你不会只是复制代码的水平了。

愤怒的大鸟 发表于 2015-5-1 21:11:50

写js我最烦的就是 ie 和 firefox下同样的代码 结果显示的结果千差万别,还是就是最好不要用遨游去调试,因为有时候遨游是禁用js的,有可能代码是争取结果被遨游折腾的认为是代码写错。

莫相离 发表于 2015-5-4 11:10:23

刚开始安装php的时候,我图了个省事,把php的扩展全都打开啦(就是把php.ini 那一片 extension 前面的冒号全去掉啦),这样自然有好处,以后不用再需要什么功能再来打开。

变相怪杰 发表于 2015-5-8 12:05:36

做为1门年轻的语言,php一直很努力。

灵魂腐蚀 发表于 2015-6-9 13:23:39

当留言板完成的时候,下步可以把做1个单人的blog程序,做为目标,
页: [1]
查看完整版本: PHP网站制作之树形算法