http://blog.sina.com.cn/apao[订阅]
个人资料
分类
    内容读取中…
评论
读取中...
访客
读取中...
好友
读取中...
博文
http://www.laruence.com/2009/07/23/994.html

Hash Table是PHP的核心,这话一点都不过分.

PHP的数组,关联数组,对象属性,函数表,符号表,等等都是用HashTable来做为容器的.

PHP的HashTable采用的拉链法来解决冲突, 这个自不用多说, 我今天主要关注的就是PHP的Hash算法, 和这个算法本身透露出来的一些思想.

PHP的Hash采用的是目前最为普遍的DJBX33A (Daniel J. Bernstein, Times 33 with Addition), 这个算法被广泛运用与多个软件项目,Apache, Perl和Berkeley DB等. 对于字符串而言这是目前所知道的最好的哈希算法,原因在于该算法的速度非常快,而且分类非常好(冲突小,分布均匀).

算法的核心思想就是:

       hash(i) = hash(i-1) * 33 + str[i] 

在zend_hash.h中,我们可以找到在PHP中的这个算法:

 static inline ulong zend_inline_hash_func(

[正则表达式]如何判断字符串中不包含某些子字符串呢?

用正则表达式找出不包含连续字符串abc的单词

php不包含某字符串的正则表达式




php不包含某字符串的正则表达式

类别:PHP , 来自: 龙鸟, 时间:2008-03-12 16:45

摘要: 用正则实现包含某个字符串很容易,但如果实现不包含某个字符串呢?作者给出了一个解决方案。

判断一个字符串中是否含有另一字符串,

javascript中的对象和数组

javascript1.2之后允许使用[]创建数组:

var firstArray = [];
var secondArray = ['red', 'green', 'blue'];
var thirdArray = [,,,,];

可以在数组创建后添加元素:
secondArray[4] = 28;

这样的结果是第4个元素和第2个元素之间有1个空元素。
结果类似这样:['red', 'green', 'blue',,28]
需要注意的是,数组必须初始化,我测试了数组作为数组元素的定义:
var arrArray = [[]];

本来设想实现二维数组,结果是
在C/C++和PHP中字符串都能够当作字符数组使用,事实上C语言中没有专门的字符串变量,如果要将一个字符串存放在变量中,必须使用字符数组,即用一个字符型数组来存放一个字符串,数组中每一个元素存放一个字符。例如:
char s[] = 'Hello World!';
char c = s[1];

PHP中:
var $s = 'Hello World'; // 双引号、单引号都可
$c0 = $s{0}; // 字符串中的字符可以通过在字符串之后用花括号指定所要字符从零开始的偏移量来访问。
$c3 = $s[3]; // 为了向下兼容,仍

http://ajax.cnrui.cn/article/2/3/2006/20061018576.shtml


JavaScript中的try...catch和异常处理


在JavaScript可以使用try...catch来进行异常处理。例如:
 try {         foo.bar(); } catch (e) {         alert(e.name + ': ' + e.message); } 

目前我们可能得到的系统异常主要包含以下6种:

  • EvalError: raised when an error occurs executing code in eval()
  • RangeError: raised when a numeric variable or parameter is outside of its valid range
  • ReferenceError: raised when de-referencing an invalid reference
  • SyntaxError: raised when a syntax error occurs while parsing code in eval()
  • TypeError: raised when a variable or parameter is not a valid type
  • URIError: raised when

http://www.cnblogs.com/birdshome/archive/2005/03/18/119980.html


JavaScript中的Object到底是什么呢?!

    前天有网友留言问我,Object是什么?由于这两天忙于重构那个TreeView控件去了,没有及时的回答,真是不好意思。今天抽空来看看JavaScript中的Object到底是什么东西呢?Object和函数Function到底是什么关系呢?说的不对的地方欢迎斧正。

    虽然是私人留言,不过匿名转过来希望不会怪我,如有不妥请告知。
转几篇JavaScript方面的文章:

JavaScript类型检测小结

JavaScript中的Object到底是什么呢?!

JavaScript中的try...catch和异常处理




JavaScript类型检测小结

Posted on February 5th, 2009 in 前端开发 by lifesinger


老话题了,各种方案和相关讨论都不少,简单总结下:

悠久的typeof

JavaScript里只有五种基本数据类型:number, string, boolean, null, undefined. 其它的都是复合数据类型object.

值和数据类型是两码事。比如:null是null类型的唯一值,undefined是undefined类型的唯一值,就如true和false是boolean

http://rubynroll.javaeye.com/blog/203133

 

SVN+GIT=鱼与熊掌兼得

关键字: svn git

使用git已经有一段时间了,从使用git的第一天开始,就计划逐步放弃svn.

svn有的功能,git都能做到,而且做得更出色,况且git还有很多特性svn望尘莫及,还有什么理由继续使用svn呢?

well,理由很多. 比如,git在windows上的性能问题, TortoiseGIT还没有开发出来(或者根本没有这个计划?),团队中其它人员不习惯用git....等等.

那么,鱼与熊掌,能否兼得?

=== SVN 之痛与痒 ===

svn的最大问题是不支持分布式开发. 分布式并不一定就是指象Linux Kernel那样的大型协作开发场景.

例如,你想把没做完的工作带回家做,但是家里又不能连线到公司的svn服务器,那么你就不能commit. 实际上,这也是一种分布式开发的场景.

你会说,那你就不要commit啊 ... 我办不到, 我有个坏习惯,经常做些小改动,但是

http://blog.qq.com/qzone/622007901/1238388437.htm

 

天下第一雷事:政府统计中的职工工资,不到三分一能到百姓手里!

童大焕
  
原来这么多年来,政府有关部门一直在和老百姓演小品《不差钱》来着。统计部门说:你今年月收入四千。老百姓说,哪有啊,一千二了不起;统计部门说:平均是四千。老百姓说,这个真没有,平均也不到!统计部门说:这个可以有,含代扣代缴和税!老百姓说,这个的没有,打死也没有。

3月25日,

此文首发在 InfoQ 中文站作者:明灵(dragon) , Fenng .


这篇文章是dragon 朋友来邮探讨后他做的一个总结。在 DB 中排序还是在 应用程序中排序是个很有趣的话题,dragon 第一份邮件中其实已经总结的很好了,我添加了一点建议而已。现在放上来,与大家共享。这篇文章也投稿到了 InfoQ 中文站

Q:列出在 PHP 中执行排序要优于在 MYSQL 中排序的原因?给一些必须在MYSQL中排序的实例?