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 方法对模板变量赋值,无论 ...
随机推荐
- Wireshark 捕获过滤器的语法
转自:http://blog.csdn.net/qq_29277155/article/details/52077239 前言 我们都知道,wireshark可以实现本地抓包,同时Wireshark也 ...
- Spring JDBC RowMapper接口示例
JdbcTemplate类使用org.springframework.jdbc.core.RowMapper <T>接口在每行的基础上映射ResultSet的行.该接口的实现执行将每行映射 ...
- e612. Moving the Focus to the Next or Previous Focusable Component
The methods to move the focus to the next or to the previous focusable component are Component.trans ...
- c# mvc 获取 HtmlHelper 表达式值和时间格式化 去边框
/// <summary> /// 返回没有边框的只读的TextBox标签 /// </summary> /// <typeparam name="TModel ...
- 贫血模型;DTO:数据传输对象(Data Transfer Object);AutoMapper ;Domain Model(领域模型);DDD(领域驱动设计)
====================== 我自己的理解 ========================== 一: DTO 我自己的理解,就是 比如你有一个类,跟数据库的table表结构一模一 ...
- SqlParameter 之 in
List<string> ConditionList = new List<string>(); List<string> tempParameters = new ...
- 纯CSS3实现的顶部社会化分享按钮
今天要分享一款纯CSS3实现的社会化分享按钮,它放置在网页的顶部,你可以选择将它固定在网页顶部,这样对用户分享内容就十分方便.这些社会化分享按钮的图标文件来自google和bootstrap的字体文件 ...
- Eclipse安装图形JFrame,Jswing编程界面
打开eclipse,选择help--->install new software 来源http://www.cnblogs.com/xiaobo-Linux/p/7954274.html 打开网 ...
- linux 系统安装mysql (rpm)
其实按照本文安装成功,但是启动依然有问题:最好参考链接配置. http://blog.csdn.net/xiaoxiaoxuewen/article/details/7550107 我用的是ubunt ...
- Gridview各种功能+AspNetPager+Ajax实现无刷新存储过程分页 (留着用)
存储过程: GetProductsCount1: GetProductsByPage: ) * @PageSize) +' id from test)' exec sp_executesql @sql ...