php总结_1
?php
//检测变量类型,自己用的最多的是is_array()了,其他的几乎没用过
$array = array(1,9.9,'abc',array(1,2,3),true,null,);
v(is_bool(111)); //false
v(is_integer(9.9)); //false
v(is_double(9.9)); //true
v(is_string('abc')); //true
v(is_null('')); //false
v(is_null(null)); //true
v(is_array($array)); //true
function v($var){
var_dump($var);
}
?>
//类型提示
<?php
class A{
public $name = 'a';
public function say(){
echo 'I am ',$this->name;
}
}
class B{
//类型提示
public function say(A $A){
return $A->say();
}
}
class C{}
$A = new A();
$B = new B();
$B->say($A); //I am a
$B->say(new C()); //报错 Argument 1 passed to B::say() must be an instance of A, instance of C given
?>
静态方法和属性
static关键字是在php 5才引入的。
静态方法是以类为作用域的函数,不能访问这个类中的普通属性,因为普通属性属于一个对象,但可访问静态属性。
<?php
class A{
static public $msg='hello';
static function say(){
return self::$msg;
}
}
class B extends A{
static public $msg = 'world';
static function say(){
return parent::say().' '.self::$msg;
}
}
echo B::say(); //hello world
?>
常量:类访问,声明时无需$符,且值不可改
<?php
//类访问,声明时无需$符,且值不可改
class A{
const PI = 3.14;
public function test(){
//self::PI = 3.15; //报错
return self::PI;
}
}
$a = new A();
echo $a::PI; //3.14
echo $a->test(); //3.14
?>
抽象类:PHP 5引入,不能被实例化,只定义或部分实现子类需要的方法。子类继承并实现其中的抽象方法,使抽象类具体化。
<?php
abstract class A{
protected $name;
public function sing(){ }
abstract public function eat(); //以分号结束
}
//$a = new A(); //Cannot instantiate abstract class A class dog extends A{
// Class dog contains 1 abstract method and must therefore be declared abstract or implement the remaining methods (A::eat)
}
?>
多数情况下,抽象类至少包含一个抽象方法,其中不能有具体内容。如下:
abstrac function test();
抽象类的每个子类都必须实现抽象类中的所有抽象方法。新的实现方法的访问控制权限不能比抽象方法严格,参数个数也要一致。
原文博客地址:http://www.cnblogs.com/lltong/
php总结_1的更多相关文章
- 基于ThinkPHP3的微信平台开发_1
微信公众平台是个好东西,具体的就不说了,我直接说技术>_< 下图为目录结构一览: 微信开发 - 文件目录结构 平台功能: 此次开发的平台是面向多微信公众号.微信多公众号主(下面简称号主)的 ...
- Java线程同步_1
Java线程同步_1 synchronized 该同步机制的的核心是同步监视器,任何对象都可以作为同步监视器,代码执行结束,或者程序调用了同步监视器的wait方法会导致释放同步监视器 synchron ...
- C#后台代码编写图片地址Properties.Resources._1;
if (i == 0) { pictureBox1.Image = Properties.Resources._1; ...
- Java 内存模型_1
title: Java 内存模型_1 date: 2017-01-15 17:11:02 tags: [JMM] categories: [Programming,Java] --- 概述 本文记录 ...
- java 蓝桥杯算法提高 _1区间k大数查询
import java.util.Scanner; public class _1区间K大数查询 { public static void main(String[] args) { Scanner ...
- matlab学习笔记9 高级绘图命令_1 图形对象_根对象,轴对象,用户控制对象,用户菜单对象
一起来学matlab-matlab学习笔记9 高级绘图命令_1 图形对象_根对象,轴对象,用户控制对象,用户菜单对象 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考书籍 <matl ...
- lucene正向索引(续)——每次commit会形成一个新的段,段"_1"的域和词向量信息可能存在"_0.fdt"和"_0.fdx”中
DocStoreOffset DocStoreSegment DocStoreIsCompoundFile 对于域(Stored Field)和词向量(Term Vector)的存储可以有不同的方式, ...
- 图文相关性 flickr数据实验结论_1
初始化的选取很重要,random_uniform的效果远远好于random_normal, 是否有bias对效果影响很小 红色是random_uniform初始化,对比random_normal初始化 ...
- python常用文件处理函数_1
1.range()函数 函数原型:range(start,end,scan) 参数含义:start:计数从start开始.默认是从0开始的,如range()等价于range(0,5) end:计数到 ...
- Javascript初学篇章_1(概念/数据类型)
Javascript是一门脚本语言,主要由浏览器来执行.它可以说是页面的灵魂,让页面活过来.与之前学的HTML5+CSS样式的不同之处就在于,JS能让静态网页成为一个动态网页,实现与用户的互动. Ja ...
随机推荐
- Tomcat翻译--Tomcat Web Application Deployment(Tomcat中部署web应用)
原文:http://tomcat.apache.org/tomcat-7.0-doc/deployer-howto.html Introduction(介绍) Deployment is the te ...
- (转)Java字符串转日期或日期转字符串
文章中,用的API是SimpleDateFormat,它是属于java.text.SimpleDateFormat,所以请记得import进 来! 用法: SimpleDateFormat sdf = ...
- Java_异常_01_org.apache.commons.lang.exception.NestableRuntimeException
异常信息: The type org.apache.commons.lang.exception.NestableRuntimeException cannot be resolved. It is ...
- 关于python包,模块,.pyc文件和文件导入理解
参考文献 一.包 包是一个文件夹,用来存放模块和子包. 包里一般会有一个__init__.py的文件(也可以没有). 包里会有一个__pycache__文件夹,存放.py文件经解释器解释后的中间字节码 ...
- poj3630 Phone List (trie树模板题)
Phone List Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 26328 Accepted: 7938 Descr ...
- STL memory.cpp
memory.cpp # // Filename: memory # # // Comment By: 凝霜 # // E-mail: mdl2009@vip.qq.com # // Blog: ht ...
- Handler的另外一种用法(HandlerThread)
直接上代码: public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Handler ...
- [原]NYOJ-小光棍数-458
大学生程序代写 /http://acm.nyist.net/JudgeOnline/problem.php?pid=458 *题目458题目信息运行结果本题排行讨论区小光棍数 时间限制:1000 ms ...
- 洛谷【P2005】A/B Problem II
题目传送门:https://www.luogu.org/problemnew/show/P2005 高精除低精:https://www.cnblogs.com/AKMer/p/9724556.html ...
- bzoj 4530 大融合 —— LCT维护子树信息
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4530 用LCT维护子树 size,就是实边和虚边分开维护: 看博客:https://blog ...