php基础学习

1.php简介

php:personal home page 个人主页(面试可能会问)
Hypertext Preprocessor 超文本预处理器
html:Hyper Text Markup Language 超文本标记语言

2.php概述与名词解释

(1)基本语法与名词解释
1.php标记:<?php 和 ?>
分隔符号:php 需要在每个语句后用分号;结束指令,需要注意的是必须采用英文输出。
输出方法:echo命令
(2)变量
语法:$变量名
笔记:不需要var声明,直接使用即可
(3)常量
语法:define(‘常量名’, ‘简单值’);
为了区分变量和常量,我们约定常量在定义时均使用大写
php中实际上并不是所有的常量的值都不能改变,MC(魔术常量例如:this)就能够发生改变。
(4)表达式
语法:在php中表达式无法精确的被给出一个语法来设定,但可以简单设立一个通俗的标准。
那就是语句如果不加分号的部分,就是表达式。

3.php常见数据类型

var_dump(变量|表达式):函数用来查看表达式的值和归属类型。
gettype(变量|表达式) :函数用来查看变量或表达式的类型。
(1)布尔类型:Boolean
a.可以使用(bool)或(boolean)强制转换修饰符,
来对非布尔值类型的变量或表达式进行强制类型转换。
b.当转换为布尔值类型时,以下值被认为是FALSE
布尔值 FALSE 本身
整型值 0(零)
浮点型值 0.0(零)
空字符串,以及字符串 “0”
不包括任何元素的数组
特殊类型 NULL(包括尚未赋值的变量)
c.所有其它值都被认为是 TRUE(包括任何资源 和 NAN)
(2)整数类型:Integer
要使用八进制表达,数字前必须加上 0(零)。
要使用十六进制表达,数字前必须加上 0x。ren
要使用二进制表达,数字前必须加上 0b。
(3)浮点类型:Float
$a = 1.234;
$b = 1.2e3;
$c = 7E-10;

(4)字符类型:String
注意:php对双引号定义的字符串中的变量可以进行内容解析,而单引号则不行。
PHP独有!!!

(5)数组类型:Array
array( key => value , … )
// 键(key)可是是一个整数 integer 或字符串 string
// 值(value)可以是任意类型的值 。
1.php中数组的长度读取通过count()函数实现
2.php中数组内部添加原本并不存在的key值,不会补齐之间的差值,

(6)对象类型:Object
语法:$obj = new Func;
注意:
a.php中类由class关键字声明,类名后没有小括号。
b.php中类内部的方法由->箭头来调用,而不是.点运算符。
例子:

 class Peo{
				function eat(){
					echo '我会吃饭';
				}
		   }
		   $frank = new Peo;
		   print_r($frank->eat());

(7)空值类型:NULL

4.php运算符

(1)字符串的拼接符号不再是+加号运算符,而是.点运算符。
(2)字符串内的+=运算符号也不再表示拼接,而是使用.=来进行拼接。
原本的+=仅用来单纯的数学运算累加。

5.php流程控制语句

(1)快速遍历不再是for-in结构,而是提供了一个foreach语句
(2)文件引入语句includerequire
文件的单次引入语句include_once和require_once

6.php函数

在函数外部定义的全局变量并不能在函数内部直接使用,而是需要通过关键词global在函数内部再次声明才可以。

7.php类与对象

(1)php中的类
描述:php中类的定义都以关键字 class 开头,后跟类名,再后面跟着一对花括号。
括号内包含有类的属性与方法的定义。
语法:class 类名 { 类内部的结构 }
一个类可以包含有属于自己的常量,变量【属性】以及函数【即方法】。
(2)php中的对象
描述:要创建一个类的实例,必须使用 new 关键字。类应在被实例化之前定义。
语法:$对象名 = new 类名();
说明:
a.对于创建对象的语句中,new后面的类名后有没有小括号都可以。
b.对象与对象之间的传值仍然是赋值传递,只不过传递的内容是一个内存地址。
(3)php中类的属性与属性类型关键词
语法: class 类名{
属性关键词 $变量名(属性名) = 属性值;
属性关键词 function 方法名 (参数1,参数2,…){ 方法内容代码; }
}
说明:
a.属性中的变量可以初始化,但初始化的值必须是常数。
b.类的属性和方法如果没有写明类型关键词,则都默认是公有
public:被定义为公有的类成员可以在任何地方被访问。
protect:被定义为受保护的类成员则可以被其自身以及其子类和父类访问。
private:被定义为私有的类成员则只能被其定义所在的类访问。
c.在类的成员方法中,可以用->来访问非静态属性,其中->称为对象运算符

class Peo{
	public $peoName = ‘people name’;		//声明公有属性
	private function showSelf(){				//声明私有方法
		echo 'hello world!';
	}
	public function canUsedFunc(){			//声明公有方法
		$this->showSelf();				
	}		//$this是一个伪对象,表示当前正在调用这个方法的对象
}

$frank = new Peo();							//实例化一个Peo类的对象
echo $frank->peoName;						//通过->访问对象的公有属性

$frank->peoName = ‘Frank’;					//修改对象的公有属性
echo $frank->peoName;						

$frank->canUsedFunc();						//调用对象的公有方法,间接执行私有方法

(4)php中的类常量与静态变量
语法:类常量由关键词const声明,而静态变量则使用关键词static声明
class 类名{
const 类常量(没有 开 头 ) = 简 单 值 ; s t a t i c 静 态 变 量 名 ( 有 开头) = 简单值; static 静态变量名(有 )=;static(开头) = 简单值;
}
说明:
a.由const声明的类常量不允许发生任何改变,一经声明值即固定。
b.由static声明的静态变量的语句,则仅在类被声明的时候执行一次,但可以修改。
c.无论是const声明的类常量还是static声明的静态变量,两者的调用方式均为::调用
d.两者在调用的时候均可以不实例化对象直接通过类名调用。

class Peo{
	const peoName = ‘people name’;	//声明类常量
}
echo Peo::peoName;					//不实例化也能直接通过类名访问
$frank = new Peo();							
echo $frank::peoName;				//实例化后可以通过对象访问

class Peo{
	static $peoAge = 18;				//声明静态变量
}
echo Peo::$peoAge;					//直接通过类名访问
Peo::$peoAge++;						//修改静态变量的值
echo Peo::$peoAge;					//确认修改

$frank = new Peo();					//实例化对象,但静态变量声明语句不执行
echo $frank::$peoAge;				//输出静态变量是刚才修改的值。

(5)php中类的构造函数
描述:构造函数是类在实例化对象的时候自动执行,用来帮助类去构造对象的函数。
php为所有的类都提供了一个和类名相同的隐藏构造函数。
可以通过显示编写或通过__construct函数来主动进行编辑。
语法:
class 类名{
//function __construct(){ 主动修改的代码 }
function 类名(){ 主动修改的代码 }
(6)php中类的继承

class Father{
	public $pubPro = '父类公开的属性';
	protected $protecPro = '父类受保护的属性'; 
	private $priPro = '父类私有的属性';
	
	public function fatherPublicPut(){
		echo $this->pubPro."<br/>";
		echo $this->protecPro."<br/>";
		echo $this->priPro."<br/>";}
	protected function fatherProtectPut(){
		echo $this->pubPro."<br/>";
		echo $this->protecPro."<br/>";
		echo $this->priPro."<br/>";}
	private function fatherPrivatePut(){
		echo $this->pubPro."<br/>";
		echo $this->protecPro."<br/>";
		echo $this->priPro."<br/>";
	}
}
class Son extends Father{
public function SonSelfPut(){
	echo $this->pubPro."<br/>";
	echo $this->protecPro."<br/>";
	echo $this->priPro."<br/>";
}

结果
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值