摘要: 今天工作中需要写一个简单的错误判断,如果返回的值中存在array('error_code'=>'xxx','error_msg' => 'xxx') ,就视为出错。使用如下的简单判断:1 if (isset($payUrl['error_code']) return $payUrl['error_msg'];结果返回值居然是一个h....百思不得其解。通过var_dump出$payUrl,了解到$payUrl值正常,是一个458位的string。也就是说:1 $payUrl = ' 阅读全文
posted @ 2012-08-23 11:46 chainsaw 阅读(237) 评论(0) 推荐(0) 编辑
摘要: Javacript中的Prototype应该算是一个非常容易混淆的概念,就算是经验丰富的开发者也会对这个概念了解不足。我相信这些麻烦的根源来自于我们早期对prototype的使用,这些使用基本上就是new,constructor以及非常容易误解的那种隶属于某个方法的prototype属性。事实上,prototype是一个非常简单的概念。为了更好的理解它,我们需要忘记我们已经学过的在constructor时使用的prototype,从prototype的第一条原则开始。什么是prototype?Prototype就是一个特殊的对象,其他对象从它这边继承属性。是不是任何对象都可以作为一个pro.. 阅读全文
posted @ 2012-07-11 13:27 chainsaw 阅读(215) 评论(0) 推荐(0) 编辑
摘要: 刚收到网易面试通知,顺便回顾了下网易的笔试题,发现有一道题目理解不是很透,写个随笔记录下。题目内容是这样的:数据库理论中取出右侧关系中所有与左侧关系的任一元组都不匹配的元组,用空值来填充所有来自左侧关系的属性,再把产生的元组加到自然连接的结果上,这种连接运算为_____。在MySQL中,连接操作主要有五种:1.交叉连接(CROSS JOIN)交叉连接是最简单的连接类型,它对所有涉及连接的表相乘,然后创建一个包含所有内容的产物。例如有两个表attribute和color内容如下:mysql> select * from attribute;+-----------+| attribute 阅读全文
posted @ 2011-10-25 18:01 chainsaw 阅读(839) 评论(0) 推荐(0) 编辑
摘要: Redis是一个数据结构类型的服务器,不是单纯的key-value存储。Redis里面的键是二进制安全的(二进制安全是指数据在传输过程中保证数据的安全性,包括加密等),因此键的内容不应该包含空格或者换行符。比如”hello world”和”hello world\n”是错误的。字符串类型这是最简单的redis数据类型,在只使用这个数据类型的时候,Redis就和一个有持久存储功能的memcached服务器类似。在Redis中,值最大可以有1GB,因此可以将图片等内容都缓存进去。SET操作,GET操作是基本的存储和读取操作,INCR命令可以将值自增1.List类型Redis的List类型是使用双向 阅读全文
posted @ 2011-09-24 18:47 chainsaw 阅读(1067) 评论(0) 推荐(0) 编辑
摘要: 淘宝校招二面PHP 悲剧:问题一:新浪微博首页 你和他共同关注的人 功能实现,用于存储人这个信息的方法是什么?1.可以使用redis的set方式存储,使用sinter命令返回交集。2.可以使用PHP的array_intersect函数实现。问题二:PHP静态类的特性?答:1、被声明为静态类的类不允许包含任何非静态成员2、抽象静态类中的静态方法不允许调用,它必须先被继承。3、在静态类中,允许抽象的静态方法。4、静态类不允许含有 构造函数、析构函数、动态拦截函数以及 __toString()。5、静态类不允许继承自非静态类。6、为了向下兼容,目前含有静态成员的抽象类/非静态类的行为不会被改变。7、 阅读全文
posted @ 2011-09-24 10:32 chainsaw 阅读(972) 评论(30) 推荐(3) 编辑
摘要: MySQL 使用的join算法和oracle比较不同的地方就是,MySQL只有一种join算法,就是Nests loop join,他没有hash join和sort merge join。Nests loop join算法实现的机制很简单,就是从驱动表中取数据作为循环基础数据,然后以这些数据作为查询条件到下一个表中查询,如此往复。这个实现的机制类似foreach函数的遍历。 因此带来的问题就是我们join的表越多,函数嵌套的层数就越多,算法复杂度指数级增长。因此,设计数据库的使用要尽量全面的设计schema,如果实在不行要使用join语句,也尽量少的嵌套数据表。 阅读全文
posted @ 2011-08-12 14:31 chainsaw 阅读(236) 评论(0) 推荐(0) 编辑
摘要: 对象的赋值:手册中有如下一个例子,个人理解如下$assigned = $instance; $reference =& $instance; $instance--->var = '$assigned will have this value';$instance = null;var_dump($instance);var_dump($reference);var_dump($assigned);$assigned和$instance对应于同一个实例化的对象,指向同一个地址,$reference是$instance的别名。因此当$instance = null之 阅读全文
posted @ 2011-08-12 13:28 chainsaw 阅读(252) 评论(0) 推荐(0) 编辑
摘要: 一.类型PHP支持8中基本数据类型。分别为:四种标量类型:boolean(布尔型),integer(整型),float(浮点型和double同义),string(字符串)两种符合类型:array(数组),object(对象)两种特殊类型:resource(资源),NULL(NULL)二.字符串单引号:简单的定义一个字符串,如需输出单引号,则用反斜线\转义。双引号:字符串定义在双引号中,PHP会对一些特殊字符\n 换行\t 制表符\f 换页\r 回车\v 竖直方向tab\$ 美元符\\ 反斜线\" 双引号heredoc结构字符串:定义方法为<<<在该提示符后面,要定义 阅读全文
posted @ 2011-08-12 12:50 chainsaw 阅读(158) 评论(0) 推荐(0) 编辑