PHP关于=>和->以及::的用法
1、=>的用法
在php中数组默认键名是整数,也可以自己定义任意字符键名(最好是有实际意义),如:
$css=array('style'=>'0',‘color’=>‘green‘);
则$css['style']=='0',$css['color']=='green'。
2、->的用法
->用来引用对象的成员(属性与方法);

1 <?php
2 $arr=['a'=>123,'b'=>456];//数组初始化
3 echo $arr['a'];//数组引用
4 print_r($arr);//查看数组
5 class A{
6 public $a=123;
7 public $b=456;
8 }
9 $obj=new A();
10 echo $obj->a;//对象引用
11 print_r($obj);//查看对象
12 ?>

输出结果:

123Array
(
[a] => 123
[b] => 456
)
123A Object
(
[a] => 123
[b] => 456
)

3、::的用法
双冒号操作符即作用域限定操作符Scope Resolution Operator可以访问静态、const和类中重写的属性与方法。
(1)Program List:用变量在类定义外部访问

1 <?php
2 class Fruit {
3 const CONST_VALUE = 'Fruit Color';
4 }
5
6 $classname = 'Fruit';
7 echo $classname::CONST_VALUE; // As of PHP 5.3.0
8
9 echo Fruit::CONST_VALUE;
10 ?>

(2)Program List:在类定义外部使用::

1
2 <?php
3 class Fruit {
4 const CONST_VALUE = 'Fruit Color';
5 }
6
7 class Apple extends Fruit
8 {
9 public static $color = 'Red';
10
11 public static function doubleColon() {
12 echo parent::CONST_VALUE . "\n";
13 echo self::$color . "\n";
14 }
15 }
16
17 Apple::doubleColon();
18 ?>

(3)Program List:调用parent方法

1 <?php
2 class Fruit
3 {
4 protected function showColor() {
5 echo "Fruit::showColor()\n";
6 }
7 }
8
9 class Apple extends Fruit
10 {
11 // Override parent's definition
12 public function showColor()
13 {
14 // But still call the parent function
15 parent::showColor();
16 echo "Apple::showColor()\n";
17 }
18 }
19
20 $apple = new Apple();
21 $apple->showColor();
22 ?>

(4)Program List:使用作用域限定符

1
2 <?php
3 class Apple
4 {
5 public function showColor()
6 {
7 return $this->color;
8 }
9 }
10
11 class Banana
12 {
13 public $color;
14
15 public function __construct()
16 {
17 $this->color = "Banana is yellow";
18 }
19
20 public function GetColor()
21 {
22 return Apple::showColor();
23 }
24 }
25
26 $banana = new Banana;
27 echo $banana->GetColor();
28 ?>

(5)Program List:调用基类的方法

1
2 <?php
3
4 class Fruit
5 {
6 static function color()
7 {
8 return "color";
9 }
10
11 static function showColor()
12 {
13 echo "show " . self::color();
14 }
15 }
16
17 class Apple extends Fruit
18 {
19 static function color()
20 {
21 return "red";
22 }
23 }
24
25 Apple::showColor();
26 // output is "show color"!
27
28 ?>

PHP关于=>和->以及::的用法的更多相关文章
- EditText 基本用法
title: EditText 基本用法 tags: EditText,编辑框,输入框 --- EditText介绍: EditText 在开发中也是经常用到的控件,也是一个比较必要的组件,可以说它是 ...
- jquery插件的用法之cookie 插件
一.使用cookie 插件 插件官方网站下载地址:http://plugins.jquery.com/cookie/ cookie 插件的用法比较简单,直接粘贴下面代码示例: //生成一个cookie ...
- Java中的Socket的用法
Java中的Socket的用法 Java中的Socket分为普通的Socket和NioSocket. 普通Socket的用法 Java中的 ...
- [转载]C#中MessageBox.Show用法以及VB.NET中MsgBox用法
一.C#中MessageBox.Show用法 MessageBox.Show (String) 显示具有指定文本的消息框. 由 .NET Compact Framework 支持. MessageBo ...
- python enumerate 用法
A new built-in function, enumerate() , will make certain loops a bit clearer. enumerate(thing) , whe ...
- [转载]Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的用法总结
本文对Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的用法进行了详细的总结,需要的朋友可以参考下,希望对大家有所帮助. 详细解读Jquery各Ajax函数: ...
- 【JavaScript】innerHTML、innerText和outerHTML的用法区别
用法: <div id="test"> <span style="color:red">test1</span> tes ...
- chattr用法
[root@localhost tmp]# umask 0022 一.chattr用法 1.创建空文件attrtest,然后删除,提示无法删除,因为有隐藏文件 [root@localhost tmp] ...
- 萌新笔记——vim命令“=”、“d”、“y”的用法(结合光标移动命令,一些场合会非常方便)
vim有许多命令,网上搜有一堆贴子.文章列举出各种功能的命令. 对于"="."d"."y",我在无意中发现了它们所具有的相同的一些用法,先举 ...
- [转]thinkphp 模板显示display和assign的用法
thinkphp 模板显示display和assign的用法 $this->assign('name',$value); //在 Action 类里面使用 assign 方法对模板变量赋值,无论 ...
随机推荐
- e615. Finding the Next Focusable Component
public Component findNextFocus() { // Find focus owner Component c = KeyboardFocusManager.getCurrent ...
- Eclipse的SVN插件移动中文名称文件提示org.tigris.subversion.javahl.ClientException: Bogus URL
今天一个同事使用Eclipse的SVN插件,在"SVN资源库"视图,移动一个中文名称的文件,提示org.tigris.subversion.javahl.ClientExcepti ...
- Mysql:This version of MySQL doesn’t yet support ‘LIMIT & IN/ALL/ANY/SOME 错误解决
From: http://blog.chinaunix.net/uid-22414998-id-2945656.html This version of MySQL doesn’t yet suppo ...
- 《C程序猿从校园到职场》带领大家从校园走向职场
七夕节刚过.就有好消息传来:本人新书<C程序猿从校园到职场>正式出版并在各大电商平台上发售了! 以下.让我们一起来赞赏一下纸质书的"风採"吧. 本书文件夹 第1章 概述 ...
- categorys
//spark-shell --driver-class-path /home/hadoop/test/mysqljdbc.jarimport java.sql.DriverManager// --q ...
- 安装vmware vCenter Appliance
vcenter appliance是一个vmware配置好的基于suse系统的vcenter的all in one式的虚拟机,比安装基于windows的vcenter服务省事多了,所以我选择部署vCe ...
- [MVC] 自定义ActionSelector,根据参数选择Action
很多时候我们会根据UI传入的参数,呈现不同的View.也就是对于同一个Action如何根据请求数据返回不同的View.通常情况下我们会按照如下方法来写,例如: [AcceptVerbs(HttpVer ...
- Java 11正式发布,这几个逆天新特性教你写出更牛逼的代码
就在前段时间,Oracle 官方宣布 Java 11 (18.9 LTS) 正式发布,可在生产环境中使用! 这无疑对我们来说是一大好的消息.作为一名java开发者来说,虽然又要去学习和了解java11 ...
- 如何用BarTender 2016字处理器完成表格设计
很多时候,需要应客户要求,用BarTender 2016设计带表格的标签.在BarTender 2016中字处理器文本对象可以使用字处理中的诸多格式功能(如项目符号.编号列表.表格.混合字体以及RTF ...
- css 中的相对定位和绝对定位
1.默认不写position的话,值为static. 2.相对定位:相对于元素自己本身的位置偏移,虽然位置偏移,但元素本身占据的空间并不释放. 3.绝对定位:相对于离它最近的,position不为st ...