一、什么是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. 干货来啦。Flask框架看这一篇就够了,关注不迷路,Jeff带你看源码。开发技术时时更新

    目录 一.初识Flask 1.1 什么是flask? 1.2 为什么要有flask? 二.Flask快速启动 三.Flask四剑客 三.flask的配置文件 可以配置的属性 四.flask路由 4.1 ...

  2. Checkbox 勾上 不让勾下 同步手动刷新复选框状态 iview

    <Checkbox v-show="!disabledForm" ref="youwubianhuaRef" :value="youwubian ...

  3. 在d盘创建文件夹,里面有aaa.txt/bbb.txt/ccc.txt,然后遍历出aaa文件夹下的文件(新手)

    //导入的包.import java.io.File;import java.io.IOException;//创建的一个类.public class zy { //公共静态的主方法. public ...

  4. 性能测试工具LoadRuner你所不知道的内幕

    谈到性能测试,大家一定会联想到Jmeter和LoadRunner,这两款工具目前在国内使用的相当广泛,主要原因是Jmeter是开源免费,LoadRunner 11在现网中存在破解版本.商用型性能测试工 ...

  5. C# lock 语法糖实现原理--《.NET Core 底层入门》之自旋锁,互斥锁,混合锁,读写锁

    在多线程环境中,多个线程可能会同时访问同一个资源,为了避免访问发生冲突,可以根据访问的复杂程度采取不同的措施 原子操作适用于简单的单个操作,无锁算法适用于相对简单的一连串操作,而线程锁适用于复杂的一连 ...

  6. Scikit-Learn 源码研读 (第二期)基类的实现细节

    目录 BaseEstimator `get_params` `set_params` ClassifierMixin RegressorMixin 检查传入的对象 检查样本数和权重系数 实现$R^2$ ...

  7. 1. python跨目录调用模块

    快速镜像安装第三方库 :  pip install -i https://pypi.tuna.tsinghua.edu.cn/simple numpy (三方库名字) 同目录下,我们可以直接调用模块, ...

  8. Swift 4.0 字符串(String)学习

    定义字符串常量(常量只有读操作) let lString = "constant" let lString1: String = "constant" 定义字符 ...

  9. Journal of Proteome Research | 人类牙槽骨蛋白的蛋白质组学和n端分析:改进的蛋白质提取方法和LysargiNase消化策略增加了蛋白质组的覆盖率和缺失蛋白的识别 | (解读人:卜繁宇)

    文献名:Proteomic and N-Terminomic TAILS Analyses of Human Alveolar Bone Proteins: Improved Protein Extr ...

  10. python对齐输出

    这个问题烦恼了挺久,一般情况下我都是用\t解决,但其实这样的办法并不是很nice,然后今天在写一个demo的时候实在看不下去,就百度科普了一波,确实是有比较nice的解决方案. 像这样: 令人十分难受 ...