0

0

php基础知识笔记分享

小云云

小云云

发布时间:2018-05-30 14:28:28

|

2922人浏览过

|

来源于php中文网

原创

一、定义

PHP 脚本在服务器上执行,然后向浏览器发送回纯 HTML 结果。本文主要和大家分享php基础知识笔记,希望能帮助到大家。

二、基本语法

<span style="font-size: 14px;"><?phpecho "Hello World!";?><br/></span>
注意事项
  1. PHP 语句以分号结尾(;)

  2. PHP 代码块的最后一行不必使用分号

1.注释

PHP有三种注释方式
<span style="font-size: 14px;"><!DOCTYPE html><html><body><?php// 这是单行注释# 这也是单行注释/*<br/>这是多行注释块<br/>它横跨了<br/>多行<br/>*/?></body></html><br/></span>

2.大小写敏感

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

  • 所有变量都对大小写敏感

    立即学习PHP免费学习笔记(深入)”;

3.变量

1.PHP 没有创建变量的命令
2. 变量命名规则

  • 变量以 $ 符号开头,其后是变量的名称

  • 变量名称必须以字母或下划线开头

  • 变量名称不能以数字开头

  • 变量名称对大小写敏感($y 与 $Y 是两个不同的变量)

3.PHP 有三种不同的变量作用域:local(局部)global(全局)static(静态)

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

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

在函数内部访问外部变量的方法
<span style="font-size: 14px;">//使用 global 关键词<br/><?php<br/>$x=5;<br/>$y=10;<br/>function myTest() {<br/>  global $x,$y;  <br/>  $y=$x+$y;<br/>}<br/><br/>myTest();<br/>echo $y; // 输出 15?>//PHP 同时在名为 $GLOBALS[index] 的数组中存储了所有的全局变量。<br/><?php<br/>$x=5;<br/>$y=10;<br/>function myTest() {<br/>  $GLOBALS['y']=$GLOBALS['x']+$GLOBALS['y'];<br/>} <br/><br/>myTest();echo $y; // 输出 15?><br/></span>

4.输出语句echo与print

语法
<span style="font-size: 14px;"><?php  <br/>$a='hello ';$b='php world!';echo $a,$b,'<br />';//echo 可以用逗号分隔字符串变量来显示  <br/>print $a.$b.'<br />';//而print不能使用逗号,只能用点号分隔,    <br/>?><br/></span>
区别
  1. echo    命令和print命令相同,没有区别

  2. echo    函数和print函数有区别

  3. echo()    无返回值,与echo命令相同

  4. print()    有返回值,成功,返1,false,返0

5.运算符(仅记异于JS)

符号 名称 例子 解释
串接


. 串接 $txt1 = "Hello" $txt2 = $txt1 . " world!" 现在 $txt2 包含 “Hello world!”
.= 串接赋值 $txt1 = "Hello" $txt1 .= " world!" 现在 $txt1 包含 “Hello world!”
比较


不等于 $x $y" 如果 $x 不等于 $y,则返回 true。
逻辑


and $x and $y 如果 $x 和 $y 都为 true,则返回 true。
or $x or $y 如果 $x 和 $y 至少有一个为 true,则返回 true。
xor 异或 $x xor $y 如果 $x 和 $y 有且仅有一个为 true,则返回 true。
&& $x && $y 如果 $x 和 $y 都为 true,则返回 true。
|| $x || $y 如果 $x 和 $y 至少有一个为 true,则返回 true。
! !$x 如果 $x 不为 true,则返回 true。
数组运算符


+ 联合 $x + $y $x 和 $y 的联合(但不覆盖重复的键,相同键保留第一个)
== 相等 $x == $y 如果 $x 和 $y 拥有相同的键/值对,则返回 true。
=== 全等 $x === $y 如果 $x 和 $y 拥有相同的键/值对,且顺序相同类型相同,则返回 true。
!= 不相等 $x != $y 如果 $x 不等于 $y,则返回 true。
不相等 $x $y 如果 $x 不等于 $y,则返回 true。
!== 不全等 $x !== $y 如果 $x 与 $y 完全不同,则返回 true。

6.判断与循环

判断:
  • if…else…语句

  • switch语句

循环:
  • for循环

  • foreach循环

foreach循环示例
<span style="font-size: 14px;"><?php <br/>$colors = array("red","green","blue","yellow"); <br/>foreach ($colors as $value) {  <br/>echo "$value <br>";<br/>}<br/>?>//输出 red 、 green 、 blue 、 yellow<br/></span>

7.引用

PHP引用有两种方式:include 与 require

include 和 require 语句是相同的,除了错误处理方面:
  • require 会生成致命错误(E_COMPILE_ERROR)并停止脚本

  • include 只生成警告(E_WARNING),并且脚本会继续

语法:

<span style="font-size: 14px;">include 'filename'<br/></span>

<span style="font-size: 14px;">require 'filename'<br/></span>

8.超全局变量

  • $GLOBALS

  • $_SERVER

  • $_REQUEST

  • $_POST

  • $_GET

  • $_FILES

  • $_ENV

  • $_COOKIE

  • $_SESSION

$GLOBALS — 引用全局作用域中可用的全部变量
<span style="font-size: 14px;"><?php $x = 75; <br/>$y = 25;function addition() { <br/>  $GLOBALS['z'] = $GLOBALS['x'] + $GLOBALS['y']; <br/>}<br/><br/>addition(); <br/>echo $z; <br/>?><br/></span>
PHP $_SERVER

$_SERVER 这种超全局变量保存关于报头、路径和脚本位置的信息。

元素 描述
$_SERVER[‘PHP_SELF’] 返回当前执行脚本的文件名。
$_SERVER[‘GATEWAY_INTERFACE’] 返回服务器使用的 CGI 规范的版本。
$_SERVER[‘SERVER_ADDR’] 返回当前运行脚本所在的服务器的 IP 地址。
$_SERVER[‘SERVER_NAME’] 返回当前运行脚本所在的服务器的主机名(比如 www.w3school.com.cn)。
$_SERVER[‘SERVER_SOFTWARE’] 返回服务器标识字符串(比如 Apache/2.2.24)。
$_SERVER[‘SERVER_PROTOCOL’] 返回请求页面时通信协议的名称和版本(例如,“HTTP/1.0”)。
$_SERVER[‘REQUEST_METHOD’] 返回访问页面使用的请求方法(例如 POST)。
$_SERVER[‘REQUEST_TIME’] 返回请求开始时的时间戳(例如 1577687494)。
$_SERVER[‘QUERY_STRING’] 返回查询字符串,如果是通过查询字符串访问此页面。
$_SERVER[‘HTTP_ACCEPT’] 返回来自当前请求的请求头。
$_SERVER[‘HTTP_ACCEPT_CHARSET’] 返回来自当前请求的 Accept_Charset 头( 例如 utf-8,ISO-8859-1)
$_SERVER[‘HTTP_HOST’] 返回来自当前请求的 Host 头。
$_SERVER[‘HTTP_REFERER’] 返回当前页面的完整 URL(不可靠,因为不是所有用户代理都支持)。
$_SERVER[‘HTTPS’] 是否通过安全 HTTP 协议查询脚本。
$_SERVER[‘REMOTE_ADDR’] 返回浏览当前页面的用户的 IP 地址。
$_SERVER[‘REMOTE_HOST’] 返回浏览当前页面的用户的主机名。
$_SERVER[‘REMOTE_PORT’] 返回用户机器上连接到 Web 服务器所使用的端口号。
$_SERVER[‘SCRIPT_FILENAME’] 返回当前执行脚本的绝对路径。
$_SERVER[‘SERVER_ADMIN’] 该值指明了 Apache 服务器配置文件中的 SERVER_ADMIN 参数。
$_SERVER[‘SERVER_PORT’] Web 服务器使用的端口。默认值为 “80”。
$_SERVER[‘SERVER_SIGNATURE’] 返回服务器版本和虚拟主机名。
$_SERVER[‘PATH_TRANSLATED’] 当前脚本所在文件系统(非文档根目录)的基本路径。
$_SERVER[‘SCRIPT_NAME’] 返回当前脚本的路径。
$_SERVER[‘SCRIPT_URI’] 返回当前页面的 URI。
PHP $_REQUEST

PHP $_REQUEST 用于收集 HTML 表单提交的数据。

《PHP网站开发案例教程》
《PHP网站开发案例教程》

《PHP网站开发案例教程》分为基础知识篇和技能提高篇,共11章

下载
<span style="font-size: 14px;"><html><body><form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>"><br/>Name: <input type="text" name="fname"><input type="submit"></form><?php $name = $_REQUEST['fname']; <br/>echo $name; <br/>?></body></html><br/></span>

三、数据类型

1.字符串函数

PHP strlen() 函数

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

<span style="font-size: 14px;"><?phpecho strlen("Hello world!");?>//结果输出12(多个连续的空格不会被看作同一个)<br/></span>
PHP strpos() 函数

strpos() 函数用于检索字符串内指定的字符或文本。
如果找到匹配,则会返回首个匹配的字符位置。如果未找到匹配,则将返回 FALSE。

<span style="font-size: 14px;"><?phpecho strpos("Hello world!","world");?>//返回 6<br/></span>

2.常量及设置常量

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

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

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

    设置常量函数 define()
  • 首个参数定义常量的名称

  • 第二个参数定义常量的值

  • 可选的第三个参数规定常量名是否对大小写不敏感。默认是 false。

<span style="font-size: 14px;"><?phpdefine("PAI", "3.14", true);echo pai;?>//创建一个对大小写不敏感的常量<br/></span>

3.数组

PHP有三种数组形式:
  • 索引数组 - 带有数字索引的数组

  • 关联数组 - 带有指定键的数组

  • 多维数组 - 包含一个或多个数组的数组

数组相关函数
  • array()  用于创建数组

  • count() 用于得出数组长度

  • sort() - 以升序对数组排序

  • rsort() - 以降序对数组排序

  • asort() - 根据值,以升序对关联数组进行排序

  • ksort() - 根据键,以升序对关联数组进行排序

  • arsort() - 根据值,以降序对关联数组进行排序

  • krsort() - 根据键,以降序对关联数组进行排序

关联数组的创建与循环
<span style="font-size: 14px;"><?php //关联数组使用foreach循环<br/>$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");<br/>foreach($age as $x=>$x_value) {  <br/>echo "Key=" . $x . ", Value=" . $x_value;  <br/>echo "<br>";<br/>}?><br/></span>
多维数组的创建
<span style="font-size: 14px;">$cars = array<br/>  (  array("Volvo",22,18),  array("BMW",15,13),  array("Saab",5,2),  array("Land Rover",17,15)<br/>  );<br/></span>

四、功能函数

1.日期函数

PHP Date() 函数

语法:date(format,timestamp)

  1. PHP Date() 函数把时间戳格式化为更易读的日期和时间。

  2. format格式:

  • d - 表示月里的某天(01-31)

  • m - 表示月(01-12)

  • Y - 表示年(四位数)

  • h - 带有首位零的 12 小时小时格式

  • i - 带有首位零的分钟

  • s - 带有首位零的秒(00 -59)

  • a - 小写的午前和午后(am 或 pm)

  • 1 - 表示周里的某天

  • 其他字符,比如 “/”, “.” 或 “-” 也可被插入字符中,以增加其他格式

<span style="font-size: 14px;"><?php//不传第二个参数,默认是目前的时间。echo "今天是 " . date("Y/m/d") ;?><br/></span>
PHP mktime()

mktime() 函数返回日期的 Unix 时间戳。Unix 时间戳包含 Unix 纪元(1970 年 1 月 1 日 00:00:00 GMT)与指定时间之间的秒数。
语法:mktime(hour,minute,second,month,day,year)。

相关推荐:

php基础知识总结(新手必备)

php基础知识掌握——四种界定符

php基础知识总结,学完这些直接晋级高级php程序员

相关文章

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

php

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
Golang 测试体系与代码质量保障:工程级可靠性建设
Golang 测试体系与代码质量保障:工程级可靠性建设

Go语言测试体系与代码质量保障聚焦于构建工程级可靠性系统。本专题深入解析Go的测试工具链(如go test)、单元测试、集成测试及端到端测试实践,结合代码覆盖率分析、静态代码扫描(如go vet)和动态分析工具,建立全链路质量监控机制。通过自动化测试框架、持续集成(CI)流水线配置及代码审查规范,实现测试用例管理、缺陷追踪与质量门禁控制,确保代码健壮性与可维护性,为高可靠性工程系统提供质量保障。

6

2026.02.28

Golang 工程化架构设计:可维护与可演进系统构建
Golang 工程化架构设计:可维护与可演进系统构建

Go语言工程化架构设计专注于构建高可维护性、可演进的企业级系统。本专题深入探讨Go项目的目录结构设计、模块划分、依赖管理等核心架构原则,涵盖微服务架构、领域驱动设计(DDD)在Go中的实践应用。通过实战案例解析接口抽象、错误处理、配置管理、日志监控等关键工程化技术,帮助开发者掌握构建稳定、可扩展Go应用的最佳实践方法。

6

2026.02.28

Golang 性能分析与运行时机制:构建高性能程序
Golang 性能分析与运行时机制:构建高性能程序

Go语言以其高效的并发模型和优异的性能表现广泛应用于高并发、高性能场景。其运行时机制包括 Goroutine 调度、内存管理、垃圾回收等方面,深入理解这些机制有助于编写更高效稳定的程序。本专题将系统讲解 Golang 的性能分析工具使用、常见性能瓶颈定位及优化策略,并结合实际案例剖析 Go 程序的运行时行为,帮助开发者掌握构建高性能应用的关键技能。

8

2026.02.28

Golang 并发编程模型与工程实践:从语言特性到系统性能
Golang 并发编程模型与工程实践:从语言特性到系统性能

本专题系统讲解 Golang 并发编程模型,从语言级特性出发,深入理解 goroutine、channel 与调度机制。结合工程实践,分析并发设计模式、性能瓶颈与资源控制策略,帮助将并发能力有效转化为稳定、可扩展的系统性能优势。

14

2026.02.27

Golang 高级特性与最佳实践:提升代码艺术
Golang 高级特性与最佳实践:提升代码艺术

本专题深入剖析 Golang 的高级特性与工程级最佳实践,涵盖并发模型、内存管理、接口设计与错误处理策略。通过真实场景与代码对比,引导从“可运行”走向“高质量”,帮助构建高性能、可扩展、易维护的优雅 Go 代码体系。

17

2026.02.27

Golang 测试与调试专题:确保代码可靠性
Golang 测试与调试专题:确保代码可靠性

本专题聚焦 Golang 的测试与调试体系,系统讲解单元测试、表驱动测试、基准测试与覆盖率分析方法,并深入剖析调试工具与常见问题定位思路。通过实践示例,引导建立可验证、可回归的工程习惯,从而持续提升代码可靠性与可维护性。

2

2026.02.27

漫蛙app官网链接入口
漫蛙app官网链接入口

漫蛙App官网提供多条稳定入口,包括 https://manwa.me、https

130

2026.02.27

deepseek在线提问
deepseek在线提问

本合集汇总了DeepSeek在线提问技巧与免登录使用入口,助你快速上手AI对话、写作、分析等功能。阅读专题下面的文章了解更多详细内容。

8

2026.02.27

AO3官网直接进入
AO3官网直接进入

AO3官网最新入口合集,汇总2026年可用官方及镜像链接,助你快速稳定访问Archive of Our Own平台。阅读专题下面的文章了解更多详细内容。

208

2026.02.27

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Rust 教程
Rust 教程

共28课时 | 6.4万人学习

TypeScript 教程
TypeScript 教程

共19课时 | 3.2万人学习

JavaScript
JavaScript

共185课时 | 29.9万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号