一、初识PHP脚本
1.PHP开始标记

<?php

2.PHP结束标记

 ?>

3.页面最终是通过HTML,CSS,JS来进行展示的

4.PHP代码可以嵌入html代码中,可以嵌入到任意位置,并且可以嵌入多个php代码,必须在php文件中嵌入才生效。
如果建立的是html文件,中间嵌有php代码,apache默认是不会将文件传送到PHP应用服务器,因为建立的是HTML文件,会直接返回给请求方。

5.文件末尾的?>结束标签可以省略

6.指令分隔符
1.在一些PHP语句的结尾要加上 ;表示一句话的结束。
2.结束标记?>隐含了一个 ;
所以在?>之前的PHP语句可以省略掉 ;
7.注释
多行注释
/*
多行注释
*/
单行注释
//单行注释
8.空白的处理
空格,tab制表符,换行 这些写在PHP代码里是没有影响的
可以利用这些来增加代码的可读性。
二、变量

变量是用于临时存储值的容器

1.变量的声明
在其他语言中,在使用变量前,事先声明一下!
注意:在PHP程序中,使用变量之前是不需要声明的!(可以直接使用)
变量用于存储 数字、文本字符串 或者数组的!
$变量名=数据(值)

2.变量的销毁
unset($变量名称)

3.变量的命令规则
1.变量名称严格区分大小写
$name,$NAME,$Name都是不同的变量
2.字母或者下划线开头
总结:变量名只能包含 字母 数字 下划线并且以字母或者下划线开头!
注意:最好不要用关键字作为变量名称

4.可变变量
例如:

<?php $a='b'//定义一个变量a储存值b$$a='c'//$b='c'echo $b;
?>

输出结果为:

c

5.变量的引用赋值
引用赋值相当于给变量加了一个别名

<?php$b=&$a;//相当于给$a起了一个别名$b=20;echo $a;
?>

输出结果:

20

三、变量类型

PHP是一种弱语言
概述:变量类型是指保存在该变量中的数据类型

1.变量类型简介
bool(布尔型)
在变量里存true 或 false 那么这个变量就是布尔类型
以下值被认为是false,其他值都是被认为是true
布尔值 false
0
浮点型0.0
空白字符串和字符串0//指的是直接一对单引号或者双引号,里面没有如何内容
例如:

var_dump((bool)"")或var_dump((bool)'')

没有成员的数组

var_dump((bool)array());

NULL
例如:

var_dump((bool)NULL);

输出结果 都为:

bool(false)

int(整形)
在变量里面存整数,那么这个变量就是整形变量.

float(浮点型,也称double)
在变量里面存小数,那么这个变量就是浮点型数据.

string(字符串)
需要加单引号或者双引号
例如:

<?php $a='t';var_dump($a);
?>

var_dump($变量名)//将变量值和类型一起输出

单引号
PHP不会解析单引号之间的变量

双引号
其中的变量名会被变量值代替,即PHP会解析双引号之间的变量
例如:

<?php$b=100;$a="te{$b}st";var_dump($a);echo $a;?>

输入结果:

string te100st
te100xt

定界符
<<<名字

名字;
定界符可以包含单引号、双引号、也可以解析变量
例如:

<?php$b=200;$a=<<<abc;wwwww{$b}wabc;var_dump($a)?>

输出结果:

string wwwww200w

array(数组)
objec(对象)
resource(资源)
NULL
例如:

<?php$a=null;var_dump($a);?>

输出结果:

null

二、变量类型相互转化
变量类型强制转化
例如:

<?php$a='www';$b=(int)$a;var_dump($b);?>

输出结果:

int 0

四、常量

常量是用于临时(只有在我们的程序的运行过程中才存在)存储值(数据)的容器

定义和使用
define(‘常量名称’,常量值)或者define(“常量名称”,常量值)
例如:

<?phpdefine('WWW',10)echo WWW?>

输出结果:
10

常量的命名:

1.和变量一样 只能包含字母、数字、下划线 并且必须以字母或下划线开头。
2.按照惯例常量的名称总是大写的。
3.自定义常量总是严格区分大小写的!

常量和变量的区别

1.常量前面没有没有符号$
2.常量只能用define()函数来定义,不能通过赋值语句来定义
3.常量可以不用理会变量范围的规则而在任何地方定义和使用
4.常量一旦被定义就不能重新定义或者取消定义
5.常量的值只能是bool,int,float,string类型

预定义常量

预定义常量是PHP已经定好了的常量
有的预定义常量是以_开头,这些预定义常量叫做魔术常量
代码所在的位置不同 值也是不同的。

     例如:_LINE__FILE_//这些都是魔术常量预定义常量是不区分大小写的

五、运算符

概述:
运算符是对一个或者多个操作数(变量或者数值)执行某种运算的符号,也称操作符!

算术运算符
1 .+
例如:

<?php$a=1;$b=2;echo $a+$b;?>

输出结果:
3
2. -
第一个意思:减号
第二个意思:取反

<?php$a=1;-$a;
?>

输出结果:
-1
取反并不会影响到被取反变量本身的值!
3. *
例如:

<?php&a=1;&b=2;$c=$a*$b;echo $c;
?>

输出结果:
2
4. /
例如:

<?php$a=10;$b=2;echo $a/$b;
?>

输出结果:
5

5.%
取模(取余)
例如:

<?php$a=10;$b=3;echo $a%$b;?>

输出结果:

1

6.++
自增
例如:

<?php$a=1;++$a;echo $a;
?>

输出结果:

2

如果 ++在变量之后
例如:

<?php$a=1;echo $a++;?>

输出结果:

1

7.-- 自减
例如:

<?php$a=10;$a--;echo $a;
?>

输出结果:

9
<?php$a=10;echo $a--;
?>

输出结果:

10

注意:自增自减是对变量来说的!

字符串运算符
1 . 连接运算符
例如:

<?php$a='i';$b='is';$c='hacker';echo $a.$b.$c;
?>

输出结果:

iamhacker

2 = 赋值运算符

注意:赋值运算符整个语句是有值的,所以整个语句就是一个表达式,所以我们也可以怎么写:

$a=$b=2;相当于$a=($b=2)

把右边的值赋给左边的变量

二元运算符

+=运算符

例如:

<?php$a=1;$b=2;$a+=$b;echo $a;
?>

输出结果:

3

-=运算符

<?php$a=2;$b=1;$a-=$b;echo $a;?>

输出结果:

1

除此之外,赋值运算符还有

*=
/=
%=
.=

比较运算符

PHP中规定:
使用echo输出布尔类型值的时候
echo true;它在页面中会输出1
echo false;它会在页面中什么都不输出
需要输出布尔类型值的时候最好使用var_dump()这个函数来输出
对操作数(按照比较运算符的要求,规则)进行比较
如果比较出的结果满足比较运算符的要求那么结果就是true(真,成立),否则就是false(假,不成立)

1.==
比较左右两边数的值是否相等
例如:

<?php$a=1;$b=1;var_dump($a==$b);
?>

输出结果:

bool(true)

2.===
全等(值要相等,类型也要相等)
例如:

<?php$a=11;$b='11';var_dump($a===$b);?>

输出结果:

bool(false)

3.!=
比较值是否不相等
例如:

<?php$a=1;$b=11;var_dump($a!=$b);
?>

输出结果:

bool(true)

4.<> 比较值是否不相等
5.!==不全等
如果两边的操作数不全等那么就是true, 否则就是false

php会自动转化类型
例如:

<?php$a=11;$b='11';var_dump($a!=$b);
?>

输出结果:

bool(false)
<?php$a=11;$b='11';var_dump($a!==$b);?>

输出结果:

bool(true)

因为类型不一样

6.< 小于
比较两边的操作数
例如:

<?php$a=1;$b=1;var_dump($a<$b);?>

输出结果:

bool(false)
7.>  大于
8.   <=   小于等于
9.  >=      大于等于

逻辑运算符

概念: 对表达式进行逻辑运算,运算出的结果是布尔类型的值(true,false)
要求:
参与逻辑运算的表达式的值是布尔类型的值,如果不是布尔类型的值会被PHP自动转化成布尔类型的值,然后参与运算。

1.逻辑与

and 或者 &&

左右两边的表达式的值都为true时,运算结果为true。只要其中有一个false,结果就是false。
例如:

<?php$a=true;$b=true;var_dump( $a && $b);?>

输出结果:

bool(true)

短路问题:
语言规定:
只要有逻辑运算符(逻辑与、逻辑或)那么运算结果就是一个true或false
例如:

<?php$a=false;$b=1;$a && ++$b;echo $b;?>

输出结果:

1

2.逻辑或

or 或者 ||

左右两边的表达式的值有一个为true,运算的结果就是true
,只有当两边的值都是false的时候,结果才会是false。

例如:

<?php$a=true;$b=false;var_dump($a || $b)?>

输出结果:

bool(true)

短路问题:

<?php$a=true;$b=1;&a || $ ++b;echo $b;?>

输出结果:

1

3.逻辑异或

xor

运算规则:左右两边表达式的值不一样的时候结果就是true,如果一样那么结果就是false
例如:

<?php$a=false;$b=true;var_dump($a xor $b);?>

输出结果:

bool(true)

4.逻辑非

运算规则:将原来的表达式的值否定掉,原来是true,那么结果就是false
例如:

<?php$a=false;var_dump(!$a);?>

输出结果:

bool(true)

5.其他运算符
1.?:
三元运算符
格式: 表达式1?表达式2:表达式3:
如果表达式1的值为true,那么就执行表达式2,否则就执行表达式3
例如:

<?php$a=true ? 10 : 20;echo $a;?>

输出结果:

10

2.@
屏蔽表达式可能发送错误;在表达式前面加上@

6.运算符的优先级
优先级的概念:
谁的优先级别高,就先执行谁
结合方向
规定了从那个方向开始算的问题
优先级归纳:
1)[结合方向:无]递增递减
2)[右]逻辑非!
3)[左]乘,除,取余
4)[左]加,减,字符串连接符
5)[无]包含大于号或者小于号的比较运算符
6)[无]不包含大于号或者小于号的比较运算符
7)[左]逻辑与&&
8)[左]逻辑或||
9)[左]? :
10)[右]赋值运算符
12)[左 ]逻辑异或xor

园括号的作用:
用圆括号可以将表达式里面的某一块看成一个整体
例如:

<?php$a=(1+5)*3echo $a;?>

输出结果:

18

另外使用括号可以增强代码的可读性

流程控制【1】-if语句:
1.顺序执行
自上而下执行即可
对执行过程没有控制
2.分支执行
分支执行可以根据条件是否满足来选择某些代码,PHP的分支执行主要是通过两种语句(if\switch)来实现

1.if语句
1)单向条件
if(表达式) 语句;
表达式的值为true,那么就执行语句1,否则就不执行!
例如:

<?php$a=400;$b=40;if($a>$b) echo "1";echo "2";?>

输出结果:

12

流程控制【2】-switch语句:

switch(表达式){case 值 1://case相当于==语句块1;break;case 值 2:语句块2;break;.......default:语句块n}

循环语句:1.while语句

while(表达式){各种语句....}

2.do…while语句

do{各种语句}while(表达式);

3.for语句

for(表达式a;表达式b;表达式c){各种语句}

特殊的流程控制语句
1.break语句
2.continue语句
3.exit()语句 作用:结束当前整个程序的执行!

PHP学习(php概念、基本语法、流程控制)相关推荐

  1. python自学流程-python 学习之 基础篇三 流程控制

    前言: 一. python中有严格的格式缩进,因为其在语法中摒弃了"{}"来包含代码块,使用严格的缩进来体现代码层次所以在编写代码的时候项目组要严格的统一器缩进语法,一个tab按键 ...

  2. Java基础内容/基础语法/流程控制

    基础内容 1.如何高效的学好java 多写代码,多写笔记,多写文章 多练交流,多练思维,多练技能 多分享,多提问,多思考 最重要(坚持) 2.计算机应用领域 1)科学计算 2)数据处理 3)自动控制 ...

  3. Java学习笔记(五)--流程控制

    文章目录 Java语言基础(三) 一.流程控制 1.1 复合语句 1.2 条件语句 1.2.1 if条件语句 二.switch多分支语句 三.循环语句 3.1 while 循环语句 3.2 do ·· ...

  4. Linux Shell 基础语法 流程控制 逻辑运算 字符串操作详细解析

    文章目录 1 shell 简单入门 1.1 shell分类 1.2 shell脚本 1.3 Shell 脚本四种启动方式 2 shell 变量 2.1 普通变量 2.1.1 定义变量 2.1.2 变量 ...

  5. MATLAB学习笔记之matlab程序流程控制

    MATLAB程序流程控制 顺序结构程序 程序和程序设计 程序的三种基本结构 脚本文件和函数文件 文件的建立 顺序结构 数据的输入 数据的输出 程序的暂停 a=input('a='); b=input( ...

  6. UE4蓝图学习篇(三)---流程控制之Branch

    在使用蓝图的时候,我们会需要使用一种流程,将逻辑一步一步的运行,在流程控制中有很多的节点,接下来给大家介绍分支Branch. 分支就是通过检查某个值,然后根据结果来判断该执行两个处理中的哪一个,即所谓 ...

  7. 学习使用IntelliJ IDEA的第四天:Java基本语法——流程控制

    一.分支结构 1. if-else条件判断 1.1 结构 /* 分支结构中的if-else(条件判断结构)一.三种结构第一种: if(条件表达式){执行表达式 }第二种:二选一 if(条件表达式){执 ...

  8. python学习笔记(四)——流程控制

    学控制流程的目的在哪?控制流程能够实现非常复杂的代码逻辑,它可以实现更加智能的功能 目录 条件语句 if语句的基本形式 if语句多个判断条件的形式 if语句多个条件同时判断 if嵌套 三目运算(语法糖 ...

  9. 疯狂Kotlin讲义学习笔记04-05章:流程控制、数组和集合

    1.when分支取代swith分支 不在需要使用case关键字 case后面的冒号改为-> default改为更有意义的else 如果一个case里有多条语句,需要将多条语句用大括号括起来 wh ...

  10. 《Go学习笔记 . 雨痕》流程控制(if、switch、for range、goto、continue、break)

    Go 精简(合并)了流控制语句,虽然某些时候不够便捷,但够用. if...else... 条件表达式值必须是布尔类型,可省略括号,且左花括号不能另起一行. func main() {x := 3if ...

最新文章

  1. 换个角度聊系统稳定性建设(2021版)
  2. xshell 图形化连接ubuntu
  3. Winform、WPF、Silverlight、MFC区别与联系
  4. 使用ssh-keygen生成私钥和公钥
  5. 【软件】我安装Tomcat5.5(Java Web开发服务器)的几点经验
  6. vscode 设置缩进为4_VS Code 设置缩进为4个空格
  7. 整蛊偷快递的家伙!不愧是 NASA 工程师
  8. 如何远程linux服务器桌面,LINUX操作系统如何远程登录桌面
  9. nginx反向代理解封电信80端口
  10. 当黑客被抓是种怎样的体验?
  11. LLC谐振变换器的寄生参数对谐振过程影响分析
  12. OpenCV项目运行提示错误:can‘t open camera by index
  13. 架构师学习笔记(四)架构师线路之系统架构师企业架构师
  14. 大华摄像头,NVR取流规则
  15. 1.口袋西游人物属性(01)
  16. java_进阶:set 接口
  17. 【HBase】HBase数据库基本操作(Shell)
  18. 赞美是感情生活的“保鲜剂”:关于赞美分享的fMRI研究
  19. Matlab p文件解密,pcode解密,甚至exe文件解密!
  20. 关于POS系统可靠性开发的一些考虑:

热门文章

  1. 七、Python简单爬取学堂在线合作院校页面内容
  2. /和//在python中使用
  3. webpack 4.14.0 版本太高,无法执行相关指令,(将webpack高版本切换到低版本)--直接覆盖
  4. 预习-上课-复习:让机器像人一样学习对话
  5. 直播 | 华为云卢栋才:对话机器人的应用实践和最新进展
  6. SIGIR 2019 开源论文 | 基于图神经网络的协同过滤算法
  7. python引用传递的区别_python的值类型和引用类型及值传递和引用传递的区别
  8. java list取值_Java集合详解
  9. Spring Boot Admin:微服务应用监控
  10. 农行校招考试计算机类,农行校招:还有4个月,流程是这样!