PHP语言基础

一.PHP介绍

1.什么是PHP

PHP是超文本预处理器。是运行在服务端的开源语言,它可以让Web开发人员快速的书写生成动态的页面。--->PHP是服务端语言(后端)语言

HTML+JS为前端语言:主要用来对页面的布局,动态美化

PHP,JAVA,Python为后端语言:用来实现业务逻辑功能,一般不做美化

2.PHP作用

(1)PHP可以生成动态页面

(2)PHP可以用来接收于发送Cookies值

(3)PHP可以用来接收前端的表单信息

(4)PHP可以修改,增加,删除数据库中的数据

(5)PHP可以创建,打开,读取,写入,关闭服务器上的文件

3.PHP文件

(1)PHP以“.php”文件后缀拓展名

(2)PHP可以包含文本,HTML,JS代码和PHP代码

(3)PHP代码在服务器上执行,结果以HTML纯数据形式返回给浏览器

4.静态网站与动态网站

静态网页的特点:

(1)静态网站的页面都是保存在服务器上的

(2)静态网站没有数据库的支持,交互性差,较大的限制了在功能上的使用

(3)静态网站相对平稳,比较容易在搜索引擎中发现

动态页面的特点:

(1)网页会根据用户的要求与选择而动态的改变与响应

(2)无需手动更新HTML文档,便会自动生成页面内容,可以大量减少工作量

(3)当不同事件,不同用户访问同一网站时,会生成不同的页面

二.PHP基本语法

1.PHP基本语法

PHP脚本可以放在文档的任意位置--><?php 代码?>

PHP语句以分号结尾;PHP代码的关闭标签也会自动代表分号

2.注释/结束符

单行注释:/;# 多行注释:/*..............*/

结束符:分号(;)

3.输出语句

echo:输出

print:输出内容,输出成功后打印1

print_r:输出数组,打印变量

var_dump:输出数据的详细信息,带有数据类型,数据长度

三.PHP变量与常量

1.变量介绍

// 变量就是用来存放数据的容器

PHP变量是指在程序执行过程中数值可以变化的量,变量通过一个名字(变量名)来标识。系统为程序中的每一个变量分配一个存储单元,变量名实质上就是计算机存储单元的命名,因此可借助变量名访问内存中的数据。

(1)变量可以改变的

(2)变量是存储信息的容器

(3)变量是通过名字来访问其中的数据的

2.变量命名

(1)变量必须以 $ 开头, $ 符不是变量的⼀部分,仅表⽰后⾯的标识符是变量名。

(2)除了 $ 以外,变量名必须以字⺟、下划线开头,后⾯跟着数字、字⺟、下划线

(3)变量名区分⼤⼩写, $aa 与 $Aa 为两个变量。

3.变量传递

删除变量:unset() 来删除变量,销毁的是变量名,变量值由PHP垃圾回收机制销毁。

检查变量: isset() 用来检查变量是否被设置并且是否为空。

4.常量介绍

将一个变量赋值给另一个变量称之为变量传递

变量传递一共有两种方式: 值传递 引用传递(地址传递)

值传递:将变量保存的值赋值⼀份然后将新的值给另⼀个变量存储保存,两个变量使⽤各⾃的内存,互不⼲扰。

引⽤传递:将变量保存的值所在的内存地址,传递给另⼀个变量存储,两个变量指向同⼀块内存空间。

传值:将一个表达式的值赋予另一个变量时,改变其中一个变量的值,将不会影响到另外一个变量。

传址:引用赋值,指新的变量简单的引用了原始变量,改变新的变量将影响到原始变量,反之亦然。

5.定义常量

PHP常量可以理解为值不变的量,常量被定义后,在脚本的其他任何地方都不能改变。

使用定义常量函数: define(常量名,,[是否区分大小写]) True代表不区分大小写,默认是False区分大小写。

define('NAME','Jion'); //定义常量
define('PI',3.1415926,true); //定义常量不区分大小写。
echo NAME,'<br>',PI;

PHP5.3以后可以使用 const定义常量:const 常量名='常量值';

const NAME='TOM';
echo NAME;

6.预定义常量

常量: 不可能变化的量

define("常量名字","值")

//预定义常量
echo PHP_VERSION,'<br>'; //PHP版本号
echo PHP_OS,'<br>'; //PHP操作系统
echo PHP_INT_MAX,'<br>'; //PHP中整型的最大值
//魔术常量
echo __LINE__,'<br>'; //获取当前行号
echo __FILE__,'<br>'; //文件的完整路径和文件名
echo __DIR__,'<br>'; //文件所在的目录

四.PHP数据类型

1.整数型

概念:整数是没有小数的数字。 范围-2147483648~+214786347

整数规则:

整数必须有⾄少⼀个数字(0-9)

整数不能包含逗号或空格

整数不能有⼩数点

整数正负均可 1 -1

可以⽤三种格式规定整数:⼗进制、⼗六进制(前缀是 0x)或⼋进制(前缀是 0)

$num1=10; //十进制
$num2=010; //八进制(数字前面加0)
$num3=0x10; //十六进制(数字前面加0x)
echo $num1,'<br>'; //10
echo $num2,'<br>'; //8
echo $num3; //16

2.浮点型

概念:浮点数是有小数点或指数形式的数字。

$num1 = 10.111;
$num1 = 1.23e10; //科学计数法,其中e表示小数点后面10位

3.布尔型

概念:布尔类型只有两个值 true false 。常用于条件测试。

0 代表假
1 代表真

4.字符串型

概念:字符串是连续的字符序列如: 'hello,world' ,由数字、字母、符号组成。

在PHP中,有三种定义字符串的方式,分别是 ' ' " " """单引号或双引号。

三引号得使用:PHP 三引号语法在 PHP 7.3 版本中引入,并且在 PHP 8.0 中已经稳定。因此,如果你希望使用PHP 三引号,你的 PHP 版本至少应该是 7.3 或更高版本。

$name = 'tom';
$name = "jion";

$name = 'jion';
echo '我得名字叫$name'; //我得名字叫$name
echo "我的名字叫$name"; //我的名字叫jion
//{}取变量
$name = 'tom';
echo "{$name}是我得名字"; //{}表示获取变量的值(tom是我的名字)
echo "${name}是我得名字"; //$和{只要挨着一起就可以(tom是我的名字)
//输出特殊字符
echo '毛主席说:\'上课不要睡觉\''; //转义字符 毛主席说:'上课不要睡觉'
//(点号).拼接

五.PHP运算符

概念:运算符是用来对变量、常量或数据进行计算的符号,它对一个值或一组值执行一个指定得操作,PHP运算符主要包括:算数运算符、字符串运算符、赋值运算符、位运算符、逻辑运算符、比较运算符、递增或递减运算符、条件运算符

1.算术运算符

算数运算符(Arithmetic Operators)是处理四则运算的符号,在数字的处理中应用的最多。
算术运算符介绍
名称操作符举例
加法运算+$a+$b
减法运算-$a-$b
乘法运算*$a*$b
除法运算/$a/$b
取余运算%$a%$b

2.递增递减运算符(++/--)

一种是将运算符放在变量前面,即先将变量做加 1 或减 1 的运算后再将值赋给原变量,叫做前置递增或者递减运算符

一种是将运算符放在变量后面,即先返回变量的当前值,然后变量的当前值作加 1 或减 1的运算,叫做后置递增或递减运算符。

//++
<?php
echo "<h3>第一次</h3>";
$a = 5;
echo "首先是:".$a++."<br>\n";
echo "首先是:".$a."<br>\n";
?>


<?php
echo "<h3>第一次</h3>";
$a = 5;
echo "首先是:".++$a."<br>\n";
echo "首先是:".$a."<br>\n";
?>

3.逻辑运算符

逻辑运算符
运算符举例结果为真
&&或and(逻辑与)$m and $n当$m与$n都为真时为真
|| 或 or$m or $n当一方为真即为真
!(逻辑非)
!$m
当$m 为假时
xor(逻辑或与)
$m xor $n
当$m 和 $n 一真一假时,返回true

4.比较运算符

概念:比较运算:比较两个数据的大小,或者两个内容是否相同,返回的结果都是布尔类型:满足返回true,不满足返回false。

比较运算符
运算符说明举例
<
小于(左边小于右边,返回结果true)
$m < $n
>
大于(左边大于右边,返回结果true)
$m > $n
<=
小于等于(左边小于或者等于右边,返回结果true)
$m <= $n
>=
大于等于(左边大于或者等于右边,返回结果true)
$m >= $n
==
等于(左边的与右边的相同(大小相同))
$m == $n
!=
左边的与右边的不同(大小不同)
$m != $n
===
全等于,左边与右边相同:(大小以及数据的类型都要相
同)
$m === $n
!==
不全等于,只有大小或者类型不同
$m !== $n

5.错误抑制符

在 PHP 中明知有些错误会报错,但不想让他报错,就用到了错误抑制符(@)

$a = 10;
$b = 0;
echo @($a/$b);

Warning : 警告 如果程序运行结果提示warning不是报错,程序没有出错,只是给你一个提示
Parse error: 语法报错

六.PHP控制语句

1.条件控制

概念:条件语句用于根据不同条件执行不同动作。

当编写代码时,常常需要为不同的判断执行不同的动作。·可以在代码中使用条件语句来完成此任务。

在 PHP 中,提供了下列条件语句:

if 语句 - 在条件成⽴时执⾏代码

if...else 语句 - 在条件成⽴时执⾏⼀块代码,条件不成⽴时执⾏另⼀块代码

if...elseif....else 语句 - 在若⼲条件之⼀成⽴时执⾏⼀个代码块

switch 语句 - 在若⼲条件之⼀成⽴时执⾏⼀个代码块

IF语句
if (条件)
{
条件成立时要执行的代码;
}

$name = '小明';
if($name == '小明'){
echo "你好我叫${name}";
}

if...else语句
if(条件){
条件成立代码;
}else{
条件不成立代码;
}

$num = rand(1,10); //rand()函数是生成随机数
if ($num % 2 == 0){
echo '$num 为偶数';
}
else{
echo '$num 为奇数';
}

if...elseif...else语句
if (条件)
{
if 条件成立时执行的代码;
}
elseif (条件)
{
elseif 条件成立时执行的代码;
}
else
{
条件不成立时执行的代码;
}

header("Content-Type:text/html;charset=utf-8");
$num = rand(1,10);
if ($num % 2 == 0){
echo "$num 为偶数";
}elseif($num % 2 !== 0){
echo "$num 为奇数";
}else{
echo '数据错误';
}

Switch
switch (n)
{
case label1:
如果 n=label1,此处代码将执行;
break;
case label2:
如果 n=label2,此处代码将执行;
break;
default:
如果 n 既不等于 label1 也不等于 label2,此处代码将执行;
}

2.循环控制

概念:代码段在一定的控制下,可以多次执行(重复执行多次)

循环结构分类:

For循环:通过条件、起始和终⽌判断执⾏

While循环:通过判断条件终⽌

Do-while循环:跟while差不多

Foreach循环:专⻔针对数组

for循环
for(初始值;条件;增量;){
#执行代码块
}
初始值:主要是初始化一个变量值,用于设置一个计数器(但可以是任何在循环的开始被执行一次的代码)。
条件:循环执行的限制条件。如果为 TRUE,则循环继续。如果为 FALSE,则循环结束。
增量:主要用于递增计数器(但可以是任何在循环的结束被执行的代码)。

for($i=1;$i<=10;$i+=2){
echo $i;
}

死循环
for($i=1;$i<=10;){
echo “$i”;
}
//死循环,$i永远等于1,1永远小于10,条件永远为true

//只要没有条件都是死循环
for($i=1; ;$i++){
echo "$i".'<br>';
}

for(;;;){
echo "i";
}

 While循环
while(条件){
代码块;
}
xxxx

//实现10以内的偶数的输出。1~10依次判断是否为偶数,如果是,则输出;如果不是则继续判断
$i = 1;
while($i <= 10){
if ($i %2 == 0){
echo $i;
}
$i++;
}y

do...while
do{
#要执行的代码
}
while(条件);

//实现10以内的偶数的输出。1~10依次判断是否为偶数,如果是,则输出;如果不是则继续判断
$i = 1;
do{
if ($i %2 == 0){
echo $i;
}
$i++;
}while ($i <= 10);

3.跳转语句

Break Break 关键字可以终止当前的循环,包括while、do...while、for、foreach和switch 在内的所有控制语句

for($i=1; $i<=10; $i++) {
if($i==5)
break; //中断循环
echo $i;
}

Continue 

continue 关键字没有 break 强大,它只能终止本次循环而进入到下次循环中

如果在非循环结构中(例如if语句中,switch语句中)使用continue,程序将会出错

for($i=1; $i<=10; $i++) {
if($i==5)
continue; //跳出5,进入6循环
echo $i;
}

七.PHP数组

1.数组类型

数值数组 - 带有数字 ID 键的数组(索引)

关联数组 - 带有指定的键的数组,每个键关联⼀个值(键)

多维数组 - 包含⼀个或多个数组的数组(都⾏)

2.索引数组

$stu = ['tom','berry','ketty'];
print_r($stu); //输出数组 Array ( [0] => tom [1] => berry [2] => ketty )
echo '<hr>';
echo $stu[0],'<br>'; //tom
echo $stu[1],'<br>'; //berry
echo $stu[2],'<hr>'; //ketty

具体操作

//获取数组⻓度count() 函数⽤于返回数组的⻓度(元素数):
$cars=array("porsche","BMW","Volvo");
echo count($cars);

//判断是否是数组―is_array()函数:Is_array() 函数⽤于判断是否是数组:
$cars=array("porsche","BMW","Volvo");
echo is_array($cars);

//遍历索引数组如需遍历并输出索引数组的所有值,可以使⽤ for 循环,就像这样:
$cars=array("porsche","BMW","Volvo");
$arrlength=count($cars);
for($x=0;$x<$arrlength;$x++) {
echo $cars[$x];
echo "<br>";
}

3.关联数组

关联数组是使用你分配给数组的指定键的数组

//Array(键1=>值1, 键2=>值2, 键3=>值3)
//=> 是数组成员访问符号

$emp=array('name'=>'李白','sex'=>'男','age'=>22);
print_r($emp); //Array ( [name] => 李白 [sex] => 男 [age] => 22 )
echo '<hr>';
echo $emp['name'],'<br>'; //李白
echo $emp['sex'],'<br>'; //男
echo $emp['age']; //22

4.foreach循环

//语法
Foreach($数组变量 as $值){
//通过$下标访问元素的下标;通过$值访问元素的值
}

//索引数组遍历
$arr = ['1','2','3','4'];
foreach($arr as $value){
echo $value;
}

//索引数组遍历
$cars=array("porsche","BWM",'Volvo');
foreach($cars as $value){
echo $value."<br>";
}


//关联数组遍历
Foreach($arr as $key => $value){
#代码块
}

//关联数组遍历
$age=array("bom"=>"63","dom"=>"34","tom"=>"12");
foreach($age as $x=>$zxc){
echo "key".$x.", Value=".$zxc;
echo "<br>";
}

5.数组操作

//数组的合并 array_merge(数组1,数组2)
$array1 =array('a','b','c');
$array2 = array('a1'=>'php','a2'=>'python','a3'=>'java');
$array3 = array_merge($array1,$array2);
print_r("<pre>");
print_r($array3);

//添加元素 array_push(数组变量,元素1,元素2.,...)函数向第一个参数的数组尾部添加一个或多个元素。
$array1 = array('a','b','c');
array_push($array1,'d','e');
print_r($array1);

//删除元素 array_splice(数组,索引位,删除数量)
$array1 = array('a', 'b', 'c', 'd', 'e');
array_splice($array1, 3, 1);
print_r($array1);

//unset 销毁指定的元素。
$array1 = array('a', 'b', 'c', 'd', 'e');
unset($array1[0]);
print_r($array1);

6.常见数组函数

数组函数
is_array()
判断是否为数组
count()
数组的元素数量
array_seach('查找字符串',
查找数组)
在数组种搜索指定的值,成功后返回对应的键
array_key_exists
在给定的key存在于数组中时返回True
array_unshift
将传入的数据插入到数组开头。
array_shift()
将array 的第一个单元移出并作为结果返回
array_unique
接受 array 作为输入并返回没有重复值的新数
组。注意键名保留不变。
in_array()
检查数组中是否存在某个值 如果找到指定的值
则返回 TRUE,否则返回 FALSE
函数解释

7.数组结构

PHP数组结构分为两种:一维数组、二维数组

//二维数组
$arr = array(array($value1, $value2, $value3), array($value1, array(1,2,3), $value3));

//PS: 二维数组是数组的数组(三维数组是数组的数组的数组)。
$cars = array
(
array("Volvo",22,18),
array("BMW",15,13),
array("Saab",5,2),
array("Land Rover",17,15)
);

八.PHP函数

1.函数介绍

概念:函数 Function 是一种语法结构,将实现某一个功能的代码块,封装到一个结构中,从而实现代码的重复使用。
while True:
if cpu利用率 > 90%:
aa()
if 硬盘使用空间 > 90%:
aa()
if 内存占用 > 80%:
aa()
function aa(){
#发送邮件提醒
连接邮箱服务器
发送邮件
关闭连接
}

//假如现在让你编写给定的10组不同数字相加判断,那么使用我们上面的方法编写就是
$number = 5;
$number2 = 3;
if($number+$number2 < 10){
echo "小于10";
}else{
echo "大于10";
}

//如果要编写10组的话,那么就要重复编写许多代码。这样的话效率是非常低的,所以我们可以将重复使用的代码编写成为函数,在使用的时候调用即可。
function num($number,$number2){
$number_all = $number+$number2;
if($number_all < 10){
echo "小于10";
}else{
echo "大于10";
}
}
num(1,1);
num(1,22);

PHP拥有超过1000个内置的函数

PHP用户自定义函数:

除了内置的PHP函数,我们可以创建属于我们自己的函数。

函数是可以在程序中重复使用的语句块。

页面加载时函数不会执行、函数只有在被调用时才会执行。

2.创建函数

function:为声明定义函数的关键词。

函数名:为⾃定义的函数的名称。

参数:为⾃定义的参数的名称。

函数体:为⾃定义函数的主体,是功能实现的部分。

3.调用函数

当函数被定义好后,所要做的就是调用这个函数,调用函数操作十分简单,只需要引用函数名称并赋予正确的参数即可完成函数的调用。

函数调用方式: 函数名(参数1,参数2

#定义一个 example函数名的函数,计算传入值的平方,然后连同表达式和结果全部输出。
function example($num){
echo $num*$num;
}
example(4); #函数调用

4.传递参数

概念:当调用函数时,需要函数传递参数,被传入的参数称之为 实参 而函数定义的参数为 形参

传递参数的方式:

按值传递

按引⽤传递

(1)按值传递

将实参的值复制到对应的形参中,在函数体内部针对形参进⾏操作,操作结果不会影响到实参,即函数返回后,实参值不变。

$number = 10;
function fun($num1) {
echo $num1 = $num1+5;
}
fun($number); //15
echo $number; //10

(2)按引⽤传递

将实参的值复制到对应的形参中,在函数体内部针对形参进⾏操作,操作结果会影响到实参。

function test(&$str){
$str = 'b';
}
$str = 'a';
test($str);
echo $str;

(3)默认参数

还⽤⼀种设置参数的⽅式,及可选参数。可以指定某个参数为可选参数,将可选参数放在参数的末尾,并给他⼀个默认值

//参数的默认值
function fun($name,$add='地址不详') {
echo '姓名:'.$name,'<br>';
echo '地址:'.$add,'<hr>';
}
//测试
fun('tom','北京');
fun('berry');

5.函数返回值

如需让函数返回一个值,请使用 return 语句。如果在函数内遇到return那么将终止函数内执行。

function add($x,$y)
];
$total=$x+$y;
return $total;
}
echo(add(1,16));

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值