Ŀ¼
-
PHP
-
PHP
-
PHP
-
PHP
-
PHP
-
PHP
-
PHP
-
PHPsessioncookie
1.PHP
PHPPHPhypertext prerocessorwebHTMLCJavaPerlwebwebPHP
2.PHP
- 基本语法与名词解释
- 变量
- 常量
- 表达式
1)基本语法与名词解释
PHPPHP<?php ?>
这告诉php
此种解析方式使得php
记之外的部分都会被php
分割符号:php
注释方法:phpCC++unit shell
Js
输出方法:echoecho
2)变量
描述:变量是其所表示的值可以发生改变的量,
在php
语法:$
规则:变量名与php
一个有效的变量名由字母或下划线开头,后面跟上任意数量的字母 ,数字,或下划
线。
注意:
- php
- phpjs
- php& 号。
- php
例子:
$var = ‘frank’; $Var = ‘iwen’; echo “$var, $Var”; // 输出 “frank, iwen”
3)
描述:常量指在脚本执行期间该值不能改变的标识符。
常量默认为大小写敏感,传统是常量表示符总是大写的。
语法:define‘常量名’,’简单值’);
规则:常量名和其他任何PHP
合法的常量名以字母和下划线开始,后面跟着任何字母,数字或下划线。
注意:
- 常量实际上可以认为是【宏定义】在php
- 为了区分变量和常量,我们约定常量在定义时均使用大写。
- PhpMC
例子:
define('FRANK', '沃德田・辣么帅'); echo FRANK;
4)表达式:
描述:表达式是phpphp
官方给出的概念是【任何有值的东西均可以称为是表达式】
语法:在php
那就是语句如果不加分号的部分,就是表达式。
注意:
上面的说法并不完全准确,毕竟有一些语句是不使用分号结尾的。
例如流程控制中的if
因此上面的说法只是“简单”设立的一个标准。
例子:
function foo (){return 5;} //函数表达式 $c = $a++ //赋值表达式
3.php
phpjs
(1)Boolean
(2)Integer
(3)Float
(4)String
(5)Array
(6)Object
(7)NULL
介绍数据类型之前,为大家提供两个方法来判别变量的数据类型:
var_dump(|)
gettype(|)
1)
描述:boolean
语法:一般使用TRUEFALSE
注意:
a.(bool)(boolean)
来对非布尔值类型的变量或表达式进行强制类型转换。
b.FALSE
布尔值 FALSE
整型值 0
浮点型值 0.0
空字符串,以及字符串 "0"
不包括任何元素的数组
特殊类型 NULL
c. TRUE NAN
强调:
-1 TRUE
2)整数类型integer
= {..., -2, -1, 0, 1, 2, ...}
语法:
a.前面可以加上可选的符号(- +
b. integer PHP 5.4.0
c. 0
要使用十六进制表达,数字前必须加上 0x
要使用二进制表达,数字前必须加上 0b
注意:
- PHP7,8 9则后面其余数字会被忽略。PHP7,Parse Error
- PHP 1/2 float 0.5
- (int)(integer)
强调:
绝不要将未知的分数强制转换为 integer
3)浮点类型float
描述:浮点类型,又被称为浮点数Floatdoublereal
语法:可以通过一下任何一种类型来定义
$a = 1.234;
$b = 1.2e3;
$c = 7E-10;
注意:
- epsilon
- NAN和truefalse
强调:
由于 NAN NAN
4)字符类型
描述:字符类型也叫字符串类型,是由一系列字符构成。
其中每一个字符等同于一个字节,因此php256
也正因为这样其不支持Unicode
语法:php
注意:
- php\
- php
- php
- php.+
例子:
$frank = '张先森'; echo 'my name is $frank'."<br/>"; echo "my name is $frank";
5Array
描述:phpkeysvalues
语法:
array( key => value , ... )
// keyinteger string
// value
自php5.4[]array()
注意:
- phpechoprint_r()
- phpjs
- php[]
- phpcount()
- phpkey而是仅添加当前新输入的key$arr[100] = 100.100
例子:
print_r($frank = ['11','22','33']); print_r($frank[0]); $frank[100] = 960; print_r($frank); echo count($frank);
6)对象类型object
描述:phpnew
语法:$obj = new Func;
注意:
- phpclass
- php->.
例子:
class Peo{ function eat(){ echo '我会吃饭'; } } $frank = new Peo; print_r($frank->eat());
补充:对于类和对象的使用方法远不止如此,而在数据类型当中我们只需要知道
对象类型是如何创建的即可,剩余部分会在类和对象中详细说明。
7)空值类型NULL
描述:NULLNULLNULL
注意:NULLNULLnull
例子:
var_dump($frank = NULL);
4.php
phpjs
(1)+.
(2)+=.=
原本的+=
$str1 = '123'; var_dump($str1+= '456');//int(579) $str1 = ‘123’; var_dump($str1.= '456');//string(6) "123456"
5.php
phpjs
phpjs
(1)for-inforeach
(2)includerequire, 文件的单次引入语句include_oncerequire_once
1)foreach
描述:foreach foreach
如果尝试应用于其他数据类型的变量,或者未初始化的变量将发出错误信息。
语法:
foreach (array_expression as $value) { statement }
或者
foreach (array_expression as $key => $value) { statement }
注意:
a. array_expression
当前单元的值被赋给 $value
(因此下一次循环中将会得到下一个单元)。
b.$key
例子:
$arr = [1,2,3,4,5]; foreach ($arr as $index => $value) { echo '$arr['.$index.']:'.$value."<br/>"; }
2)includerequire
描述:includerequire
但未找到文件include
语法:
include |';
注意:
a.include
从该处开始,调用文件在该行处可用的任何变量在被调用的文件中也都可用。
b.
例子:
vars.php <?php $color = 'green'; $fruit = 'apple'; ?> test.php <?php echo "A $color $fruit"; // A include 'vars.php'; echo "A $color $fruit"; // A green apple ?>
6.php
phpjs
例如:
函数的声明语法由function
函数参数写在小括号内部,
函数返回值在函数内部采用return
函数可以先使用后声明
函数内部返回的函数()
php
但phpjs
例如:
在函数外部定义的全局变量并不能在函数内部直接使用,
而是需要通过关键词global
例如:
$num = 100; //设置全局变量$num function func(){ global $num; //在函数内部声明$num为全局变量,否则调用出错 echo $num; //输出结果为100,证明访问成功 $num++; //对全局变量做出修改 } func(); echo $num; //在函数外部再次输出$num,得出结果101
通过上面的例子得出:
在phpglobal
否则无法生效。
7.php
phpjavascriptphp
因此暂时撇开目前对类和对象所保留的认知,让我们一起来看看在php
我们从下面几个角度来讨论一下php
(1)php
(2)php
(3)php
(4)php
(5)php
(6)php
1)Php
描述:php class
括号内包含有类的属性与方法的定义。
语法:class { }
说明:
a.PHP 后面跟着若干字母,数字或下划线。
b.
例子:
class Peo{ public $peoName = ‘people name’; //public是一个关键词,稍后再说 function showSelf(){ echo 'hello world!'; } }
2)Php
描述:要创建一个类的实例,必须使用 new
语法:$= new ();
说明:
a.new
b.
例子:
class Peo{ public $peoName = ‘people name’; function showSelf(){ echo 'hello world!'; } } $frank = new Peo;//Peo Object ( [peoName] => people name ) print_r($frank);
3)php
描述:类内部的变量成员称为属性,或字段、特征。
语法:由关键字publicprotectedprivate
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
描述:php
语法:类常量由关键词conststatic
class {
const ($) = ;
static ($) = ;
}
说明:
a.const
b.static
c.conststatic::
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 (){ }
}
说明:两种写法都能够实现构造函数的主动编辑,但是需要知道系统自动提供的是第二中结构
例子:
class Peo{ public $peoName; function __construct(){$this->peoName = '默认值';} } $frank = new Peo(); echo $frank->peoName;
6)php
描述:继承有时也被称为类扩展。是指子类会继承父类所有公有的和受保护的属性方法。
在phpextends
语法:function SonClassName extends FatherClassName{
子类结构
}
说明:
a.
b.
c.
对于受保护的属性和方法的继承,可以在【父类或子类内部】使用
对于私有的属性和方法,子类不能够继承。
例子:
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/>"; } } $father = new Father(); echo $father->pubPro;//父类公开的属性 echo $father->protecPro;//报错,受保护属性外部无法直接访问 echo $father->priPro;//报错,私有属性外部无法访问 $father->fatherPublicPut();//父类公开的属性、父类受保护属性、父类私有属性 $father->fatherProtectPut();//报错,受保护方法外部无法直接访问 $father->fatherPrivatePut();//报错,私有方法外部无法直接访问 $son = new Son(); echo $son->pubPro;//父类公开的属性(继承来的) echo $son->protecPro;//报错,受保护属性外部无法直接访问 echo $son->priPro;//报错,私有属性外部无法访问 $son->fatherPublicPut();//父类公开的属性、父类受保护属性、父类私有属性(继承来的) $son->fatherProtectPut();//报错,受保护方法外部无法直接访问 $son->fatherPrivatePut();//报错,私有方法外部无法直接访问 $son->SonSelfPut();//父类公开的属性、父类受保护的属性、报错(证明继承的属性只有public和protected的属性)
8)phpsessioncookie
sessioncookieajax
名词解释:
cookie
session
原理说明:
当后台返回给前台数据的时候,添加的一段“持久”的信息。
因此这段信息必须在php
相关技术:
(1)php$_GET$_POSTphpgetpost
(2)phptime()
(3)phpsetcookie('key','value',);
(4)htmldocument.cookiecookie
HTML
$('button').click(function (){ $.ajax({ type:"post", url:"php文件地址", data:{ username:"frank", password:"123456" }, jsonType:"json", success:function(data){ console.log(data); } }); });
PHP
$uname = $_POST["username"]; $upass = $_POST["password"]; if(($uname=='frank')&&($upass=='123456')){ //表示cookie有效时间只能保存20s setcookie("username",$uname,time()+20); setcookie("password",$upass,time()+20); echo '登录成功'; }else{ echo '登录失败'; }
来源:博客园
作者:Jackey-jiang
链接:https://www.cnblogs.com/Jiang-jiang936098227/p/11601238.html