一、什么是PHP?

a)    定义:PHP就是超文本预处理器

b)    超文本:我们前边8天学习的内容其实就是超文本内容

c)    预处理器:相当于牛奶在工厂加工的过程,我们虽然不可见,但是我们可以喝到最终的加工好的牛奶;PHP也一样,网页需要再服务器端(工厂)进行一系列的预加工,预处理,最终所得到的页面就是我们所看到的网页。

二、为什么要使用PHP?

a)    诞生:1995年一个叫勒多夫的人,只是为了维护自己的网站才用C语言写出了这个php语言来对自己的网页进行维护,管理,优化。

b)    特点:方便、快捷、开源、免费

三、你的第一个PHP文件:

a)    文件命名:字母、数字、下划线组成,中间不能包括空格,不要使用中文或其他的特殊符号

b)    后缀名:.php 这就是php文件格式

c)    我们访问一个php文件时,看不到任何的php代码,是因为php的预处理过程在服务器中已经执行完毕。

d)    注意:

1.    php文件可以嵌套html代码和php代码

2.    html文件只能放html代码而不能放php代码

四、PHP的语言标记:

a)    四种风格

i.         <?php  代码内容  ?>         标准风格

ii.         <script language=”php”> 代码内容 </script>           长风格

iii.         <? 代码内容 ?>      短风格        注意:需要再php.ini中开启 short_open_tag 选项

iv.         <% 代码内容 %>   ASP风格     注意:需要在php.ini中开启asp_tag选项

五、PHP当中的注释符号

a)    // 单行注释

b)    /* 多行注释 */

c)    # 脚本注释

d)    特点:注释的内容不会再网页中显示,注释的作用是用来调试代码或解释一段代码的

六、PHP当中的空白、换行、回车内容

a)    是为了让我们能够更清晰的了解php当中代码的内容,不会对执行结果有任何影响!

b)    缩进、回车、换行要遵循psr标准   psr7标准

七、PHP当中会经常常用的小工具

a)    echo:以字符串的格式输出一段内容

b)    var_dump():打印一段内容(内容、长度、类型)

例:

$sex = false;

	var_dump($sex);
echo $sex; //输出:D:\wamp\www.lamp183\lesson09_PHP01\5.php:5:boolean false

八、php当中的变量:

a)    可以将变量理解为是一个水杯:水杯是一个容器,它可以存放不同的物质,可以放水、茶、雪碧、美年达、花生、瓜子儿、嘘嘘。

b)    变量:就是一个可变的量

c)    定义:

1.    $name = “海波”;

1.    $sex = “女”;

2.    $age = 18;

b)    标识符的命名规则:

1.    可以使用字母、数字、下划线组成,不能使用数字开头,严格区分大小写,且不能使用关键字!

2.    变量名和内容之间有关联的命名方式是最好的!

3.    驼峰命名法

例:

$bgColor="red";
echo"bgColor";

九、变量当中可以存储的数据类型

a)    我们学习了变量,知道杯子该如何定义与使用了,那么杯子当中可以存储哪些内容。

b)    数据类型:

i.         四种标量类型

1.    布尔型(Boolean)

2.    整型(Integer)

3.    浮点型(Float)

4. 字符串型(String)

ii.         两种复合类型

1.    数组型(Array)

2.    对象型(Object)

iii.         两种特殊类型

1.    资源型(Resource)

2.    Null空型(Null、null、NULL)

十、布尔型数据

a)    布尔型数据代表了对立面,对与错、真或假、真我们通常用 TRUE来表示,假我们通常用FALSE来表示

b)    如果使用echo在输出一个布尔型数据的时候,真则会返回一个 “1” ,假则会返回一个空字符串” ”;

十一、整型数据:

a)    其实,整型的数据就是一个整数  10  20  100  1000000

b)    范围:-2147483648 ~ +2147483647

c)    进制的分类

i.         二进制:0b

ii.         八进制:0

iii.         十进制:不加

iv.         十六进制:0x

d)    进制的转换:

i.         二进制转十进制:

1.    10100    转为十进制    20

2.    11100100101  转为十进制    1829

ii.         十进制转二进制:

1.    128       转为二进制   10000000

2.    5398     转为二进制   1010100010110

十二、浮点型数据:

a)    最常见的就是就是带小数点的数值   3.14   128.256   2147483648

b)    注意事项:永远不要将两个浮点型的数据进行比较!

i.         0.1 + 0.7 就不等于 0.8

例:

$num1=0.1;
$num2=0.7;
$num3=$num1+$num2; var_dump($num3==0.8); //boolean false

十三、字符串型:

a)    字符串就是一段在php当中的文本内容,通常使用单引号或双引号引起来的内容,就是字符串的内容

b)    可以使用单引号定义一段字符串,也可以使用双引号定义

c)    单引号不支持解析变量

d)    双引号可以解析变量

i.         虽然双引号可以解析变量,但是我们建议在字符串中放变量时,使用花括号括起来

e)    单引号中不能插单引号

f)     双引号中不能插双引号

g)    单引号可以插双引号,双引号可以插单引号,它们可以互插,但是不能自插

h)    如果非得任性,就得自插,只能使用转义符反斜线  “\”

i)      单引号只支持转义单引号本身和反斜线“\”

j)     双引号支持转义所有的转义符号

k)    定义字符串也可以使用定界符来进行定义:  <<<string  使用string;结束,注意结束时的string需要顶格写,否则无效

i.         注意:定界符可以插入单引号,也可以插入双引号,同时也可以放变量,但是因为他连 tab键、空格、换行的这些内容都能识别,因此应用相对较少

l)      结论:因为单引号和双引号的特点,单引号不支持解析变量,双引号可以解析变量,因此单引号的执行速度比双引号要快!

十四、NULL空型

a)    它其实表明了一种状态,例如一个变量当中没有存值,那么该变量的状态就是null

b)    以下三种情况的变量可能为空

i.         变量赋值为null

ii.         被销毁的变量

iii.         不存在的变量

十五、自动类型转换:

a)    通常在进行条件判断时,会自动转换为布尔型false

1.    布尔型:false

2.    整型:0

3.    浮点型:0.0或0.00

4.    字符串型:”” 或 “0”

5.    数组型:array()

6.    Null空型:null

7.    不存在的变量

b)    通常在进行数学运算时,会自动转换为数值型:

1.    布尔型:true  =  1

2.    布尔型:false  =  0

3.    字符串型:”1234abcd” = 1234

4.    Null空型:null = 0

c)    在进行字符串运算时,会自动转换为字符串型:

1.    布尔型:true = “1”

2.    布尔型:false = “”

3.    Null空型:null = “”

六、      强制类型转换:

a)    两个小工具:settype()、gettype()

b)    Settype():强制设置一个变量的类型

c)    Gettype():获取一个变量的类型

d)    一种是改变原变量类型

i.         Settype(要改变类型的变量名 , “格式的单词”);

例:

/*强制类型转换*/
$a = 0;
var_dump($a); //int 0 settype($a,"boolean");
var_dump($a); //boolean false

ii.         Boolean、integer、float、string、array、object、null

e)    另一种是不改变原变量类型

i.         转变之后用于接收的变量 = (格式的单词)  要改变类型的变量名

ii.         $b = “100”;     $c =  (integer) $b;

例:

	//不改变原变量类型的强制类型转换
$b = "海波";
var_dump($b); //string '海波' (length=6) $c = (integer) $b;
var_dump($c); //int 0

十六、用于判断变量类型的小工具

a)    Is_bool();         判断变量是否为布尔型数据

b)    Is_int();      判断变量是否为整型

c)    Is_float();         判断变量是否为浮点型

d)    Is_string();        判断变量是否为字符串型

e)    Is_array();        判断变量是否为数组型

f)     Is_object();      判断变量是否为对象型

g)    Is_resource();         判断变量是否为资源型

h)    Is_null();          判断变量是否为空

十七、两个比较特殊的小工具

a)    Isset();            用于检测一个变量是否被设置

b)    Empty();          用于判断一个变量是否为空

九、      可变变量和引用变量

a)    可变变量

i.         $a = “b”;    $$a = “c”;    echo $b; 结果为  c

ii.         概念:可变变量的概念就是讲一个变量的值拿过来作为自己的名字来使用,要注意的是,值不能为数字,它应当遵循标识符的命名规则。

b)    引用变量:

i.         $a = “hello world!”;  $b = &$a; $b = “你好,世界”;  echo $a;  $a 的结果是“你好,世界!”

ii.         概念:引用地址就相当于两个变量公用了一个地址,无论谁对变量中的值进行了改变,另一个也相应改变,当我们销毁其中的一个变量,另一个变量依然存在!

十八、PHP当中常量:

a)    变量:可以理解为是你的女朋友,可以换,但是不要太频繁

b)    常量:可以理解为是你的老婆,不可以换

c)    常量:在之后的学习当中,常量多用于那些比较重要的地方,例如一个网站的配置文件,设置好之后的常量,它不能被覆盖,不能被销毁!

d)    定义:define(‘常量名’,’常量值’);  注意:常量名通常使用大写,以便于区分

e)    使用:使用常量的方式很简单,直接写出常量名即可,注意不需要加任何修饰符号。

f)     注意:如果输出了一个不存在的常量名,则会以字符串的形式来解析,只不过我们不建议使用这种方式输出字符串,因为一方面它会报错,另外一方面它输出的速度要比字符串慢8倍

g)    查看某个常量是否已经被定义:defined(常量名);

【PHP】PHP基本语法的更多相关文章

  1. 我的MYSQL学习心得(一) 简单语法

    我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(五) 运 ...

  2. Swift与C#的基础语法比较

    背景: 这两天不小心看了一下Swift的基础语法,感觉既然看了,还是写一下笔记,留个痕迹~ 总体而言,感觉Swift是一种前后端多种语言混合的产物~~~ 做为一名.NET阵营人士,少少多多总喜欢通过对 ...

  3. 探索C#之6.0语法糖剖析

    阅读目录: 自动属性默认初始化 自动只读属性默认初始化 表达式为主体的函数 表达式为主体的属性(赋值) 静态类导入 Null条件运算符 字符串格式化 索引初始化 异常过滤器when catch和fin ...

  4. [C#] 回眸 C# 的前世今生 - 见证 C# 6.0 的新语法特性

    回眸 C# 的前世今生 - 见证 C# 6.0 的新语法特性 序 目前最新的版本是 C# 7.0,VS 的最新版本为 Visual Studio 2017 RC,两者都尚未进入正式阶段.C# 6.0 ...

  5. Velocity初探小结--velocity使用语法详解

    做java开发的朋友一般对JSP是比较熟悉的,大部分人第一次学习开发View层都是使用JSP来进行页面渲染的,我们都知道JSP是可以嵌入java代码的,在远古时代,java程序员甚至在一个jsp页面上 ...

  6. node.js学习(二)--Node.js控制台(REPL)&&Node.js的基础和语法

    1.1.2 Node.js控制台(REPL) Node.js也有自己的虚拟的运行环境:REPL. 我们可以使用它来执行任何的Node.js或者javascript代码.还可以引入模块和使用文件系统. ...

  7. C#语法糖大汇总

    首先需要声明的是"语法糖"这个词绝非贬义词,它可以给我带来方便,是一种便捷的写法,编译器会帮我们做转换:而且可以提高开发编码的效率,在性能上也不会带来损失.这让java开发人员羡慕 ...

  8. 值得注意的ibatis动态sql语法格式

    一.Ibatis常用动态sql语法,简单粗暴用一例子 <select id="iBatisSelectList" parameterClass="java.util ...

  9. Flex 布局教程:语法篇

    作者: 阮一峰 网页布局(layout)是CSS的一个重点应用. 布局的传统解决方案,基于盒状模型,依赖 display属性 + position属性 + float属性.它对于那些特殊布局非常不方便 ...

  10. postgresql 基本语法

    postgresql数据库创建/修改/删除等写入类代码语法总结: 1,创建库 2,创建/删除表 2.1 创建表 create table myTableName 2.2 如果表不存在则创建表 crea ...

随机推荐

  1. MySQL记录操作(增删改)

    概览 MySQL数据操作: DML 在MySQL管理软件中,可以通过SQL语句中的DML语言来实现数据的操作,包括 使用INSERT实现数据的插入 UPDATE实现数据的更新 使用DELETE实现数据 ...

  2. 5分钟使用NetModular 完成通讯录 App 开发

    原版连接:https://www.cnblogs.com/shanyou/p/12520894.html NetModular(后文简称NM)是 OLDLI 堪称艺术品级的应用开发框架,它基于经典领域 ...

  3. Java 并发同步工具(转)

    转自:https://www.jianshu.com/p/e80043ac4115 在 java 1.5 中,提供了一些非常有用的辅助类来帮助我们进行并发编程,比如 CountDownLatch,Cy ...

  4. 基于奇林软件kylinTOP工具的HTTP2协议的压力测试

    1.HTTP协议概述 说到http,那就应该先了解一下http协议的发展历史.关于http协议的历史,可以参考阮一峰老师的这篇博客文章HTTP 协议入门,里面介绍的比较详细了.简单来说http先后存在 ...

  5. Js中的For循环详解

    大家好,我是逆战班的一员,今天给大家讲解一下Js循环中的For循环. For循环是JS循环中一个非常重要的部分. 我们先讲一下for循环的作用: For循环用在需要重复执行的某些代码,比如从1打印到1 ...

  6. 学习scrapy爬虫框架的一些经验和教训

    首先python的scrapy框架很好,功能强大,使用起来也很方便,省去了很多造轮子的时间.在学习的过程中也碰到了一些问题,在这里希望能分享与大家分享,做一个参考 1.安装(pip延时响应问题) sc ...

  7. 「 Offer收割机之JVM」:生存还是毁灭

    这两天,广州的天气又开始热了起来,又到了小动物交配的季节,啊呸,又到了一个收割 offer 的季节.年底将至,又到了面试的高峰期,JVM 作为Java 程序员面试绕不过的一道坎儿,它又来了,你准备好了 ...

  8. AAAI 2020 | 反向R?削弱显著特征为细粒度分类带来提升

    论文提出了类似于dropout作用的diversification block,通过抑制特征图的高响应区域来反向提高模型的特征提取能力,在损失函数方面,提出专注于top-k类别的gradient-bo ...

  9. 基于Modbus三种CRC16校验方法的性能对比

    目录 1.背景介绍 2. CRC校验的三种方法 2.1. 直接计算CRC校验 2.2. 查短表法计算CRC16校验 2.3.查大表法计算CRC16校验 3.三种校验方式的测试方法 3.1.直接计算CR ...

  10. 类与对象 CG作业1. 复数类Comple 。

    问题描述]一个完整的复数由实数部分和序数部分构成,请定义一个复数类,含有两个私有属性realPart和imagPart分别表示复数的实部和虚部,三个成员函数:initComplex实现复数成员变量的初 ...