IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> PHP知识库 -> PHP 总结 -> 正文阅读

[PHP知识库]PHP 总结

概述

????????PHP是超文本预处理器(Hypertext Preprocessor)的简称,是一种用于创建动态性交互网站的强有力的语言。

其语法利用借鉴了 C,Java 和 Perl,非常容易学习。该语言的主要目标是让 Web 开发人员可以很快写出动态生成的网页,如用于开发留言板、购物网站、论坛等,但 PHP 的功能远不止如此。PHP是如此的易用且功能强大,因此深受广大 Web 开发人员的喜爱。对比其他 Web 开发语言,PHP 的市场份额也越来越大。据统计,世界上有超过 60% 的网站后台语言采用 PHP。

运行原理

????????在 Web 服务器上,安装上 PHP 软件之后,由Web服务软件(如Apache、IIS等)提供对 PHP 的解析支持。

PHP 程序通常以 php 为后缀名。我们可以在 php 文件里面写上一些必要的逻辑过程,如 数据读取 、 用户登录检测 等。当用户通过浏览器访问这些 php 文件的时候如http://www.sentien.com/index.php这个 URL 地址,PHP 软件在 Web 服务软件的支持下,会对 php 文件中的逻辑进行解析运行。最后将执行的结果返回给浏览器即用户查看到的界面,返回的结果为 HTML 格式。

?安装环境

  1. PHP编译器:支持 PHP 运行的核心
  2. Apache Web 服务器:提供 Web 服务,并支持 PHP 解析
  3. MySQL数据库:用于学习 PHP 操作 MySQL 数据库
  4. 操作系统:默认为个人PC,安装 Windows 2000 以上系统
  5. 编辑工具:EditPlus 或IDE工具如 Zend Studio 或?sublime3?HbuilderX?、?vscode
  6. 浏览器:IE6 或以上版本、Firefox 、chrome谷歌浏览器版
  7. 文件存储位置:E:html

注意:文件存储位置不是特定的,只要您的 Apache Web 服务器能解析到就行,在此设置是为了跟XHTML+CSS教程保持一致。

phpStudy集成环境

phpStudy 2018版本(php一键安装包),集成PHP7,16种组合,超全大合集
2018是一款非常强大的php环境调试工具,一次性安装,无须配置即可使用,是非常方便、好用的PHP调试环境。对学习PHP的新手来说,WINDOWS下环境配置是一件很困难的事;对老手来说也是一件烦琐的事。因此无论你是新手还是老手,该程序包都是一个不错的选择。下载地址:http://www.phpstudy.net/download.html

PHP 基本语法

启动编辑器,创建一个php文件并键入如下代码:

<?php
echo "你好!";
?

注意:不要忘记? ;

  1. PHP 文件或 PHP 代码段以“<?php”开头,以“?>”结束,中间为php代码
  2. 每一个指令集以 ; 符号结束
  3. 浏览器得到的为 PHP 解析器执行完 php 代码后的结果,网站浏览者不能查看到 php 文件的原始代码

要输出标准的html代码,可以把上例完善为:

<html>
 <head>
  <title>PHP 测试</title>
 </head>
 <body>
 <p>
<?php
echo "你好!";
?>
 </p>
 </body>
</html>

输入? ! 之后按tab,注意 !? 为英文感叹号PHP 代码可以和 HTML 代码混写。echo 是 PHP 内置的一个指令,用于输出1个或多个字符串,和 echo 类似的还有 print。

js与php语法基本一致
JSphp
js代码用<script></script>包括php代码用<?php ?>包括
php代码用<?php ?>包括php 用户?echo输出
js用;结束一行代码php必须用;结束一行代码

PHP 字符串输出

  • echo():输出一个或多个字符串
  • print():输出一个字符串
  • printf():输出格式化字符串

echo()

echo()是指令而不是函数,它没有返回值,可以输出一个或多个字符串。

<?php
$foo = "foobar";
$bar = "barbaz";
echo $foo,$bar;		// 输出"foobarbarbaz"
echo "<br />";
echo $foo[3];		// 输出第4个字符"b"
echo "<br />";
echo "foo is $foo";	// 输出"foo is foobar"
echo "<br />";
echo 'foo is $foo';	// 输出"foo is $foo"
?>
  • 双引号内的变量会被解释,而单引号内的变量则原样输出
  • 字符串计算是从 0 开始计数

print()

print() 用于输出一个字符串。print() 是函数,返回一个整型,但只能有一个参数,其用法同 echo ,但不能输出数组和对象。

语法:

int print( string arg )

printf()

printf() 用于格式化输出字符串,返回一个整型。

int printf(string format, arg1, arg2,  ...)

format 为字符串以及变量的格式化方式,arg1 为插入第一个%符号处的参数,agr2等以此类推。

格式化方式说明: 格式化方式说明
%d十进制有符号整数
%u十进制无符号整数
%f浮点数
%s字符串
%c%c
%p指针的值
%e指数形式的浮点数
%x/%X无符号以小/大写十六进制表示的整数
%o无符号以八进制表示的整数
%g自动选择合适的表示法

例子:

<?php
$str = "This";
$number = 31;
printf("%s month has %u days",$str,$number);    //输出 This month has 31 days
?>

单行注释

<?php
// 这是单行注释
echo '你好!'; // 这是单行注释,写在一行代码后面也叫行尾注释
/* 这个注释风格也不错 */
# 较少用的风格
?>

多行注释

<?php
echo "你好!"; 
/*
这是多行大块注释
这里面都是注释内容
更多注释内容等
*/
?>

不要嵌套使用 C 风格注释符,因为在碰到第一个 */ 时系统即认为该段注释结束,在注释掉一大块代码时很容易出现该错误。如下述用法将产生 PHP 语法错误,

PHP 注释中不能包含 PHP 代码结束符即:?>,因为在任何地方,PHP 检测到该结束符,即认为该段 PHP 代码结束而跳出 PHP 的执行。

PHP 变量

PHP变量用于存储字符、数字、数组甚至对象资源等,以便在我们需要的地方使用。

定义一个变量的语法:

<?php
$var_char = "你好!";
echo $var_char;
?>

常见的php数据类型 字符串、整型、浮点型、布尔型

<?php
// 存储一个人的名字用字符串类型
$name = "mumu";

// 存储一个人的年龄用 整型
$age = 18;

// 存储价格用浮点型,浮点几乎可以表达任何类型数字
$price = 3.5;

/* 
布尔类型分为两类:
TRUE:表示事实成立,为真,也可写作true
FALSE:表示事实不成立,为假,也可写作false
*/
// 存储一个开关状态用 布尔类型
$flag = TRUE;
?>

变量的命名

从这个例子可以看出,变量名以 $ 开始,标明这是一个变量。变量名以字母(a-z、A-Z)或者下划线 _ 开始,后面可以跟任意字母或数字以及下划线,但不能是空格。

PHP 运算符主要包括:

  1. 算术运算符
  2. 赋值运算符
  3. 比较运算符
  4. 三元运算符
  5. 逻辑运算符
  6. 字符串运算符
  7. 错误控制运算符

算术运算符

运算符说明例子运算结果
+$x = 2;
$y = $x+1;
$y = 3
-$x = 2;
$y = $x-1;
$y = 1
*$x = 2;
$y = $x*3;
$y = 6
/$x = 6;
$y = $x/3;
$y = 2
%求余,返回结果位浮点数$x = 6;
$y = $x%4;
$y = 2
++递加,分为前加和后加,对布尔和null无效$x = 2;
++$x;(前加)
$x++;(后加)
$x = 3
--递减,分为前加和后加,对布尔和null无效$x = 2;
--$x;(前减)
$x--;(后减)
$x = 1

赋值运算符

赋值运算符“=”用于赋值运算,赋值运算符的作用在于把右边的值赋值给左边变量:

$x = 2;

赋值运算符其他用法

// 赋值运算符可以嵌套使用:
<?php
$y = ($x = 2) + 5;    //结果为 $x=2,$y=7
?>

// 赋值运算符的一些变形使用方法:
$y += $x;
// 实际上它等同于
$y = $y + $x;

// 同理有:
$y -= $x;
$y *= $x;
$y /= $x;
$y %= $x;
$y .= $x; 	// . 为连接运算符,见字符串运算符

比较运算符

运算符说明例子运算结果
==等于2 == 3false
!=不等于2 == 3true
>大于2 > 3false
<小于2 < 3true
>=大于等于2 >= 3?false
<=小于等于2 <=3true

三元运算符

(expr1) ? (expr2) : (expr3)

语法解释:在 expr1 求值为 TRUE 时整个表达式的值为 expr2,否则为 expr3。

$y = ($x == 2) ? $x : 1;

该例子判断变量$x的值是否等于2,如果$x等于2,那么$y的值就等于$x(也就是等于2),反之$y就等于1。

逻辑运算符

运算符说明例子运算结果
&&逻辑与
$x = 2;
$y = 6;
$x && $y > 5
false
||逻辑或
$x = 2;
$y = 6;
$x && $y > 5
true
逻辑非$x = 2;
$y = 6;
!($x > $y)
true

连接运算符

字符串运算符主要指连接运算符“.”,它将连接其左右参数字符串。

$x = "beijing";
$y = $x."你好";		//$y = "beijing你好"

如该例子所示,字符和变量共同输出时需要使用连接运算符。

连接符与赋值运算符一起可构成连接赋值运算符:

$x = "beijing";
$x .="你好";		//$x = "beijing你好”

错误控制运算符

错误控制运算符:@,当将其放置在一个 PHP 表达式之前,该表达式可能产生的任何错误信息都被忽略掉。

<?php
/* 读取文件 */
$my_file = @file ('file1') or
    die ("打开文件失败,错误信息: '$php_errormsg'");
?>

错误控制运算符经常用于在可能产生错误的地方屏蔽 PHP 的系统错误而提示友好的错误信息。

条件与分支

if

if 流程控制允许按照条件执行代码片段。if 流程控制分为三类:

  1. if
  2. if…else
  3. elseif

if

语法:

if (expr){
    statement
}

例子:

<?php
if ($x > $y)
    echo "x 大于 y";
?>

if…else

语法:

if (expr){
    statement1
} else {
    statement2
}

它表示只要 expr 成立,则执行 statement1 ,否则执行 statement2 。

例子:

<?php
if ($x > $y)
    echo "x 大于 y";
} else {
    echo "x 小于等于 y";
}
?>

elseif

语法:

if (expr){
    statement1
} elseif (expr2) {
    statement2
} else {
    statement3
}

它表示只要 expr1 成立,则执行 statement1 ,否则检测 expr2 ,如果 expr2 成立则执行 statement2 。如果 expr2 也不成立,则执行 statement3 。

例子:

<?php
if ($x > $y) {
    echo "x 大于 y";
} elseif ($x == $x) {
    echo "x 等于 y";
} else {
    echo "x 小于 y";
}
?>

提示

elseif 可以有多个,以实现更多条件的选择,但多数情况下,条件更多时,我们可以选择switch来实现。

循环

PHP while 循环

PHP 循环控制主要是 while 循环和 for 循环。

while循环

while循环是PHP中最简单的循环,其基本格式为:

while (expr){
    statement
}
//或者
while (expr):
    statement
endwhile;

该语法表示,只要expr表达式为TRUE,那么就一直执行statement直到expr为FALSE为止,statement表示要执行的动作或逻辑。

例子:

<?php
$i = 1;
while ($i <= 10) {
   echo $i;
   $i++;
}
?>

该例子循环输出1到10。

PHP for 循环

for循环

for循环是PHP中更为复杂的循环,其语法如下:

for (expr1; expr2; expr3){
    statement
}

下面的例子依然输出1到10:

<?php
for ($i = 1; $i <= 10; $i++) {
    echo $i;
}
?>

语法解读

  1. 第一个表达式(expr1)在循环开始前无条件求值一次

  2. expr2 在每次循环开始前求值,如果值为 TRUE,则继续循环,执行嵌套的循环语句;如果值为 FALSE,则终止循环。

  3. expr3 在每次循环之后被求值(执行)

  4. 每个表达式都可以为空。如果expr2 为空意则将无限循环下去,但可以通过break来结束循环:

    <?php
for ($i = 1; ; $i++) {
    if ($i > 10) {
        break;
    }
    echo $i;
}
?>

提示

在使用循环语句的时候,我们通常要注意不要无限循环而造成程序“僵死”,另外还要注意循环条件(循环判断表达式),以确保循环结果正确。

案例

计算100以内偶数和,用while 与for循环各实现一次

<?php
$num = 1;
$total =0;
while($num<=100){
    if($num%2==0){
        $total+=$num;

    }
    $num++;
}
echo "1-100偶数和为$total<br>";


$total=0;
for($i=0;$i<=100;$i++){
    if($i%2==0){
        $total+=$i;

    }
}
echo "1-100偶数和为$total<br>";
?>

数组

数组(array)是 PHP 中一个非常重要的概念,我们可以把数组看做一系列类似的数据的集合,实际上数组是一个有序图。

PHP 还提供了超过 70 个内建函数来操作数组。

创建数组

使用 array() 语言结构创建数组:

<?php
$arr_age1 = array(18, 20, 25);
// 或者:
$arr_age2 = array("wang"=>18, "li"=>20, "zhang"=>25);
// 空数组:
$arr_age3 =array();
?>

也可以使用数组控制器 [] 来创建数组:

<?php
$arr_age1[] = 18;
$arr_age1[] = 20;
$arr_age1[] = 25;
// 或者:
$arr_age2["wang"] = 18;
$arr_age2["li"] = 20;
$arr_age2["zhang"] = 25;
?>

数组键名与值

数组实体都包含两项:键名和值。

在下面创建数组的例子中:

$arr_age1 = array(18, 20, 25);

我们给 $arr_age1 分配了 3 个数组单元(也称元素),其值分别是 18、20 和 25。系统会自动给这 3 个数组单元分配 3 个数字序号,分别为 0、1 和 2。即 $arr_age1 数组的完整结构为:

Array ( [0] => 18 [1] => 20 [2] => 25 )

这个系统自动分配的序号称为键名,这种键名为数字 ID 的数组称为?索引数组( indexed array )?。

当然也可以手动指定键名:

$arr_age1 = array( 0 => 18, 1 => 20, 2 => 25 );

提示

  • 手动指定键名可以不从 0 开始,也可以不用按数字顺序来指定键名。
  • 当一个新单元加入数组而没有指定健名时,系统将自动的在现有数组中最大的数字键中加 1 ,作为新单元的键名。

当使用字符串而非数字索引作为键名时,这种数组称为?关联数组( associative array )?:

$arr_age2 = array("wang"=>18, "li"=>20, "zhang"=>25);

但在 PHP 中,这两种数组没有明显的界限,二者可以混合使用。注意关联数组中对于键名大小写是敏感的。

输出数组单元值

可以使用如下方式访问输出数组单元值:

echo $arr_age1[0];        //输出:18
echo $arr_age2["wang"];    //输出:18

某些情况下为了调试,可能需要输出整个数组的数据及结构,这时候需要使用 print_r() 或 var_dump() 函数,具体参见《PHP 打印输出数组内容及结构 print_r 与 var_dump 函数

操作数组单元

可以象操作普通变量一样操作数组单元,如:

<?php
$arr_age2 = array("wang"=>18, "li"=>20, "zhang"=>25);
$arr_age2["wang"] = $arr_age2["wang"] + 10;
?>

现在 $arr_age2 为:

Array ( [wang] => 28 [li] => 20 [zhang] => 25 )

检查一个数组单元是被设定,请使用?isset()?。

销毁数组

使用 unset() 函数来销毁一个数组单元或整个数组:

<?php
unset($arr_age1[0]);
unset($arr_age1);
?>

  PHP知识库 最新文章
Laravel 下实现 Google 2fa 验证
UUCTF WP
DASCTF10月 web
XAMPP任意命令执行提升权限漏洞(CVE-2020-
[GYCTF2020]Easyphp
iwebsec靶场 代码执行关卡通关笔记
多个线程同步执行,多个线程依次执行,多个
php 没事记录下常用方法 (TP5.1)
php之jwt
2021-09-18
上一篇文章      下一篇文章      查看所有文章
加:2021-10-25 12:21:21  更:2021-10-25 12:21:31 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 1:22:43-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码