PHP 进阶(一)

学习一门语言实在是需要大量的知识储备来堆砌而成。

PHP 进阶(一)

千万不要想着一步登天。经历痛苦过程才能获得最终的胜利!赶紧收下这一波干货吧,前方高能---------

1.数组的定义:$arr = array();表示创建一个空数组,并把创建的空数组赋值给变量$arr。数组的默认键值是从0开始的。

2. PHP有两种数组:索引数组、关联数组。

索引和关联两个词都是针对数组的键而言的。

先介绍下索引数组,索引数组是指数组的键是整数的数组,并且键的整数顺序是从0开始,依次类推。

3. 索引数组赋值有三种方式:

第一种:用数组变量的名字后面跟一个中括号的方式赋值,当然,索引数组中,中括号内的键一定是整数。比如,$arr[0]='苹果';

第二种:用array()创建一个空数组,使用=>符号来分隔键和值,左侧表示键,右侧表示值。当然,索引数组中,键一定是整数。比如,array('0'=>'苹果');

第三种:用array()创建一个空数组,直接在数组里用英文的单引号'或者英文的双引号"赋值,数组会默认建立从0开始的整数的键。比如array('苹果');这个数组相当于array('0'=>'苹果');

4.$fruit=array('苹果','香蕉','菠萝');

for($i=0; $i<3; $i++){

echo '
数组第'.$i.'值是:'.$fruit[$i];

}

for循环可以将数组里的所有值都访问到;还有foreach:

PHP 进阶(一)

5. 关联数组是指数组的键是字符串的数组。

例如:

PHP 进阶(一)

6. 关联数组赋值有两种方式:

第一种:用数组变量的名字后面跟一个中括号的方式赋值,当然,关联数组中,中括号内的键一定是字符串。比如,$arr['apple']='苹果';

第二种:用array()创建一个空数组,使用=>符号来分隔键和值,左侧表示键,右侧表示值。当然,关联数组中,键一定是字符串。比如,array('apple'=>'苹果');

7. isset()函数用于判断某变量是否为空,若不为空,则返回TRUE;为空,返回FALSE。

用数组变量的名字后跟中括号+键的方式来访问数组中的值,键使用单引号或者双引号括起来

8. PHP类和对象

类是面向对象程序设计的基本概念,通俗的理解类就是对现实中某一个种类的东西的抽象, 比如汽车可以抽象为一个类,汽车拥有名字、轮胎、速度、重量等属性,可以有换挡、前进、后退等操作方法。

类是一类东西的结构描述,而对象则是一类东西的一个具体实例

在多种计算机编程语言中,var 被用作定义变量的关键字

9.

在car类中定义一个function叫getName,()内为空表示不需要传参数就可以调用,而这个getName的作用就是返回本类对象的名字(return $this->name)

类通过关键字class开头,然后是类名与花括号,在花括号中定义类的属性与方法。类名必须是字母或下划线开头,后面紧跟若干个字母、数字或下划线,类名最好能够表意,可以采用名词或者英文单词。

要创建类的实例:使用New关键字

PHP 进阶(一)

PHP 进阶(一)

10. 在类中定义的变量称之为属性,通常属性跟数据库中的字段有一定的关联,因此也可以称作“字段”。属性声明是由关键字 public,protected 或者 private 开头,后面跟一个普通的变量声明来组成。属性的变量可以设置初始化的默认值,默认值必须是常量。

默认都为public,外部可以访问。一般通过->对象操作符来访问对象的属性或者方法,对于静态属性则使用::双冒号进行访问

受保护的属性与私有属性不允许外部调用,在类的成员方法内部是可以调用的。

例如

私有变量price只在内部被调用

PHP 进阶(一)

11.方法:方法就是在类中的function,很多时候我们分不清方法与函数有什么差别,在面向过程的程序设计中function叫做函数,在面向对象中function则被称之为方法。同属性一样,类的方法也具有public,protected 以及 private 的访问控制。

使用关键字static修饰的,称之为静态方法,静态方法不需要实例化对象,可以通过类名直接调用,操作符为双冒号::。

PHP 进阶(一)

12.“+=”号表示左右相加赋值给左边

静态方法中,$this伪变量不允许使用。可以使用self,parent,static在内部调用静态方法与属性

13. HP5可以在类中使用__construct()定义一个构造函数,具有构造函数的类,会在每次对象创建的时候调用该函数,因此常用来在对象创建的时候进行一些初始化工作。

PHP 进阶(一)

14. 静态属性与方法可以在不实例化类的情况下调用,直接使用类名::方法名的方式进行调用。静态属性不允许对象使用->操作符调用。

15. 对象比较,当同一个类的两个实例的所有属性都相等时,可以使用比较运算符==进行判断,当需要判断两个变量是否为同一个对象的引用时,可以使用全等运算符===进行判断


分享到:


相關文章: