PHP学习杂记(一)

php.net PHP手册

1.变量无需声明类型。
2.表达字符串的四种方式:单引号,双引号,nowdo结构和Heredoc结构。双引号解析字符串和转义字符,单引号不能。Heredoc结构:和双引号作用一样,不能解析变量和转义字符,以“<<<标识名称”+内容+“标识名称”形式表示,一般用于表示较长的字符串。Nowdoc结构:和单引号作用一样,以“<<<'标识名称'”+内容+“标识名称”的形式表示。
3.数组分为两种:关联数组与索引数组。索引数组与C语言类似,有下标。而关联数组是数组的键是字符串的数组,eg:$students = array('1'=>'Bob','2'=>'Linda')或者$student['1'] = 'apple'。
4.函数如果没有return语句,则默认返回为空。
5.PHP支持可变函数,所谓可变函数,即通过变量的值来调用函数,因为变量的值是可变的,所以可以通过改变一个变量的值来实现调用不同的函数。经常会用在回调函数、函数列表,或者根据动态参数来调用不同的函数。可变函数的调用方法为变量名加括号。eg:function func1(){}    $name='func';    $name(); 
6.内置函数指的是PHP默认支持的函数,PHP内置了很多标准的处理函数,包括字符串处理、数组函数、文件处理、session与cookie处理等。 字符串替换函数string str_replace("str1","str2","...str1...")    boolean function_exists(func_name)
7.在类中,静态方法中不能用this,因为静态方法不属于对象而属于类。
8.类属性必须设置访问权限,而类方法可以不设,默认为公有。
9.this,self,parent分别来表示当前对象,当前类,当前类的父类。
10.单态设计模式:一个类只能有一个实例化对象。方法:构造函数关键字为private;在成员方法中实例化一个对象,且用static修饰;在静态成员方法中实例化对象时要进行判断,先在类中定义一个私有属性设为$obj,让$obj引用实例化的对象,添加判断的语句为if($obj)。
11.接口:关键字为interface,只提供方法,不提供实现(方法体)。一个类实现接口时,必须实现接口中的所有方法。
12.抽象类:介于普通类和接口之间,关键字为abstract,可以有未实现的方法也可以有已实现的方法。子类继承时须实现抽象类的抽象方法。
13.魔术方法1:属性的重载——通过__set,__get,__isset,__unset来分别实现对不可访问属性的赋值、读取、判断属性是否设置、销毁属性。可以用__set()对类中属性进行设置甚至过滤,而__get()可以对类中数据进行保密性访问等。需要说明,isset()和unset()只能访问公有属性,所以在此特定__isset()和__unset()来判断类私有属性是否设置和销毁属性。
14.魔术方法2:__tostring():当类的对象被当做字符串使用时,自动调用__tostring()。__invoke():当对象被当做方法使用时自动调用__invoke()。
15.魔术方法3:方法的重载——__call($name,$arguments):当调用一个不存在的方法时会自动被调用;__callStatic($name,$arguments):当调用一个不存在的静态方法时会自动被地调用。
16.魔术方法4:__clone()实现对象的复制或者深拷贝。
17.print_r print echo die exit
18.implode explode addslashes
19.字符串的{}的作用:变量的定界符,通过花括号对字符串中的指定字符做增删改查操作
20.mt_rand(int min,int max)
21.其他类型转换为字符串:
  (1)数值型转换:数值本身
  (2)布尔数转换:true->1,false->空字符串
  (3)null转换:空字符串
  (4)数组转换:Array
  (5)资源转换:Resource id#数字
  (6)对象不能直接转换为字符串
22.设置类型,永久转换用settype($var,type)。

常用函数,来自慕课网

猜你喜欢

转载自blog.csdn.net/weixin_36525275/article/details/60597870
今日推荐