金算盘软件-招聘PHP软件工程师
职责简述:
1、按计划完成亿禧网及网站产品、项目的编码开发工作;
2、完成模块单元测试。
任职要求:
1、精通PHP开发语言,熟悉面向对象的软件设计方法;
2、熟悉HTTP、CSS、DIV、Javascript等页面技术;
3、熟悉数据库的设计和编程,性能优化等基本操作技能;
4、至少2年PHP开发经验;
5、有大型门户网站、电子商务网站开发经验者优先。
联系方式:
地 址:重庆市北部新区星光大道62号海王星科技大厦三区5层
邮 箱:hrm@72ec.com
电 话:023-67031666
关于PHP截字的那些事儿
这是一个初级问题,新手会关注,同样是一个高级问题,老手也常栽跟头。
我负责公司在线产品的底层开发,对这种基础函数也采用拿来主义。
本以为Discuz的cutstr函数应该很完美,但也难逃公司测试人员的法眼。仔细一看,原来也有BUG。
首先,我们分析一下该函数需要实现的功能。对于我们的用户(这里指开发人员),他们需要得到的结果的让一列文字整齐的截断。
他们并不关注文字的个数,也不关注是何编码,只关注字符位置长度。在PHP中汉字和编码有关,gbk是双字节,utf8三字节。
bcastr4修改
bcastr3、bcastr4都是非常优秀的Flash轮播插件,在大大小小的项目中常用到,但bcastr4的标题位置被固定到了顶部,我所经历的项目所有客户都要求调到下面,这是一件难受的事情。
我喜欢做一劳永逸的事,将bcastr4做了一下小修改,主要是标题位置、字体、按钮位置等。
php无限级分类-php无限级数据排序(原创)
我们经常遇到这样的问题,读取无限级分类数据,通常运用在地区、类别、商品类目等。
通常数据库设计如下:
id name pid
1 北京 0
2 重庆 0
3 北部新区 2
4 江北区 2
pid记录了上级ID(父ID)
初级方法:
最简单的思路或者说常规的思路就是递归算法了。递归算法是比较快的和准确的,但是有一个问题就是会比较浪费不必要的资源,递归算法执行的过程中会开启N个函数入口,也就是函数需要一直保存状态等待起递归的运算结果。例如这个树形有5层*60行,则在递归算法中浪费的运算至少60次,并且保持5个函数一直是运算中状态,不合理的是同样要做60+次的数据库查询,因为不管其有没有子类,算法执行过程中都需要去重复执行递归运算,事实上实际执行过程中不止这个数。
可以写个简单的例子来测试递归算法调用函数的次数。
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)
); */
$db = new MysqlDb();
$num = 0;
function treeArray($pid) {
global $db, $num;
$num++;
$data = $db -> getAll("SELECT * FROM geo WHERE pid = ".$pid); //返回一个二维数组
$result = array();
foreach($data as $val) {
$val['child'] = treeArray($val['id']);
$result[] = $val;
}
return $result;
}
print_r(treeArray(0)); //树形的结果
var_dump($num);
中级方法:
然后我们系统越作越大了,数据库资源紧张了,我们要求在不改变数据库结构的同时尽可能的减少数据库的操作。那么这样做就需要我们有一算法来给你的数据排序了。







