PHP基础 介绍 变量 表达式 运算符总结

PHP是服务器端运行的开源脚本语言

LAMP组合

wamp组合:windows+apche+mysql+php

1.静态页面 服务器不执行的页面

2.动态页面 服务器执行的页面

客户端和服务器端

BS架构和CS架构

前台和后台

PHP的优点

​ 1.跨平台

​ 2.源码开放

​ 3.语法简单

​ 4.运行在服务器端,部署简单

常用命令:

​ http -v 查看版本号 version

​ httpd -t 检测运行环境 test

​ php -v

互联网的通讯原理

服务器配置

​ 1.虚拟目录配置 conf/httpd.conf

​ 2.更改默认首页

​ 3.更改监听端口

查看哪个端口被占用命令:

     netstat -ano  端口占用情况


在结果中查找字符串

​ netstat -ano |findstr 80

补充:站点、虚拟目录、虚拟主机的区别

站点:就是一个文件夹,用来保存与网站相关的元素以及素材

虚拟目录:站点+权限

虚拟主机:虚拟目录+域名

PHP是编译型语言

//这是单行注释

#这也是单行注释

/* 多行注释*/

  echo '锄禾日当午';

  print (汗滴禾下土!);  *//输出,输出成功返回1*

  print_r(); *// 输出数组*

  var_dump(): *//输出数据的详细信息,并且带有类型及长度*


//可变变量:将变量名存储在另外一个变量中

  $name1 = 'tom';

  $name2 = 'berry';

  *if*(rand(1,10)%2){

​    $name = 'name1';



  }*else*{

​    $name = 'name2';

  }

  echo $$name;


//变量传递有值传递和地址传递(引用传递)

//$1a    不合法*

//值传递

  $num1=10;

  $num2=$num1;

  $num2=20;

  echo $num1; *//10*

//地址传递

  $num1=10;

  $num2=&$num1;  *//将num1的地址传递给num1*

  $num2=20;

  echo $num1;   *//20*

小结:

1、参数的传递有两种,值传递和地址传递

2、&表示获取变量的地址

3、值传递中,一个变量变了,另一个变量没有影响,因为是两个空间

4、地址传递中,一个变量变了,另一个变量也变了,因为两个为变量指向的是同一空间

//销毁变量

//用unset()来销毁变量,销毁的是变量名,变量值由PHP垃圾回收机制销毁

  $num1=10;

  $num2=&$num1;

  unset($num1);  *//销毁的是变量名*

  echo $num2;   *//10*

//没有变量引用的值就是垃圾

常量:固定不变的值

定义常量

1、用define()函数定义常量

define(常量名,值,是否区分大小写)

2、常量名没有$符号

3、推荐常量名用大写

define('NAME','tom');  *// 定义常量*

define('PI', 3.14,true);    *//不区分大小写*

echo NAME,PI;

2、定义常量可以用特殊字符,但是在强调的时候必须用const关键字定义常量

  const NAME='tom';

  echo constant('%-%');    *//通过constant获取特殊字符作为常量名的变量*


3、判断常量是否定义,通过define()判断常量是否已经定义

if*(!defined('NAME')){

  define('NAME','berry');

}

echo NAME; *//berry*


4、还可以通过const关键字定义常量

const NAME='tom';

echo NAME;   *//tom*

小结:

1、定义常量有两种方式,define()和const

2、常量在整个运行过程中值保持不变,常量不能重新定义

3、使用constant获取特殊字符做的常量名的值

4、defined()用来判断常量是否已经被定义

预定义常量

数据类型(弱类型)

1、整形 进制之间的转换以及函数

2、浮点型 浮点数在内存中保存的是近似值 浮点数不能参与比较

如果浮点数要比较,必须要确定比较的位数

3、布尔值

​ 不能使用echo和print输出布尔值,要使用var_dump输出

  $flag=flase;

  var_dump($flag);    *//bool(false)*


4、字符串型

在PHP中单引号字符串和双引号字符串是有区别的

单引号字符串是真正的字符串

双引号字符串要解析字符串中的变量

输出特殊字符串要转义

字符串定界符

​ 1.有<<<开头,后面跟的是标识符

​ 2.字符串定界符的结束符必须顶格写,前面不能有任何的空白字符

​ 3.字符串定界符分为两种,heredoc(双引号),nowdoc(单引号)

复合类型

1.数组

​ 在PHP中数组有两种形式,索引数组和关联数组

​ 索引数组:用整数做下标,默认从0开始,后面依次加1

​ 关联数组:用字符串做下标,通过=>符号将下标和值关联起来

​ 二维数组的声明

​ 字符串可以通过数组去调用

      echo 'abc'[0],'<br>';  //a
          echo 'abc'[-1],'<br>';   //c,从右边开始取第一个

小结:

​ 1.数组在内存中连续一段的空间

​ 2.如果要保存同一类的多个数据就使用数组

2.对象

3.特殊类型

​ 1.资源

​ 2.null

4.类型转换

​ 1.自动类型转换:当提供的类型和需要的类型不一样时会进行自动类型转换

​ 2.强制类型转换

​ (数据类型) 数据

​ 3.其他类型和布尔类型之间的转换 ***

​ 规则:0、空为假,非0非空为真

运算符

1.算术运算符

​ 1.一元运算符 ++ --

​ 2.二元运算符 + - * /

​ 注意:在PHP中,算术运算符只能做数学运算。


​    echo '10'+'20','<br>'; //30

​    echo '10ab'+'20cd','<br>';  //30

​    echo 'ab10'+'cd20','<br>'; //0


++前置:先自增在运算

++后置:先运算在自增

2.关系运算符(比较运算符)

​ > < <= >= == != === !== 比较运算符的运算结果值是布尔值

3.逻辑运算符

​ & 与

​ | 或

​ ! 非

4.赋值运算符

5.字符串连接符号 .

6.错误抑制符号 @

7.三元运算符(?????

​ 表达式?值1:值2

8.null合并运算符(??)

两个用来判断的函数

isset():判断变量值是否被设置,并且设置的不是null

empty():检查一个变量是否为空,能转成false全部是空,['',0,0.0,array(),null]

判断

1.单分支

2.双分支

3.多分支

    if(条件){

​    

​    }elif(条件){  //elif之间没有空格



​    }else{



​    }


4.多路选择