1、PHP 动态的交互计算机语言
静态交互 html css js
但凡是动态交互的都需要服务器
服务器:在同一环境下的服务器都可以访问。
2、PHP中我们使用的集成服务器PHPstudy
apache:服务器
mysql:数据库
www:根目录
写好的项目放在根目录下。
如何访问
遵循协议:https://域名:端口
3、PHP都是以.php 结尾的文件
html文件,不可以写PHP代码,但是PHP文件中可以写html代码,
对比template
html该怎么写就怎么写,js写在<% js代码 %>
php模板
html该怎么写就怎么写,但是PHP代码写在<?php ?>
PHP语法
php代码写在<?php 里面 ?>
文件名 .php
php注释: // /* */
php输出语句 echo print (其中echo 为最常用的,能力比print 处理的好一些)
变量:
1.变量的命名:区分大小写,不能用特殊符号
2.变量的标志: $a 变量a
3.变量的赋值:
使用=赋值,(=就是赋值运算,从右往左,$a=2 把2赋值变量a)
本质上来说,把存放2的数据空间的地址,赋值给变量a,如果=右边是基本数据类型php,默认的把地址空间为一体,直接赋值变量a
php的数据类型
基本数据类型:例如(int) 基本数据类型赋值,可以直接忽略掉地址,直接赋值;
复合数据类型:例如(array) 如果就想把地址赋给变量,我们需要在前面加上一个地址符& ,他的赋值就是操作地址,不再操作值;
php 变量的作用域;
函数外:全局作用域;
函数内:局部作用域;
和js的区别:js有作用域链,php没有,php中的变量全局作用域不能访问局部,局部不能访问全局;
要访问的需要手动操作;
作用域的四个关键字
global 全局
cocal 局部
static 静态
parameter 参数
static:
函数每次调用完毕后会自动消除内存,但我们需要函数内的一个变量内存不被销毁,js使用闭包,php使用static关键字就解决了。
parameter 所有参数作用域都是局部的
局部非要访问全局变量,在局部变量前加关键字global global $a 不能赋值 赋值需单独拿出来
php中的数据类型主要针对变量
string int float boolean array object null;
基本数据类型:string int float boolean
复合数据类型:array object
php是弱类型语言,就是数据类型跟你声明时没有关系,而跟他的赋值有关
var_dump() 返回变量的数据类型和值
isset() 判单该变量是否赋值 返回值 1 代表赋值了 空 代表没赋值;
字符串:
1.并置运算 (相当于js的字符串拼接) 通过.
案例:
$name="小宁";
echo $name."好漂亮";
输出为 小宁好漂亮
2.strlen() 返回字符串的长度
在php中 一个字符一个字符,一个汉字 3个字符长
php中的中文乱码问题
在开头加上 header("content-type:text/html;charset=utf-8");
运算符
四则运算 + - * /
赋值运算 $a+=2 等价$a=$a+2;
自增 自减 $a++(先利用再加) $a-- ++$a(先加在利用) --$a
比较运算符 ==(判断用) >= <=
===和==的区别?
前者要求不光值相等,数据类型也相等 后者要求值相等
布尔值true为1 false不出
逻辑运算
|| && !
|| 有一个为true,就返回true
&& 有两个为true,才返回true
! 对立面
三元运算:(三目运算) 条件?语句1:语句2;
$b=5; 三元过程解析:= 从右往左,第一步先判断,b 条件成立,返回2,否则返回3;
$n=$b>4?2:3; 将2的结果赋给$n
echo $n;
% 取余(求模)
echo 8%5 返回值为3;
切记:每一行代码结束必须带 ; (php)