数据类型分类

数据类型

数据类型:data type,在PHP中指的是存储的数据本身的类型,而不是变量的类型。PHP是一种弱类型语言,变量本身没有数据类型。

PHP的八种数据类型

01

类型转换

02

​ 强制转换规则:在变量之前增加一个括号(),然后在里面写上对应类型:int/integer……其中NULL类型需用到unset()。

03

​ 其他类型转数值的说明:

1、布尔true为1,false为0;

2、字符串转数值有自己的规则;

2.1、以字母开头的字符串,永远为0;

2.2、以数字开头的字符串,取到碰到字符串为止(不会同时包含两个小数点)

04

类型判断

​ 通过一组类型判断函数,来判断变量,最终返回这个变量所保存数据类型(相同结果为true,失败为false):是一组以is_开头后面跟类型名字的函数:is_xxx(变量名)

​ Bool类型不能用echo来查看,可以使用var_dump结构查看

Var_dump(变量1,变量2…)

05

​ 还有一组函数可以用来获取以及设定数据(变量)的类型

06

07

08

常量的定义和使用

常量

​ 常量与变量一样,都是用来保存数据的。

常量基本概念

​ 常量:const/constant,是一种在程序运行当中,不可改变的量(数据)

​ 常量一旦定义,通常数据不可改变(用户级别)

常量定义形式

​ 在PHP中常量有两种定义方式(5.3之后才有两种)

1、使用定义常量的函数:define(‘常量名’,常量值);

2、5.3之后才有的:const 常量名=值;

01

​ 常量名字的命名规则:

1、常量不需要”$”符号,一旦使用系统就会认为是变量;

2、常量的名字组成由字母、数字和下划线组成,不能以数字开头;

3、常量的名字通常是以大小写字母为主(与变量以示区别);

4、常量命名的规则比变量要松散,可以使用一些特殊字符,该方式只能使用define定义;

02

​ 注意细节:

1、define和const定义的常量是有区别的:在于访问权限区别;

2、定义常量通常不区分大小写,但是可以区分,可以参照define函数的第三个参数

常量使用形式

​ 常量的使用与变量一样:不可改变值(在定义的时候必须赋值)

03

​ 有点时候还需要使用另外一种形式来访问(针对的是特殊名字的常量),需要用到另外一个访问常量的函数:const(‘常量名’)

04

​ 说明:常量和变量的使用

1、凡是数据会可能变化的,那么肯定是用变量;

2、数据不一定会边的,可以使用常量或者变量(变量居多);

3、数据不允许被修改的,一定用常量。

系统常量

​ 系统常量:系统帮助用户定义的常量,用户可以直接使用。

​ 常用的几个系统常量:

PHP_VERSION:PHP版本号

PHP_INT_SIZE:整形大小

PHP_INT_MAX:整形能表示的最大值(PHP中整形是允许出现负数:带符号)

05

​ 在PHP中还有一些特殊的常量,他们有双下划线开始+常量名+双下划线结束,这种常量称之为系统魔术常量:魔术常量的值通常会跟着环境变化,但是用户改变不了

06

变量概念及其使用

变量

​ PHP是一种动态网站开发的脚本语言,动态语言特点是交互性,会有数据的传递,而PHP作为“中间人”,需要进行数据的传递,传递的前提就是PHP能自己储存数据(临时储存)

变量基本概念

​ 变量来源于数学,是计算机语言中能储存计算结果或能表示值抽象概念。变量可以通过变量名访问。在指令式语言中,变量通常是可变的

​ 1、变量是用来储存数据的;

​ 2、变量是存在名字的;

​ 3、变量是通过名字来访问的:数据;

​ 4、变量是可以改变的:数据。

变量的使用

PHP中的所有变量都必须使用”$“符号

​ 1、定义:在系统中增加对应的变量名字(内存)

$var1; //定义变量

​ 2、赋值:可以将数据赋值给变量名(可以在定义的同时完成)

$var2=1; //定义同时赋值

​ 3、可以通过变量名访问存储的数据

echo $var2; //通过var2变量名字找到存储的内容1,然后输出

​ 4、可以将变量从内存中删除

unset($var2); //使用unset(变量名字)函数

变量命名规则

​ 1、在PHP中变量名字必须以”$“符号开始;

​ 2、名字由字母、数字和下划线”_“构成,但是不能以数字开头;

​ 3、在PHP中本身还允许中文变量(不建议)。

预定义变量

​ 预定义变量:提前定义的变量,系统定义的变量,储存许多需要用到的数据(预定义变量都是数组)

$_GET:获取所有表单以get方式提交的数据

$_POST:POST提交的数据都会保存在此

$_REQUEST:GET和POST提交的都会保存

$_GLOBALS:PHP中所有的全局变量

$_SERVER:服务器信息

$_SESSION:session会话数据

$_COOKIE:cookie会话数据

$_ENV:环境信息

$_FILES:用户上传的文件信息

可变变量

​ 可变变量:如果一个变量保存的值刚好是另外一个变量的名字,那么可以直接通过访问一个变量得到另外一个变量的值(在变量前面再多加一个$符号)。

$a='b';

$b='bb';

$$a➡bb

变量传值

​ 将一个变量赋值给另外一个变量:变量传值

​ 变量传值一共有两种方式:值传递、引用传递

值传递:将变量保存的值复制一份,然后将新的值给另外一个变量保存(两个变量没有关系)

01

引用传递:将变量保存的值所在的内存地址,传递给另外一个变量:两个变量指向同一块内存空间(两个变量是同一个值)

$新变量=&$老变量

02

在内存中,通常有以下几个分区

栈区:程序可以操作的内存部分(不存数据,运行程序代码),少但是快

代码段:储存程序的内存部分(不执行)

数据段:储存普通数据(全局区和静态区)

堆区:储存复杂数据,大但是效率低

代码实现:

03

PHP基础

PHP语法初步

​ PHP是一种运行在服务器端的脚本语言,可以嵌入到HTML中。

PHP代码标记

​ 在PHP历史发展中,可以使用多种标记来区分PHP脚本。

​ ASP标记:<% php 代码 %>

​ 短标记:< ? php 代码 ?>

​ 以上两种基本弃用,如果要使用那么需要在配置文件中开启。

​ 脚本标记:

​ 标准标记(常用):

PHP注释

​ 习惯:所有的代码在写的过程中都必须进行注释,对于初学者而言,注释就是个人学习和写代码的一个思路说明。

​ PHP中注释分为两种:行注释和块注释

​ 行注释:一次注释一行

​ //:后面跟的所有内容都是注释

​ #:与//一样

​ 块注释:一次注释多行

​ /加星号:中间直到*/出现之前,全部都是注释

PHP语句分隔符

​ 语句分隔符:在PHP中,代码是以行为单位,系统需要通过判断行的结束,该结束通常都是一个符号:分号”;“(英文状态下的分号)。

​ 定义内容:

​ $a=5;

​ Echo ‘hello world’;

​ (Parse error:解析错误;

​ syntax error:语法错误)

​ 特殊说明:

​ 1、PHP中标记结束符?>有自带语句结束符的效果,最后一行PHP代码可以没有语句结束符“;”

​ 2、PHP中其实很多代码的书写并不是嵌入到HTML中,而是单独存在,通常书写习惯中就不建议使用标记结束符?>,PHP会自动从开始到最后全部认为是PHP代码,从而解析

虚拟主机简介

配置虚拟主机

​ 一台服务器很贵,如果只能部署一个网站,那么非常浪费。所以需要通过其他渠道来实现一台主机上部署多个网站。

什么是虚拟主机

​ 虚拟主机:Virtual machine,并不存在真实的主机,但是可以提供真实主机所实现的功能。

​ 通俗的讲,虚拟主机就是将计算机中不同的文件夹进行不同的命名,然后可以实现让服务器(Apache)根据用户的需求从不同的文件夹(网站)中读取不同的内容。

虚拟主机的分类

​ 在Apache中,可以将虚拟主机划分成两类:

​ 1、基于IP的虚拟主机:一台电脑上有多个IP,每个IP对应一个网站

​ 原理:电脑默认只有一个IP,因为通常只配有一个网卡;但是有的电脑(服务器居多)可以配置多个网卡,每个网卡可以绑定一个IP地址。

​ 2、基于域名的虚拟主机:一台电脑上只有一个IP,但是IP下可以制作多个网站,但是需要给每个网站不同的名字(虚拟主机名)。

Web程序的访问流程

​ Web分为两类:静态网站和动态网站

​ 浏览器发起访问➡DNS解析域名➡服务器电脑➡服务软件

静态网站访问

静态网站访问

动态网站访问

​ 动态网站访问流程与静态差不多,但是会多出几个内容:服务器解析、数据库。

动态网站访问

网站基本概念

服务器概念

​ 服务器(server)也称伺服器,是提供计算服务的设备。由于服务器需要响应服务请求,并进行处理,因此一般来说服务器应具备承担服务并且保障服务的能力。

​ 服务器的构成包括处理器、硬盘、内存、系统总线等,和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。

​ 在网络环境下,根据服务器提供的服务类型不同,分为文件服务器、数据库服务器、应用程序服务器、Web服务器等。

​ 服务器:能够提供服务的机器,取决于机器上安装的软件(服务软件)

​ Web服务器:提供Web服务(网站访问),就需要安装Web服务软件,Apache,tomcat,iis等

IP的概念

​ IP:Internet Protocol,网络之间互联协议。网络之间互联的协议也就是为计算机网络相互连接进行通信而设计的协议。在因特网中,它是能使连接到网上的所有计算机网络实现相互通信的一套规则,规定了计算机在因特网上进行通信时应当遵守的规则。任何厂家生产的计算机系统,只要遵循IP协议就可以与因特网互联互通。IP地址具有唯一性。(每台电脑都有一个唯一的IP地址)

域名

​ 域名(Domain Name),是由一串用点分割的名字组成的Internet上某一台计算机或计算机组成的名称,用于在数据传输时标识计算机的电子方位(有时也指地理位置,地理上的域名,指代有行政自主权的一个地方区域)。域名是一个IP地址上有“面具”。一个域名的目的是便于记忆和沟通的一组服务器的地址(网站,电子邮件,FTP等)。

​ 特殊IP:127.0.0.1,代表本机

​ 特殊域名:localhost

DNS

​ DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。

用户输入域名localhost➡DNS(localhost 127.0.0.1)➡服务器电脑

端口

​ 端口(Port),可以认为是设备与外界通讯交流的出口。端口可分为虚拟端口和物理端口,其中虚拟端口指计算机内部或交换机路由器内的端口,不可见。例如计算机中的80端口、21端口、23端口等。物理端口又称为接口,是可见端口,计算机背板的RJ45网口,交换机路由器集线器等RJ45端口。

用户输入域名localhost:端口➡DNS(localhost 127.0.0.1)➡服务器电脑➡软件(服务)

PHP简介

PHP定义:一种服务器端的HTML脚本/编程语言,是一种简单的、面向对象的、解释型的、健壮的、安全的、性能非常高的、独立于架构的、可移植的、动态的语言脚本。是一种广泛用于Open Source(开放源代码)的尤其适合Web开发并可以嵌入HTML的多用途脚本语言。它的语法接近C,Java和Perl,而且容易学习。该语言让Web开发人员快速的书写动态生成的网页。

静态网站特点

​ 1.网页内容一经发布到网站服务器上,无论是否有用户访问,每个静态网页的内容都是保存在网站服务器上的,也就是说,静态网页是实实在在保存在服务器上的文件,每个网页都是一个独立的文件;

​ 2.静态网页的内容相对稳定,因此容易被搜索引擎检索;

​ 3.静态网页没有数据库的支持,在网站制作和维护方面工作量较大,因此当网站信息量很大时完全依靠静态网页制作方式比较困难;

​ 4.静态网页的交互性较差,在功能方面有较大的限制。

动态网站特点

​ 1.交互性:网页会根据用户的要求和选择而动态地改变和相应,浏览器作为客户端,成为一个动态交流的桥梁,动态网页的交互性也是今后Web发展的潮流;

​ 2.自动更新:即无需手动更新HTML文档,便会自动生成新页面,可大大节省工作量:

​ 3.因时因人而异:即当不同时间、不同用户访问同一网址时会出现不同页面。

​ 此外动态网页是与静态网页相对应的,也就是说,网页URL的后缀不是.htm、.html、.shtml、.xml等静态网页常见形式,而是以.asp、.jsp、.php、.perl、.cgi等形式为后缀。在动态网页网址中有一个标志性的符号——“?”

,