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 方法对模板变量赋值,无论 ...
随机推荐
- C#-----------------------------回收机制中Destroy与null的作用
关于Object被Destroy之后,该Object的原引用==null的问题 标签: unityc#继承对象 2017-01-23 23:32 506人阅读 评论(0) 收藏 举报 分类: Uni ...
- 常用RAID简介_001
RAID定义 RAID(Redundant Array of Independent Disk 独立冗余磁盘阵列)技术是加州大学伯克利分校1987年提出,最初是为了组合小的廉价磁盘来代替大的昂贵磁盘, ...
- 本地没问题 服务器 提示 Server Error in '/' Application
一. 先用本机的 IIS 测试,不要用 VS 内附的 Web server,並配置 <customErrors mode="Off"/>,以將真實的錯誤原因顯示出來,看 ...
- Redis 缓存 + Spring 的集成示例(转载)
1. 依赖包安装 pom.xml 加入: <dependency> <groupId>org.springframework.data</groupId> < ...
- Jenkins使用简易教程
Jenkins是一款能提高效率的软件,它能帮你把软件开发过程形成工作流,典型的工作流包括以下几个步骤 开发 提交 编译 测试 发布 有了Jenkins的帮助,在这5步中,除了第1步,后续的4步都是自动 ...
- Throwable vs Exception
Throwable中的Error是不需要程序处理的. Exception是需要处理的.
- UNIX环境编程学习笔记(22)——进程管理之system 函数执行命令行字符串
lienhua342014-10-15 ISO C 定义了 system 函数,用于在程序中执行一个命令字符串.其声明如下, #include <stdlib.h> int system( ...
- iOS模拟(糟糕的)网络环境
有时候为了模拟在糟糕的网络环境下app的表现,会故意拔网线(断wifi),苹果其实提供了专门的工具来精确地模拟你在几个预设的场景下的网络连接情况:Network Link Conditioner 点击 ...
- Lambda表达式树解析(下)包含自定义的provider和查询
概述 前面章节,总结了Lambda树的构建,那么怎么解析Lambda表达式树那?Lambda表达式是一种委托构造而成,如果能够清晰的解析Lambda表达式树,那么就能够理解Lambda表达式要传递的正 ...
- 如何用BarTender 2016字处理器完成表格设计
很多时候,需要应客户要求,用BarTender 2016设计带表格的标签.在BarTender 2016中字处理器文本对象可以使用字处理中的诸多格式功能(如项目符号.编号列表.表格.混合字体以及RTF ...