`
- 浏览:
1775562 次
- 性别:
- 来自:
北京
-
- php -h可以获取帮助信息。PHP版本号信息:/your_current_path/php -v,PHP运行脚本:/your_current_path/php your_file_path,PHP运行语句/your_current_path/php -r your_code_snippet。
- 代码执行结束后,PHP会根据具体执行情况自动的释放,如果执行过程中内存消耗较大,可以利用NULL或unset来释放内存。区别在于,前者将变量保存的值所占用的内存释放掉,后者会将变量本身以及它所保存的值释放掉。判断变量是否存在可以用isset和empty函数,如果只是要检查变量是否保存了值,可以用is_null。
- 字符串可以利用花括号{}来对单个字符进行操作,如$s='hello world',$s{0}的值就为h;而且可以利用这种做法来为某个位置的字符单独赋值,如$s{0}="who are you",这时只有右边表达式第一个字符会被利用在赋值操作中,如果$s引用的是一个非字符串内容,那什么都不会发生。
- 变量的赋值通常是值拷贝,如果想让两个变量共享一个内存地址,可以用&。
- 常量永远不能用操作符“=”被赋值
- 可以用“`”操作符来实现函数shell_exec的功能,`who am i`等价于shell_exec("who am i")。
- 逻辑与和逻辑或的同义词AND,OR,他们的优先级别低于“&&”和“||”,赋值操作符“=”介于这两者之间。所以在使用语句 varible = statement OR die("string info") 时,OR 会让赋值语句先进行操作,如果赋值过程中有错误发生,则执行 die 语句;如果使用了操作符“||”,因为它的优先级别要比“=”高,则先进行的是与操作,后进行赋值操作。
- exit用于终止当前脚本的执行,die是exit的一个补充版本,可以输出一个错误消息。正常情况下,return的作用与exit相同,但是,如果含有return语句的脚本是被另外一个脚本用include语句包含进来的话,return语句会将当前脚本的执行权返还给使用include语句的脚本。
- 对于不会影响脚本继续执行的错误来说,可以用set_error_handler来注册一个错误控制函数来对发生的错误进行处理(trigger_error用于出发自定义错误)。如果是面向对象的方式,可以利用try...catch。
- 函数通常返回的是值,如果是对象的话返回的是引用。我们还可以在方法名之前加上“&”来强迫返回地址,但要注意的是调用函数时,仍然需要书写“&”,这就是为什么有些函数名字前面有个“&”的原因。
- 函数中取得传递进来的参数,可以利用func_num_args()和func_get_arg,类似的功能在JavaScript也有。
- 动态函数调用,$my_function = 'print_r'; $my_function(localtime());
- 所有的变量都有针对它本身的一个内存表。某个函数的内部变量不可以被其它范围的脚本操作。不属于任何函数的变量被当作全局变量,可以通过global语句或函数$GLOBALS来引用。函数内static关键字可以让变量保持住最后一次赋予的值。
- PHP可以利用参数的位置索引来取得形参,与此相关的函数有func_get_arg,func_get_args,func_num_args。
- 动态函数可以应用在过程话编程和面向对象编程中。
- “+”操作符对于数组来说有着特殊的意义,它把操作符右边的数组添加到左边,如果发现有键值相同时,则跳过当前合并操作,继续执行下一个合并操作。
- 在PHP面向对象编程中,类的函数除了传递进来的形参外,还有一个特殊的参数this,函数中只有使用了this的内容才代表是当前类的实例的属性或方法。在多数面向对象编程语言中,通常是把没有前缀修饰的内容都当作该类的成员(变量/属性或函数/方法),但在PHP中,默认会把没有this修饰的内容当作方法内部的本地变量对待。
- 早期版本PHP中,与类名相同的方法被当作构造函数,而新版本的PHP则采用__construct作为构造函数名,但旧的声明方式仍然有效,如果__construct与类名同名的方法同时存在时,则优先把_construct当作构造函数。
- PHP提供了__clone功能,与之相关的还有关键字this和that,分别代表当前对象和克隆出来的对象。
- self和parent分别是当前类和直接上级父类的代表,非类的实例,而this是当前类的实例代表。
- 如果不声明访问修饰符的话,默认是public。
- 静态绑定与动态绑定指是编译期与运行时,PHP只有动态绑定,但也有一部分模拟了静态绑定,如用private修饰的属性或方法。
- 动态添加属性与方法(__set __get),动态方法调用( __call),动态类加载(__autoload)。
- include 和 require 的第一个区别在于如何处理错误。include 会生成警告并继续运行脚本,但 require 会终止执行当前脚本;第二个区别是,include 类似于函数调用,而 require 更像文件内容替换。
- mysql 可以通过指定表类型来支持事务,innoDB(常见,支持事务),BDB(较少使用,支持事务), MyISAM(常见,不支持事务,但效率高)
- 单引号字符串、双引号字符串和HERE DOCUMENT(HEREDOC)字符串的区分:利用单引号构成的字符串,除了“/'”外,其它任何转义和插入变量均不识别,正是因为没有额外的解析任务,所以它的效率是最高的;双引号构成的字符串可以很好的识别转义字符和插入变量,其中包括“/r”和“/n”;HERE DOCUMENT(HEREDOC)的形式是<<<<<"XXX",由HEREDOC构成的字符串可以识别转义字符和插入变量,不识别“/r”和“/n”。PHP 5.3介绍了另一种语法NOWDOC,它的形式是<<<'XXX',标签需要用单引号夹注。
- PHP 5.3.0中引入了命名空间的功能
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
JS相关杂项
C语言杂项知识点.emmx
网络安全杂项相关解题思路整理
ABAP杂项ABAP杂项ABAP杂项ABAP杂项ABAP杂项
杂项问题.txt
杂项支持库
收集 一些VB杂项源代码 可供学习参考 收集一些VB杂项源代码,可供学习参考,这些代码主要有:获取本机网卡物理地址、聊天室、获取CPU信息、在局域网内发送消息、隐藏开始按钮或工具栏、一个下载程序、通过ADO访问和...
CP相关的杂项_C++_下载.zip
杂项设备较简单,不需要将设备加入内核,不创建节点文件,很使用与初学者,易于上手,通过杂项设备,然后可以了解相关知识点,可以对驱动学习、开发更有帮助
该内容为CTF赛题MISC安全杂项经理例题讲解,包含图片隐写,流量分析,web安全等多种题型讲解,图文结合,适合新手学习。
CTF杂项解题思路探究.zip
知识大纲 •密码学相关应用 •密码学简介 •密码学的发展 •密码编码学 •对称与不对称加密 •摘要算法 •常见的编码解码 •ASCII编码 •Base64编码 •URL编码 •Unicode编码 •常见的JS的加解密 •JS混淆 •JSfuck ...
杂项 杂项文件
VC知识库 学习VC的重型武器 今天你看了吗?
里面包含图片隐写术,压缩包破解工具,wireshark,音频分析文件,Winhex进制编辑器,文件分离等
bugku杂项题writeup
ctf汇总(逆向、杂项和加解密) ctf汇总(逆向、杂项和加解密) ctf汇总(逆向、杂项和加解密) ctf汇总(逆向、杂项和加解密) ctf汇总(逆向、杂项和加解密) ctf汇总(逆向、杂项和加解密) ctf汇总(逆向、杂项...
杂项题目练习bugku练习
C语言杂项.zip
Protel99SE杂项Protel99SE杂项