分享

PHP教程(2)PHP语法+php介绍+变量

 知识书馆 2022-07-17 发布于广东

回顾

搭建独立环境

         基础知识:HTML,网站(服务器,IP,域名),网站访问流程

         搭建环境:Apachephpmysql

                   Apache:获取浏览器请求,处理请求(处理静态HTML

                   PHP:镶嵌在Apache,负责处理php语句

                            加载:LoadModule

                            分配:AddType

                            加载配置文件:PHPIniDir

                   Mysql:存储数据

                            PHP加载Mysql提供的扩展:extension

                            指定扩展路径:extension_dir

         虚拟主机:实现一台电脑服务多个基于域名的网站


PHP基础知识

php标签

用来告诉php引擎当前标记内部的代码是php代码,请解析。其他的内容不需要php解析,直接保留。

PHP标签分为四种:标准,脚本,短标记,asp标记

标准

<?php

         //PHP代码

?>

注意:通常如果一个脚本文件全部都是php代码,那么可以省略结束标记。

不需要闭合标记的优缺点

优点:

1.      php会自动的将后续无用的空行给忽略掉,从而达到节省带宽

2.      php能够忽略掉空格,不会干扰其他文件输出。

缺点:

         如果后续有非php代码,php引擎就会报错。

脚本

php是一种脚本语言,一定可以使用脚本标记

<script language=”php”>

         //PHP代码

</script>

注意:脚本标记通常不怎么使用,为了区分javascript

短标记

<?

         //PHP代码

?>

短标记默认是已经被限制了,不允许使用,如果要使用,需要在配置文件中开启短标记使用

开启

必须重启Apache才能生效

效果

注意:短标记已经不再使用

asp标记

<%

         //PHP代码

%>

asp标记,默认是被关闭的,如果要使用,需要开启配置。

开启

效果

php语法

1.      所有的php代码必须写在php标签之内

2.      php语句以行为单位,每一行都必须用分号结束

a)        如果没有结束标记,那么任何一行都必须有分号

b)        如果有结束标记,那么最后一行可以省略分号,但是不建议

PHP注释

行注释:用于一行的注释

         //:单行注释

         #:单行注释

块注释:/* 多行注释,可以跨行*/

         一般情况下,在需要进行跨行描述的时候(函数)

建议:任何一个代码都必须携带注释

量就是内容,就是数据。

变量

1.      什么是变量?

可以被改变的量

php中的变量规则

1.      必须以$符号开始,后面跟变量名

2.      变量名:以字母或者下划线开始,后面可以跟数字

3.      php中可以使用中文变量

4.      PHP中变量区分大小写

注意:PHP语言是一种弱类型语言,php中的变量可以存储任意类型的数据。

2.      php定义语法

$变量名 = 值(没有数据类型限制);

3.      使用php变量

1.      凡是需要使用变量的地方,可以直接使用$符号后跟变量名

2.      变量在使用之前必须先定义好(赋值)

4.      变量的增删改查

删除变量需要使用到php的一个函数:unset

语法:unset(变量);

常量

1.      什么是常量?

常量是一个经常用,但是不会改变的量。

2.      常量规则

a)        定义规则:不是通过$符号定义,而是通过define函数定义

语法:define('常量名’,常量值);

b)        语法规则:不需要$符号,其他规则类似,通常,常量的定义都是大写字母和下划线

c)        使用规则:常量一经定义不可修改

d)        常量的语法规则比变量要简单(宽松)

3.      使用常量:直接使用常量名字即可

4.      修改常量:不允许

直接修改

使用define重新定义

删除常量

5.      松散常量

定义

使用:特殊字符组成的常量是不能直接使用的,要使用必须通过constant函数实现

语法:constant('常量名’);

常量的使用

1.      一个经常要用,但是不允许改变的数据,用常量保存

2.      常用往往用于访问限制:判断函数:defined('常量名’),如果一个常量被定义过了,返回true,如果没有定义过返回false

系统预定义变量

系统已经定义好的,用户可以直接使用的变量。(用户也可以修改)

$_POST:用户接收用户从浏览器使用post方式提交的所有数据,是一个数组

$_GET:接收浏览器以get方式提交的所有数据,是数组

$_REQUEST:接收浏览器post或者get或这个cookie数据,也是数组

$_FILES:浏览器文件上传的数据

$_SESSION:会话技术之一session的数据

$_COOKIE:会话技术之一cookie的数据(浏览器携带到服务器)

$GLOBALS:全局变量的数组(所有的全局变量都可以在该数组中找到)

$_SERVER:服务器信息和浏览器信息

如何查看一个数组?var_dump(数组)

访问单个数据

作业:将$_SERVER中认为有用的数据给整理一遍

$_ENV:环境

预定义常量

系统已经定义好的常量

PHP_OS:当前PHP运行的操作系统

PHP_VERSION:当前PHP版本

PHP_INT_SIZE:当前PHP中整型所占用的内存空间(字节为单位)

PHP_INT_MAX:当前php中能够表示的最大整型数值

魔术常量

表示方法是以双下划线开始和双下划线结束

魔术常量在不同的位置代表不同的数据

__FILE__:当前文件的绝对路径,包含文件名

__LINE__:当前行的行号

__DIR__:当前文件的绝对路径,不包含文件名

__FUNCTION__:当前函数的名字(只能在函数内部使用)

__METHOD__:当前方法的名字(只能在方法内部使用)

变量和常量内存示意

内存指的是在系统运行的时候,RAM

内存分为多个部分:栈,堆区,代码段,数据段

栈:程序能直接操作的唯一内存,栈比较小,但是速度较快

堆:一大块连续的内存空间,程序不能直接操作,空间大,地址连续,但是效率低

代码段:专门存放代码的内存地址,系统会根据代码段里存储的代码逐行的执行代码

数据段:存放数据的地方,数据段又可以分为多个部分

         全局区:存放全局数据和局部数据

         静态区:存放静态变量和常量

php代码执行过程

简单代码执行内存分析

变量传值

变量传值方式分为两种:值传递和引用传递

值传递

将一个变量的值复制一份,然后传递给另外一个变量,内存中会存放两份数据。

引用传递

将变量的所指向的内存地址赋值给另外一个变量。

语法:$a = &$b;

内存分析

可变变量

变量可以变,变量所对应的值刚好是另外一个变量的名字,再加上一个$符号之后,就可以获取到对应变量的值。

数据类型

数据类型是系统根据自然界中人们所对事物的分类,在系统内部的一种体现。

php中对数据类型如何分类?

         标量数据类型(基本),复合数据类型,特殊数据类型

php中的数据类型都是用来规范数据本身而不是变量本身(PHP是弱类型语言)

标量数据类型

标量数据类型又分为四类:整型,浮点型,布尔型,字符串型

整型

用来描述整数,int或者integer

$a = 100; //a是一个整型变量(a的值是一个整型数据)

可以使用变量保存其他进制数据:八进制和十六进制

$num1 = 0777;

$num2 = 0xffff;

强制按进制进行输出:printf

语法:printf(“输出字符串携带输出格式”,要输出的参数列表)

PHP中的整型占4个字节32位,最大数值是21亿多,超出php能表示的最大范围之后,数据类型会变成浮点型。

浮点型

float或者double关键字

         float:占用4个字节,单精度,能够保证的有效的精确数位数比较小,大概是7位左右,能表示最大范围大概是10^38

         double:占用8个字节,双精度,有效的精确数位数比较大,大概是15位左右。

php中没有单精度,都是双精度(占用8个字节)

超过精度部分会继续四舍五入

整型与浮点型存储数据的变化

整型与浮点数的应用

需要精确的表示一个数值的时候,但是数值又不是很大的情况下使用整型

需要一个大概的值,但是数据量又很大的情况下使用浮点型

布尔型

布尔型就只有两个结果:truefalse,通常布尔类型都是用于判断。使用bool或者Boolean

大部分的数据进行类型转换后都会变成布尔的true,但是有少部分是false

FALSE00.0’’’0’,空数组,null

字符串型

用一系列字符来表示的数据。

定义字符串类型的方式有三种:单引号,双引号和定界符

单引号:只能解析较少的转义字符:\’,\\

双引号:能解析较多的转义字符:\r\n\t\”,解析变量

定界符:以<<<定界符标识,中间是字符串内容,最后跟定界符标识结束

定界符使用规则

1.      左尖括号后必须跟定界符标识,标识的右边不能有任何内容包括注释和空格

2.      定界符内部不能写注释:写了也没用,会被照样输出

3.      右定界符必须顶格:靠近最左边

4.      右定界符的右边不能有任何多余的内容:包括注释和空格

定界符结构:定界符本身模拟的是单引号和双引号

         定界符分为两种:heredocnowdoc

                   heredoc:模拟的是双引号

                   nowdoc:模拟的是单引号,nowdoc就是给左定界符加上单引号

复合数据类型

复合数据类型:数组和对象

特殊数据类型

空类型(null)和资源

NULL:空数据类型

         变量被unset

         变量直接赋值为null

资源:PHP操作外部数据(mysql连接,mysql结果集,文件操作

作业:

1.      定义两个变量:$a = 10,$b = 20;使用三种方式实现两个变量的交换。$a = 20,$b = 10

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多