复习PHP基础教程

news2024/11/25 7:05:02

PHP 安装

  • PHP 简介
  • PHP 语法

我需要什么?

如需开始使用 PHP,您可以:

  • 使用支持 PHP 和 MySQL 的 web 主机
  • 在您的 PC 上安装 web 服务器,然后安装 PHP 和 MySQL。

使用支持 PHP 的 Web 主机

如果您的服务器支持 PHP,那么您无需做任何事情。

只要创建 .php 文件,然后上传到 web 目录中即可。服务器会自动对它们进行解析。

您无需编译或安装任何额外的工具。

因为 PHP 是免费的,大多数 web 主机都支持 PHP。

在您的 PC 上运行 PHP

不过如果您的服务器不支持 PHP,那么您必须:

  • 安装 web 服务器
  • 安装 PHP
  • 安装数据库,比如 MySQL

官方的 PHP 网站 (PHP.net) 提供了 PHP 的安装说明:PHP: 安装与配置 - Manual

PHP 语法

  • PHP 安装
  • PHP 变量

PHP 脚本在服务器上执行,然后向浏览器发送回纯 HTML 结果。

基础 PHP 语法

PHP 脚本可放置于文档中的任何位置。

PHP 脚本以 <?php 开头,以 ?> 结尾:

<?php
// 此处是 PHP 代码
?>

PHP 文件的默认文件扩展名是 ".php"。

PHP 文件通常包含 HTML 标签以及一些 PHP 脚本代码。

下面的例子是一个简单的 PHP 文件,其中包含了使用内建 PHP 函数 "echo" 在网页上输出文本 "Hello World!" 的一段 PHP 脚本:

实例

<!DOCTYPE html>
<html>
<body>

<h1>我的第一张 PHP 页面</h1>

<?php
echo "Hello World!";
?>

</body>
</html>

注释:PHP 语句以分号结尾(;)。PHP 代码块的关闭标签也会自动表明分号(因此在 PHP 代码块的最后一行不必使用分号)。

PHP 中的注释

PHP 代码中的注释不会被作为程序来读取和执行。它唯一的作用是供代码编辑者阅读。

注释用于:

  • 使其他人理解您正在做的工作 - 注释可以让其他程序员了解您在每个步骤进行的工作(如果您供职于团队)
  • 提醒自己做过什么 - 大多数程序员都曾经历过一两年后对项目进行返工,然后不得不重新考虑他们做过的事情。注释可以记录您在写代码时的思路。

PHP 支持三种注释:

实例

<!DOCTYPE html>
<html>
<body>

<?php
// 这是单行注释

# 这也是单行注释

/*
这是多行注释块
它横跨了
多行
*/
?>

</body>
</html>

PHP 大小写敏感

在 PHP 中,所有用户定义的函数、类和关键词(例如 if、else、echo 等等)都对大小写不敏感。

在下面的例子中,所有这三条 echo 语句都是合法的(等价):

实例

<!DOCTYPE html>
<html>
<body>

<?php
ECHO "Hello World!<br>";
echo "Hello World!<br>";
EcHo "Hello World!<br>";
?>

</body>
</html>

不过在 PHP 中,所有变量都对大小写敏感。

在下面的例子中,只有第一条语句会显示 $color 变量的值(这是因为 $color、$COLOR 以及 $coLOR 被视作三个不同的变量):

实例

<!DOCTYPE html>
<html>
<body>

<?php
$color="red";
echo "My car is " . $color . "<br>";
echo "My house is " . $COLOR . "<br>";
echo "My boat is " . $coLOR . "<br>";
?>

</body>
</html>

PHP 变量

  • PHP 语法
  • PHP Echo / Print

变量是存储信息的容器:

实例

<?php
$x=5;
$y=6;
$z=$x+$y;
echo $z;
?>

类似代数

x=5
y=6
z=x+y

在代数中我们使用字母(比如 x)来保存值(比如 5)。

从上面的表达式 z=x+y,我们能够计算出 z 的值是 11。

在 PHP 中,这三个字母被称为变量

注释:请把变量视为存储数据的容器。

PHP 变量

正如代数,PHP 变量可用于保存值(x=5)和表达式(z=x+y)。

变量的名称可以很短(比如 x 和 y),也可以取更具描述性的名称(比如 carname、total_volume)。

PHP 变量规则:

  • 变量以 $ 符号开头,其后是变量的名称
  • 变量名称必须以字母或下划线开头
  • 变量名称不能以数字开头
  • 变量名称只能包含字母数字字符和下划线(A-z、0-9 以及 _)
  • 变量名称对大小写敏感($y 与 $Y 是两个不同的变量)

注释:PHP 变量名称对大小写敏感!

创建 PHP 变量

PHP 没有创建变量的命令。

变量会在首次为其赋值时被创建:

实例

<?php
$txt="Hello world!";
$x=5;
$y=10.5;
?>

以上语句执行后,变量 txt 会保存值 Hello world!,变量 x 会保存值 5,变量 y 会保存值 10.5。

注释:如果您为变量赋的值是文本,请用引号包围该值。

PHP 是一门类型松散的语言

在上面的例子中,请注意我们不必告知 PHP 变量的数据类型。

PHP 根据它的值,自动把变量转换为正确的数据类型。

在诸如 C 和 C++ 以及 Java 之类的语言中,程序员必须在使用变量之前声明它的名称和类型。

PHP 变量作用域

在 PHP 中,可以在脚本的任意位置对变量进行声明。

变量的作用域指的是变量能够被引用/使用的那部分脚本。

PHP 有三种不同的变量作用域:

  • local(局部)
  • global(全局)
  • static(静态)

Local 和 Global 作用域

函数之外声明的变量拥有 Global 作用域,只能在函数以外进行访问。

函数内部声明的变量拥有 LOCAL 作用域,只能在函数内部进行访问。

下面的例子测试了带有局部和全局作用域的变量:

实例

<?php
$x=5; // 全局作用域

function myTest() {
  $y=10; // 局部作用域
  echo "<p>测试函数内部的变量:</p>";
  echo "变量 x 是:$x";
  echo "<br>";
  echo "变量 y 是:$y";
} 

myTest();

echo "<p>测试函数之外的变量:</p>";
echo "变量 x 是:$x";
echo "<br>";
echo "变量 y 是:$y";
?>

在上例中,有两个变量 $x 和 $y,以及一个函数 myTest()。$x 是全局变量,因为它是在函数之外声明的,而 $y 是局部变量,因为它是在函数内声明的。

如果我们在 myTest() 函数内部输出两个变量的值,$y 会输出在本地声明的值,但是无法 $x 的值,因为它在函数之外创建。

然后,如果在 myTest() 函数之外输出两个变量的值,那么会输出 $x 的值,但是不会输出 $y 的值,因为它是局部变量,并且在 myTest() 内部创建。

注释:您可以在不同的函数中创建名称相同的局部变量,因为局部变量只能被在其中创建它的函数识别。

PHP global 关键词

global 关键词用于在函数内访问全局变量。

要做到这一点,请在(函数内部)变量前面使用 global 关键词:

实例

<?php
$x=5;
$y=10;

function myTest() {
  global $x,$y;
  $y=$x+$y;
}

myTest();
echo $y; // 输出 15
?>

PHP 同时在名为 $GLOBALS[index] 的数组中存储了所有的全局变量。下标存有变量名。这个数组在函数内也可以访问,并能够用于直接更新全局变量。

上面的例子可以这样重写:

实例

<?php
$x=5;
$y=10;

function myTest() {
  $GLOBALS['y']=$GLOBALS['x']+$GLOBALS['y'];
} 

myTest();
echo $y; // 输出 15
?>

PHP static 关键词

通常,当函数完成/执行后,会删除所有变量。不过,有时我需要不删除某个局部变量。实现这一点需要更进一步的工作。

要完成这一点,请在您首次声明变量时使用 static 关键词:

实例

<?php

function myTest() {
  static $x=0;
  echo $x;
  $x++;
}

myTest();
myTest();
myTest();

?>

然后,每当函数被调用时,这个变量所存储的信息都是函数最后一次被调用时所包含的信息。

注释:该变量仍然是函数的局部变量

PHP 5 echo 和 print 语句

  • PHP 变量
  • PHP 数据类型

在 PHP 中,有两种基本的输出方法:echo 和 print。

在本教程中,我们几乎在每个例子中都会用到 echo 和 print。因此,本节为您讲解更多关于这两条输出语句的知识。

PHP echo 和 print 语句

echo 和 print 之间的差异:

  • echo - 能够输出一个以上的字符串
  • print - 只能输出一个字符串,并始终返回 1

提示:echo 比 print 稍快,因为它不返回任何值。

PHP echo 语句

echo 是一个语言结构,有无括号均可使用:echo 或 echo()。

显示字符串

下面的例子展示如何用 echo 命令来显示不同的字符串(同时请注意字符串中能包含 HTML 标记):

<?php
echo "<h2>PHP is fun!</h2>";
echo "Hello world!<br>";
echo "I'm about to learn PHP!<br>";
echo "This", " string", " was", " made", " with multiple parameters.";
?>

显示变量

下面的例子展示如何用 echo 命令来显示字符串和变量:

<?php
$txt1="Learn PHP";
$txt2="W3School.com.cn";
$cars=array("Volvo","BMW","SAAB");

echo $txt1;
echo "<br>";
echo "Study PHP at $txt2";
echo "My car is a {$cars[0]}";
?>

PHP print 语句

print 也是语言结构,有无括号均可使用:print 或 print()。

显示字符串

下面的例子展示如何用 print 命令来显示不同的字符串(同时请注意字符串中能包含 HTML 标记):

<?php
print "<h2>PHP is fun!</h2>";
print "Hello world!<br>";
print "I'm about to learn PHP!";
?>

显示变量

下面的例子展示如何用 print 命令来显示字符串和变量:

<?php
$txt1="Learn PHP";
$txt2="W3School.com.cn";
$cars=array("Volvo","BMW","SAAB");

print $txt1;
print "<br>";
print "Study PHP at $txt2";
print "My car is a {$cars[0]}";
?>

PHP 数据类型

  • PHP Echo / Print
  • PHP 字符串函数

字符串、整数、浮点数、逻辑、数组、对象、NULL。

PHP 字符串

字符串是字符序列,比如 "Hello world!"。

字符串可以是引号内的任何文本。您可以使用单引号或双引号:

实例

<?php 
$x = "Hello world!";
echo $x;
echo "<br>"; 
$x = 'Hello world!';
echo $x;
?>

PHP 整数

整数是没有小数的数字。

整数规则:

  • 整数必须有至少一个数字(0-9)
  • 整数不能包含逗号或空格
  • 整数不能有小数点
  • 整数正负均可
  • 可以用三种格式规定整数:十进制、十六进制(前缀是 0x)或八进制(前缀是 0)

在下面的例子中,我们将测试不同的数字。PHP var_dump() 会返回变量的数据类型和值:

实例

<?php 
$x = 5985;
var_dump($x);
echo "<br>"; 
$x = -345; // 负数
var_dump($x);
echo "<br>"; 
$x = 0x8C; // 十六进制数
var_dump($x);
echo "<br>";
$x = 047; // 八进制数
var_dump($x);
?>

PHP 浮点数

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

在下面的例子中,我们将测试不同的数字。PHP var_dump() 会返回变量的数据类型和值:

实例

<?php 
$x = 10.365;
var_dump($x);
echo "<br>"; 
$x = 2.4e3;
var_dump($x);
echo "<br>"; 
$x = 8E-5;
var_dump($x);
?>

PHP 逻辑

逻辑是 true 或 false。

$x=true;
$y=false;

逻辑常用于条件测试。您将在本教程稍后的章节学到更多有关条件测试的知识。

PHP 数组

数组在一个变量中存储多个值。

在下面的例子中,我们将测试不同的数组。PHP var_dump() 会返回变量的数据类型和值:

实例

<?php 
$cars=array("Volvo","BMW","SAAB");
var_dump($cars);
?>

您将在本教程稍后的章节学到更多有关数组的知识。

PHP 对象

对象是存储数据和有关如何处理数据的信息的数据类型。

在 PHP 中,必须明确地声明对象。

首先我们必须声明对象的类。对此,我们使用 class 关键词。类是包含属性和方法的结构。

然后我们在对象类中定义数据类型,然后在该类的实例中使用此数据类型:

实例

<?php
class Car
{
  var $color;
  function Car($color="green") {
    $this->color = $color;
  }
  function what_color() {
    return $this->color;
  }
}
?>

PHP NULL 值

特殊的 NULL 值表示变量无值。NULL 是数据类型 NULL 唯一可能的值。

NULL 值标示变量是否为空。也用于区分空字符串与空值数据库。

可以通过把值设置为 NULL,将变量清空:

实例

<?php
$x="Hello world!";
$x=null;
var_dump($x);
?>

PHP 字符串函数

  • PHP 数据类型
  • PHP 常量

字符串是字符序列,比如 "Hello world!"。

PHP 字符串函数

在本节中,我们将学习常用的字符串操作函数。

PHP strlen() 函数

strlen() 函数返回字符串的长度,以字符计。

下例返回字符串 "Hello world!" 的长度:

实例

<?php
echo strlen("Hello world!");
?>

提示:strlen() 常用于循环和其他函数,在确定字符串何时结束很重要时。(例如,在循环中,我们也许需要在字符串的最后一个字符之后停止循环)。

对字符串中的单词计数

PHP str_word_count() 函数对字符串中的单词进行计数:

实例

<?php
echo str_word_count("Hello world!"); // 输出 2
?>

反转字符串

PHP strrev() 函数反转字符串:

实例

<?php
echo strrev("Hello world!"); // 输出 !dlrow olleH
?>

PHP strpos() 函数

strpos() 函数用于检索字符串内指定的字符或文本。

如果找到匹配,则会返回首个匹配的字符位置。如果未找到匹配,则将返回 FALSE。

下例检索字符串 "Hello world!" 中的文本 "world":

实例

<?php
echo strpos("Hello world!","world");
?>

提示:上例中字符串 "world" 的位置是 6。是 6(而不是 7)的理由是,字符串中首字符的位置是 0 而不是 1。

替换字符串中的文本

PHP str_replace() 函数用一些字符串替换字符串中的另一些字符。

下面的例子用 "Kitty" 替换文本 "world":

实例

<?php
echo str_replace("world", "Kitty", "Hello world!"); // 输出 Hello Kitty!
?>

PHP 常量

  • PHP 字符串函数
  • PHP 运算符

常量类似变量,但是常量一旦被定义就无法更改或撤销定义。

PHP 常量

常量是单个值的标识符(名称)。在脚本中无法改变该值。

有效的常量名以字符或下划线开头(常量名称前面没有 $ 符号)。

注释:与变量不同,常量贯穿整个脚本是自动全局的。

设置 PHP 常量

如需设置常量,请使用 define() 函数 - 它使用三个参数:

  1. 首个参数定义常量的名称
  2. 第二个参数定义常量的值
  3. 可选的第三个参数规定常量名是否对大小写不敏感。默认是 false。

下例创建了一个对大小写敏感的常量,值为 "Welcome to W3School.com.cn!":

实例

<?php
define("GREETING", "Welcome to W3School.com.cn!");
echo GREETING;
?>

下例创建了一个对大小写不敏感的常量,值为 "Welcome to W3School.com.cn!":

实例

<?php
define("GREETING", "Welcome to W3School.com.cn!", true);
echo greeting;
?>

常量是全局的

常量是自动全局的,而且可以贯穿整个脚本使用。

下面的例子在函数内使用了一个常量,即使它在函数外定义:

实例

<?php
define("GREETING", "Welcome to W3School.com.cn!");

function myTest() {
    echo GREETING;
}
 
myTest();
?>

PHP 运算符

本节展示了可用于 PHP 脚本中的各种运算符.

PHP 算数运算符

PHP 赋值运算符

PHP 赋值运算符用于向变量写值。

PHP 中基础的赋值运算符是 "="。这意味着右侧赋值表达式会为左侧运算数设置值。

 

 PHP 字符串运算符

PHP 递增/递减运算符

 

PHP 比较运算符

PHP 比较运算符用于比较两个值(数字或字符串):

 PHP 逻辑运算符

PHP 数组运算符

PHP 数组运算符用于比较数组:

本篇PHP复习就到这吧,期待博主下一篇文章

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/765986.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基数排序|RadixSort|C++实现

前言 那么这里博主先安利一些干货满满的专栏了&#xff01; 首先是博主的高质量博客的汇总&#xff0c;这个专栏里面的博客&#xff0c;都是博主最最用心写的一部分&#xff0c;干货满满&#xff0c;希望对大家有帮助。 高质量干货博客汇总https://blog.csdn.net/yu_cblog/c…

电商 api 接口文档

电商 api 接口文档 1、开篇 欢迎使用ShowDoc&#xff01; API格式&#xff1a; 备注&#xff1a;电商API必须返回如下3个字段&#xff1a; 参数名必选类型说明status是int状态message是string信息提示result否mix结果 2、用户相关 2.1、登录/退出 简要描述&#xff1a; …

【复盘】记录一次类型不一致导致的Kafka消费异常问题

背景 业务主要是通过A系统向B系统写入Kafka&#xff0c;然后B系统消费Kafka 将结果写到Kafka中&#xff0c;A进行消费最终结果。 在整个流程中&#xff0c;A写入Kafka会写入一张 record1表记录&#xff0c;然后在A消费最终结果的时候也记录一张record2表。主要改动的话 只是B系…

从Web2到Web3:区块链技术的未来前景

随着互联网的发展&#xff0c;Web1.0、Web2.0 和 Web3.0 成为了人们口中津津乐道的话题。那么&#xff0c;这三种网络时代究竟有什么区别呢&#xff1f; Web1.0 是一个只读的时代&#xff0c;那个时候&#xff0c;用户只能浏览网页&#xff0c;无法进行互动和创作。Web2.0 则是…

什么是社会智商?24种人格力量之社会智商的力量

什么是社会智商&#xff1f; 社会智商指的是将人的智力具体化&#xff0c;自己对他人的了解以及自我剖析能力的高低。一般而言&#xff0c;社会智商越高&#xff0c;对他人的观测能力越高&#xff0c;自我剖析就越透彻。社会智商来源于via 24种人格力量&#xff0c;是人格的优…

FPGA实现UART协议的接收与发送

一、接收模块uart_rx.v UART协议&#xff0c;空闲时&#xff0c;TX和RX数据线都是通过上拉电阻拉高的状态&#xff0c;这样才能在起始位到来时检测到一个下降的边沿。 UART数据格式 uart_rx.v模块输入输出示意图 RX_start。首先&#xff0c;找到起始位的开始时刻RX_start&…

在程序员从业生涯中,哪本书让你醍醐灌顶?

推荐《程序员的README》 [美] 克里斯里科米尼&#xff08;Chris Riccomini&#xff09; 著&#xff0c;付裕 译 每名新入行的工程师在开始工作之前要阅读的书&#xff01;10年大型公司初级工程师指导经验的行业大咖教你如何开启职业生涯、扩展工作技能、应对糟糕管理&#xff0…

信音电子在创业板IPO:募资约9亿元,预计上半年收入约4.3亿元

7月17日&#xff0c;信音电子&#xff08;中国&#xff09;股份有限公司&#xff08;下称“信音电子”&#xff0c;SZ:301329&#xff09;在深圳证券交易所创业板上市。本次上市&#xff0c;信音电子的发行价为21.00元/股&#xff0c;发行数量为为4300万股&#xff0c;募资总额…

Java 压缩多个文件为zip包(中间不生成临时文件,直接压缩为zip二进制流),以及解压zip包二进制流为文件

Java 压缩多个文件为zip包及解压zip包以及压缩多文件为zip文件流解压zip二进制流&#xff08;中间不生成临时文件&#xff0c;直接压缩为zip二进制流&#xff0c;并验证解压&#xff09; 1. 效果图2. 源码 这篇博客将提供俩种方法&#xff0c; 提前生成要压缩的多个文件&#…

vscode debug的方式

在.vscode文件夹下建立launch.json 例子1&#xff1a;调试python 来自 https://github.com/chunleili/tiPBD/tree/amg {"version": "0.2.0","configurations": [{"name": "hpbd 5 5","type": "python&quo…

港联证券|通胀和通缩的区别?通胀对股市有什么影响?

在市场经济上&#xff0c;通货紧缩和通货膨胀是两种比较常见的两种经济现象&#xff0c;那么&#xff0c;通胀和通缩的差异&#xff1f;通胀对股市有什么影响&#xff1f; 港联证证券为大家预备了相关内容&#xff0c;以供参考。 通胀和通缩存在以下差异&#xff1a; 1、定义…

初识操作系统

操作系统 文章目录 操作系统一、上次的问题二、什么是操作系统(Operator System&#xff09;设计操作系统的目的 三、操作系统上下层分别是什么四、先描述&#xff0c;后组织 一、上次的问题 为什么程序运行之前必须先加载到内存&#xff1f; 因为可执行程序&#xff08;文件…

数字化时代,如何做好用户体验与应用性能管理​

引言 随着数字化时代的到来&#xff0c;各个行业的应用系统从传统私有化部署逐渐转向公有云、行业云、微服务&#xff0c;这种变迁给运维部门和应用部门均带来了较大的挑战。基于当前企业 IT 运维均为多部门负责&#xff0c;且使用多种运维工具&#xff0c;因此&#xff0c;当…

【27】SCI易中期刊推荐——计算机科学机器人学(中科院2区)

💖💖>>>加勒比海带,QQ2479200884<<<💖💖 🍀🍀>>>【YOLO魔法搭配&论文投稿咨询】<<<🍀🍀 ✨✨>>>学习交流 | 温澜潮生 | 合作共赢 | 共同进步<<<✨✨ 📚📚>>>人工智能 | 计算机视觉…

arcgis建筑密度容积率覆盖率

大多数研究会把覆盖率当作建筑密度。 用覆盖率更恰当一些。 建筑覆盖率&#xff1a; 建筑物占据面积/街区面积 [Sum_area]/ ([area]*1000000) 排序检查数据&#xff0c;最大值0.75&#xff0c;最小值0. 建筑覆盖率&#xff0c;建筑密度的范围都应该在0-1之内&#xff0c;不是…

linux之Ubuntu系列(三)远程管理指令☞SSH 高级应用 RSA非对称加密 以及免密登录,配置别名

对称加密 、非对称加密 1、对称加密中加密和解密使用的秘钥是同一个&#xff1b;非对称加密中采用两个密钥&#xff0c;一般使用公钥进行加密&#xff0c;私钥进行解密。 2、对称加密解密的速度比较快&#xff0c;非对称加密和解密花费的时间长、速度相对较慢。 3、对称加密的…

【文末送书】AIGC时代的数据分析与可视化

欢迎关注博主 Mindtechnist 或加入【智能科技社区】一起学习和分享Linux、C、C、Python、Matlab&#xff0c;机器人运动控制、多机器人协作&#xff0c;智能优化算法&#xff0c;滤波估计、多传感器信息融合&#xff0c;机器学习&#xff0c;人工智能等相关领域的知识和技术。搜…

C语言实现:offsetof(OFFSETOF)宏的实现

C语言实现&#xff1a;offsetof宏的实现 offsetof:求结构体成员的偏移量 offsetof:求结构体成员的偏移量 直接上代码&#xff1a; #define OFFSETOF(type,member) ((size_t)(&(((type*)0)->member))) 图解&#xff1a; 图中测试原码&#xff1a; #include<stdi…

Centos Stream9安装vim代码提示coc的详细过程

Centos Stream9安装vim代码提示coc的安装步骤&#xff1a; 1、安装字体 https://github.com/ryanoasis/nerd-fonts/releaseshttps://github.com/ryanoasis/nerd-fonts/releases wget https://github.com/ryanoasis/nerd-fonts/releases/download/v3.0.2/Hack.tar.xz 下载后&a…

短视频seo抖音矩阵源码开发搭建技术解析

一、 短视频seo抖音矩阵源码开发需要考虑以下几个方面&#xff1a; 技术选型&#xff1a;选择合适的开发语言、框架和数据库&#xff0c;常用的开发语言有Java、PHP等&#xff0c;常用的框架有Spring、Django等&#xff0c;常用的数据库有MySQL、MongoDB等。 服务器的选择&…