在php学习中经常搞不明白 ->,=>,::,$this->的作用,下面通过例子讲解下。
1.数组([])
php的变量名后加中括号[ ]表示定义一个数组
$searchs[] 这样就是定义一个名为 searchs 的数组。
当$searchs 数组下标是逐步递增的数值时,就可这样定义数组的值。
如果 $searchs[0]='111';
$searchs[] = '{actor}' 就相当于$searchs[1] = '{actor}';
如果$searchs没有定义任何值,则相当于$searchs[0] = '{actor}';
2.数组(=>)
数组中“=>”用来定义数组值的,比如:
- $arr1 = array(0=>'php',1=>'is',the=>'the');
- Echo $arra[0],$arr1[1],$arr[‘the’]; //对应输出设置的值
复制代码
3.类(class)
在 PHP 中,可以使用 class 关键字加类名的方式定义一个类,然后用大括号{}将在类体中定义类的属性和方法包裹起来,类的语法格式如下:
- [修饰类的关键字] class 类名{
- 类的属性和方法;
- }
复制代码
4.函数(function)
函数是单独存在的,也就是面向过程部分定义的。平常说的函数,应该是全局作用域里的函数,引入后可以在任何地方直接调用。
函数,你可以当做一个算法的实现。
function是用于声明用户自定义函数的关键字。
5.方法(function)
方法是“类”里的"函数",只能通过对象调用;特别的,类的静态方法能够通过类名直接调用。
方法是依赖于“类”存在的,也就是面向对象中定义的。
方法,则可以当做一个业务逻辑的实现。
类的方法可以设定访问权限,需要通过对象或者类来调用;函数是公共的,都可以使用。
6.实例化对象(new)
当定义好类后,我们使用new关键字来生成一个对象。
$对象名称 = new 类名称();
$对象名称 = new 类名称([参数列表]);
7.类的内部使用本类的属性或方法($this->)
我们一般在一个类的内部使用本类的属性或方法时,就使用$this->
$this->表示实例化后的具体对象
示例:
- Class a{
- Var $name;
- Function Getname(){
- Echo $this->name;
- }
- }
- //实例化一个对象
- $name1 = new a;
- $name1->name = “赋值给name”;
- $name1->Getname(); //调用函数,并且输出为 “赋值给name”
复制代码
8.对象的属性和方法(->)
php 中的 "->" 符号是用在对象中的,使用之前需要实例化一个对象, "->" 的左边是对象名称,右边是对象的属性或者方法,也就是右边用来引用一个类的属性(变量)或方法(函数)。可以把 "->" 理解成调用的意思。
示例一:- <?php
- //一个Person类
- //有三个属性和两个方法
- class Person
- {
- var $name; //人的名子
- var $sex; //人的性别
- var $age; //人的年龄
- function sayHello() //这个人可以说话的方法
- {
- echo $this->name."对你说Hello";
- }
- function run($step) //这个人可以走路的方法
- {
- echo "这个人走了".$step."步";
- }
- }
- //实例化一个对象
- $p1=new Person();
- //对象属性初始化
- $p1->name="张三";
- //调用 方法
- $p1->sayHello();
- $p1->run(5);
- ?>
复制代码
示例二:
- <?php
- //一个people类
- //有两个属性和一个方法
- class People{
- public $name;
- public $age;
- function say($word)
- {
- echo $word;
- }
- }
- //实例化一个对象
- $a = new People();
- //对象属性初始化
- $a->name="zhangsan";
- echo $a->name;
- //调用 方法
- $a->say("hello");
- ?>
复制代码
9.调用类中静态属性和静态方法(::)
PHP中双冒号“::”用来直接调用类中的属性或方法,正常的情况我们用实例化对象来调用类中的属性或方法,但使用::可以不需要实例化对象,直接调用即可。
示例:- Class b{
- Var $name=”test”;
- Function Getname(){
- Echo “test is good”;
- }
- }
- //直接调用
- Echo b::Getname();//输出为test is good
复制代码
相关链接:
http://www.admin365.cn/thread-40704-1-1.html
10.三目(元)运算符(?:)
PHP中由问号(?)和冒号(:)组成三目(元)运算符
三目运算符格式:(expr1) ? (expr2) : (expr3)
相关关链接:
http://www.admin365.cn/thread-45928-1-1.html
11.连接赋值运算符“ .=”
在php中 .= 符号被称为连接赋值运算符,是用来连接两个或多个字符串的,而它与“.”连接运算符不同的是,它将右边参数拼接到左边的参数的后边,并在赋值给左边的参数。
例如:
$a = 'a';
$a .= 'bc'; //相当于 $a = 'a'.'bc'
当变量$a的值为 a 时
执行$a .= 'bc'
结果为$a = 'abc'
当变量$a的值为 x 时
执行$a .= 'bc'
结果为$a = 'xbc'
|
|