PHP基础学习

第一章、PHP基础

PHP是一种适合Web开发的编程语言,运行于服务器端,可以在C/S架构中为客户端软件提供服务器接口,又可以在B/S上作为架构来搭建动态网站。(本篇文章以B/S架构为基础)

Apache为PHP提供工作环境

Apache

目录结构

默认监听端口号:80

默认站点目录:http://localhost

错误页面

状态码
403

Forbidden;拒绝访问

404 Not Found;页面没有找到
500 Internal Server Error;服务器内部错误

1xx 信息提示:这些状态代码表示临时的响应

2xx 成功:这类状态代码表明服务器成功地接受了客户端请求。

3xx 重定向:客户端浏览器必须采取更多操作来实现请求。例如:浏览器可能不得不请求服务器上其他不同的页面,或通过代理服务器重复该请求。

4xx - 客户端错误:发生错误,客户端出现问题。例如,客户端请求不存在的页面,客 户端未提供有效的身份验证信息。

5xx - 服务器错误:服务器由于遇到错误而不能完成该请求。

第二章、PHP基本语法

标记与注释

标记

标记类型 开始标记 结束标记

标准标记(最优)

< ? php ? >
短标记(需要将) < ? ? >

注释

注释类型 格式

C++(常用)

/ /
C / *……*  /
Shell #

输出语句

输出语句类型 含义
echo 可包含多个,用“ ,”隔开
print 与echo用法相同,只能输出一个值
print_r()

内置函数,可以输出任意类型

var_dump() 打印一个或多个类型的数据,还可以获取元素类型和个数

PHP标识符

  1. 只能由字母、数字、下划线组成,且不能包含空格
  2. 必须以字母、下划线开头
  3. 长度任意
  4. 用作变量名时,区分大小写

数据与运算

定义常量

常量定义方式 实例
define()函数

define('常量名称','常量值',true/false:用于设置常量名是否对大小写敏感)
const关键字 cinst   常量名  = 常 量值

  定义变量

PHP是弱语言,可以事先不申明就可以直接进行赋值使用

        申明变量:     $  变量名

赋值方式 实例
传值赋值 $ 变量名 = 值
引用赋值 $ 变量名 = &(引用)$变量名
可变变量

套娃;

$a = 'ni';

$ni = 'hao';

$hao = 'ma';

echo $a, '  ' ,$ $a '  ' ,$ $ $a;

返回:ni hao ma

数据类型

  1. 布尔型  bool :true/false
  2. 整型  int  
    进制数 表示10
    八进制 012
    十进制 10
    十六进制 0xa
  3. 浮点型

  4. 字符串型

转义字符

字符 含义
\n 换行
\r 回车
\t 水平指标符
\v 垂直指标符
\e Escape
\f 换页
\\ 反斜线

\$

美元标记
\" 双引号

数据类型转换

  • 自动类型转换:PHP会自动进行数据类型转换
  • 强制类型转换:在要转换的数据和变量前加上“(目标类型)”

运算符及优先级

  • 算数运算符
  • 字符串运算符  “ . ”:用于拼接两个字符串的运算符,拼接的类型都会自动转为字符串类型。
  • 赋值运算符
  • 比较运算符 "==="全等、"!=="不全等:不仅比较数值还要比较数据类型;"=="、"!="就只用比较值就行。
  • 逻辑运算符  "&&"和"and"都是表示与,但"&&"优先级更高;"xor"表示异或。
  • 递增递减运算符
  • 位运算符
  • 错误控制运算符  "@"放在要忽略的表达式错误前

流程控制语句

  1. 选择结构语句
  • if单分支
if($score>=60){
    echo '及格啦!';
}
  • if...else语句
if(score>=60){
    echo '及格啦!';
}else{
    echo '挂科了。';
}
  • if...elseif...else语句(可以有很多个elseif,和switch有点类似)
  • switch语句
switch (表达式){
    case 值1:代码段1;break;
    case 值2:代码段2;break;
    defaul:代码段n;
}

         2.循环结构语句

  •   while语句
​
while(循环条件){
    循环体;
}

​
  • do...while 语句 
do{
    循环体;

}while(循环条件);
  • for循环语句
for(定义变量;循环条件;变量自增或自减){
    代码段;
}

         3.跳转语句

  • break语句
  • continue语句

        4.文件包含语句  

 include  '文件路径';

第三章、函数

函数定义语法结构

访问函数外定义的变量,需要使用'global'关键字

function函数名([参数1,参数2,……])
{
    函数体……
    要是想要函数的返回值,就需要使用return关键字
}

参数设置

在函数中定义的变量在函数调用完了就会被释放

参数 示例
无参函数 函数体内需要有return
按值传递

function 函数名(参数1,参数2,……){};在引用的时候可以使用变量代替

引用传参 修改参数值function(&$ 变量名);用于全局变量
设置参数默认值 可以在定义函数时设置默认参数
指定参数类型 PHP7.0版本后可以设置参数的数据类型(跟C语言格式差不多)

嵌套调用

  • 嵌套调用

在调用一个函数时,调用其他的函数,下面给个例子:

<?PHP
function sum($score1,$score2)
{
   return $sun =$score1+$score2; 
}

function avg($score1,$score2)
{
    $sum = sum($score1,$score2);
    return $avg = $sum/2;
}

echo avg(90,92)  //返回值就是91
  • 递归调用

一个函数在其函数体内调用自己

<?PHP
//编写一个N的阶乘的函数作为例子
function jiecheng($n)
{
    if(n == 1){
        return 1;
    }else{
    return $n*jiecheng($n - 1);
    }
}
echo jiecheng(4)  //返回24

高级应用

  • 静态变量

想要调用函数后,值能够保存就要使用静态变量:

<?PHP
function num($i)
{
    static $i = 1;//申明为静态变量后,在每次被调用都会保存i的值
//要是是 $i = 1;那就每次调用函数的时候都是i = 1;
    echo $i;
    ++i;
}
  • 可变函数

怎么说呢,这个函数,其实是一个规定,有点像可变变量($ 变量名)的用法你定义了一个函数,如果你想在某个变量里面使用的时候就在后面加一个"()"让它近似变成函数名的结构就行了。

这也说明一个问题,你可以用一个变量来代替函数名称。

<?PHP
function a()
{
    echo 'come on';//申明了一个函数a,可以打印come on
}
$b = 'a';
//给b赋值为a,但是a是一个函数的名称,想调用a的话就可以像下面一行一样
echo $b();//加个括号就行
  • 回调函数

一般用于参数传递

call_user_func作为PHP的内置函数,可以接受用户自定义的回调函数作为参数

<?PHP
function sum($a,$b)
{
    return $a+$b;
}
call_user_func('sum',4,5);//输出结果:9
//call_user_func作为PHP的内置函数,将参数进行回调再输出结果
  • 匿名函数

没有函数名称的函数,也称作闭包函数,一般用于临时定义的函数,用匿名函数就无需担心函数名称命名冲突的问题了。

<?PHP
function ($a,$b)//没有函数名称
{
    return $a + $b;
}
echo $sum4,5);//没有函数名就加个括号引用参数就行了

PHP内置函数

  • 字符串函数
  • 一般括号"()"内第一个表示需要操作的字符串,第二个表示操作的起始位置,第三个表示操作的位数,若第三个被省略的话那就是一直操作到最后。
函数名称 功能描述
strlen()

获取字符串长度

strpos()

查找字符串首次出现的位置

strrpos() 查找字符串最后一次出现的位置
str_replace() 对字符串中的某些字符进行替换操作
substr() 获取字符串中的子串
explode() 使用一个字符串分割另一个字符串

implode()

用指定的连接符将数组连接成一个字符串
trim() 用指定字符串的首尾的空白字符
str_repeat() 重复一个字符串
strcmp() 用于判断两个字符串的大小
  • 数学函数
函数名 功能描述 函数名 功能描述
abs() 取绝对值 min() 取最小值
max() 取最大值 pi() 取圆周率的值
ceil() 向上取最接近的整数 floor() 向下取最接近的整数
fmod() 取除法的浮点数余数 pow() 计算x的y次方
is_nan() 判断是否为合法数值 sqrt() 取平方根
round() 对浮点数进行四舍五入 rand() 随机生成整数
  • 时间日期函数

函数名 功能描述
time() 获取当前的UNIX时间戳
date() 格式化一个本地时间/日期
mktime() 获取指定日期的UNIX时间戳
shortime() 将字符串转化成UNIX时间戳
microtime() 获取当前的UNIX时间戳和微秒数

UNIX时间戳是表示格林威治时间1970年01月01日00时00分00秒到现在的总秒数

格式化时间戳

echo date('Y-m-d H-i-s');

第四章、数组

        要是操作一批数据的话,你每一条信息都用一个变量来定义的话就很麻烦,而且这些数据一般都有一定的关联性,你把它们串在一起定义成一个数组不是很方便。那也就引出了这个章节要讲的内容。

        在PHP中,数组是由一个或多个数组元素组成的,每个数组由键和值组成:"键"是元素的识别名称,"值"是元素内容;"键"和"值"存在一定对应关系称为"映射"。

数组构成:数组是由一个或多个数组元素组成的

数组元素:一每个数组元素由键(Key)和值(Value)构成

键:“键”为元素的识别名称,也被称为数组下标

值: “值”为元素的内容

映射: “键”和“值”之间存在一种对应关系,称之为映射

类型划分:根据键的数据类型,可以将数组划分为索引数组和关联数组

数组类型

  • 索引数组

键为整数的数组,一般情况是从0开始,用来标记元素的位置,当然也可以自己定义;你要是不设置键的话基本上默认索引数组。

0 1 2 3
21 43 215 43
  • 关联数组

键为字符串的数组,一般都是键和值有一定的逻辑关系;需要你自己定义键。

姓名 年龄 性别 电话
  • 4
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值