随笔分类 - php基础知识
摘要:今天遇到了json编码解码之后中文消失的问题,一探究竟,写下这篇文章PHP中提供了json_encode 和json_decode 这对函数 将PHP中 值转化成 字符串,但是遇到中文的时候,很容易出现乱码。为什么呢?查看PHP手册,发现json只支持utf-8编码,也就是说,中文在进行json_e...
阅读全文
摘要:先区别一下php中错误 与 异常的概念吧PHP错误:是属于php程序自身的问题,一般是由非法的语法,环境问题导致的,使得编译器无法通过检查,甚至无法运行的情况。平时遇到的warming、notice都是错误,只是级别不同而已。PHP异常:一般是业务逻辑上出现的不合预期、与正常流程不同的状况,不是语法...
阅读全文
摘要:学习SPL的时候,遇到了DirectoryIterator这个目录类,谢了一下遍历目录的方法。于是总结一下遍历目录的四种写法如下:getFileName(); echo "";}/* * 方法二:scandir函数,返回文件数组 */$files = scandir('E:\wamp\bin\php...
阅读全文
摘要:php5.3已经开始支持延迟静态绑定。延迟静态绑定指的是在父类中获取子类的最终状态。在父类中,如果出现self关键字,被子类继承后,这个self值的还是父类而不是子类。如果在父类中出现了self关键字,并且子类继承了含有self的这段代码,那么需要考虑静态延迟绑定。在父类中使用static代替sel...
阅读全文
摘要:之前学习过内部排序的八大算法,也一一写过代码实现。其中堆排序的原理是将一颗二叉树初始化为堆依次将最后一个结点与堆顶结点交换。然后调整堆顶元素位置,重置堆。将二叉树初始化为堆可以看做从最后一个非叶子结点开始,依次调整子堆的堆顶元素,重置堆是指重置堆顶元素。这种算法的实现如下:= 0; $end--) ...
阅读全文
摘要:感觉序列化和反序列化用得倒是比较少了,而json_encode和json_decode用得相对多,都是转化成串,进行入库、传输等。json更方便,但是序列化和反序列化结合这两个魔术方法使用倒还行a = 'hello';//反序列化时进行a值的修改动作 }}$m = new Test();$n = s...
阅读全文
摘要:先说一下深拷贝和浅拷贝通俗理解深拷贝:赋值时值完全复制,完全的copy,对其中一个作出改变,不会影响另一个浅拷贝:赋值时,引用赋值,相当于取了一个别名。对其中一个修改,会影响另一个PHP中, = 赋值时,普通对象是深拷贝,但对对象来说,是浅拷贝。也就是说,对象的赋值是引用赋值。(对象作为参数传递时,...
阅读全文
摘要:最近由于使用php编写了一个脚本,模拟实现了一个守护进程,因此需要深入理解php中的垃圾回收机制。本文参考了PHP手册。在理解PHP垃圾回收机制(GC)之前,先了解一下变量的存储。php中变量存在于一个zval的变量容器中。结构如下:类型值is_refrefcountzval中,除了存储变量的类型和...
阅读全文
摘要:先看下面的问题: 对于中间的那个问题,你的答案是什么呢?在今天之前,我的答案是会为b分配内存空间。因为我是这么理解的: &赋值的时候,视为一个变量定义了一个别名,增加了一个对内存空间的引用。改变其中一个,会影响其他的引用。而使用unset()时,只是断开了对变量内存空间的引用,内存空间...
阅读全文
摘要:最近安装了一下xedug,并且学习了一下如何使用。安装xdebug的初衷是为了深入研究一下PHP的垃圾回收机制。Xdebug是一个开放源代码的PHP程序调试器(即一个Debug工具),可以用来跟踪,调试和分析PHP程序的运行状况。先说一下安装吧。我使用的php版本是5.3.3,windows 32 ...
阅读全文
摘要:今天上线了一个API,6台机器做的集群。API的第一步是读取cookie,判断用户是否登录。例如,线上服务器分别是10.255.242.1 10.255.242.2 10.255.242.3 10.255.242.4 10.255.242.5 10.255.242.6, API地址是...
阅读全文
摘要:";echo $a;echo "";methodTwo();echo "";echo $a;?> 这是当初校招的时候 迅雷的面试官问的一个问题
阅读全文

浙公网安备 33010602011771号