搜索
首页后端开发php教程php基础知识笔记分享

php基础知识笔记分享

May 30, 2018 pm 02:28 PM
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;">76c82f278ac045591c9159d381de2c57100db36a723c770d327fc0aef2ce13b16c04bd5ca3fcae76e30b72ad730ca86d095a8525499549fa892a87d025984cb436cc49f0c466276486e50c850b7e495673a6ac4ed44ffec12cee46588e518a5e<br></span>

2.大小写敏感

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

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

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[&#39;y&#39;]=$GLOBALS[&#39;x&#39;]+$GLOBALS[&#39;y&#39;];<br/>} <br/><br/>myTest();echo $y; // 输出 15?><br/></span>

4.输出语句echo与print

语法
<span style="font-size: 14px;"><?php  <br/>$a=&#39;hello &#39;;$b=&#39;php world!&#39;;echo $a,$b,&#39;<br />&#39;;//echo 可以用逗号分隔字符串变量来显示  <br/>print $a.$b.&#39;<br />&#39;;//而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!”
比较


a8093152e673feb7aba1828c43532094 不等于 $x a8093152e673feb7aba1828c43532094 $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。
a8093152e673feb7aba1828c43532094 不相等 $x a8093152e673feb7aba1828c43532094 $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 &#39;filename&#39;<br/></span>

<span style="font-size: 14px;">require &#39;filename&#39;<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[&#39;z&#39;] = $GLOBALS[&#39;x&#39;] + $GLOBALS[&#39;y&#39;]; <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 表单提交的数据。

<span style="font-size: 14px;"><html><body><form method="post" action="<?php echo $_SERVER[&#39;PHP_SELF&#39;];?>"><br/>Name: <input type="text" name="fname"><input type="submit"></form><?php $name = $_REQUEST[&#39;fname&#39;]; <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;">44ea3bf4a60d9637fbf709781f77d316//返回 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中文网其他相关文章!

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
可以在PHP会话中存储哪些数据?可以在PHP会话中存储哪些数据?May 02, 2025 am 12:17 AM

phpsessionscanStorestrings,数字,数组和原始物。

您如何开始PHP会话?您如何开始PHP会话?May 02, 2025 am 12:16 AM

tostartaphpsession,usesesses_start()attheScript'Sbeginning.1)placeitbeforeanyOutputtosetThesessionCookie.2)useSessionsforuserDatalikeloginstatusorshoppingcarts.3)regenerateSessiveIdStopreventFentfixationAttacks.s.4)考虑使用AttActAcks.s.s.4)

什么是会话再生,如何提高安全性?什么是会话再生,如何提高安全性?May 02, 2025 am 12:15 AM

会话再生是指在用户进行敏感操作时生成新会话ID并使旧ID失效,以防会话固定攻击。实现步骤包括:1.检测敏感操作,2.生成新会话ID,3.销毁旧会话ID,4.更新用户端会话信息。

使用PHP会话时有哪些性能考虑?使用PHP会话时有哪些性能考虑?May 02, 2025 am 12:11 AM

PHP会话对应用性能有显着影响。优化方法包括:1.使用数据库存储会话数据,提升响应速度;2.减少会话数据使用,只存储必要信息;3.采用非阻塞会话处理器,提高并发能力;4.调整会话过期时间,平衡用户体验和服务器负担;5.使用持久会话,减少数据读写次数。

PHP会话与Cookie有何不同?PHP会话与Cookie有何不同?May 02, 2025 am 12:03 AM

PHPsessionsareserver-side,whilecookiesareclient-side.1)Sessionsstoredataontheserver,aremoresecure,andhandlelargerdata.2)Cookiesstoredataontheclient,arelesssecure,andlimitedinsize.Usesessionsforsensitivedataandcookiesfornon-sensitive,client-sidedata.

PHP如何识别用户的会话?PHP如何识别用户的会话?May 01, 2025 am 12:23 AM

phpientifiesauser'ssessionusessessionSessionCookiesAndSessionIds.1)whiwSession_start()被称为,phpgeneratesainiquesesesessionIdStoredInacookInAcookInamedInAcienamedphpsessidontheuser'sbrowser'sbrowser.2)thisIdAllowSphptptpptpptpptpptortoreTessessionDataAfromtheserverMtheserver。

确保PHP会议的一些最佳实践是什么?确保PHP会议的一些最佳实践是什么?May 01, 2025 am 12:22 AM

PHP会话的安全可以通过以下措施实现:1.使用session_regenerate_id()在用户登录或重要操作时重新生成会话ID。2.通过HTTPS协议加密传输会话ID。3.使用session_save_path()指定安全目录存储会话数据,并正确设置权限。

PHP会话文件默认存储在哪里?PHP会话文件默认存储在哪里?May 01, 2025 am 12:15 AM

phpsessionFilesArestoredIntheDirectorySpecifiedBysession.save_path,通常是/tmponunix-likesystemsorc:\ windows \ windows \ temponwindows.tocustomizethis:tocustomizEthis:1)useession_save_save_save_path_path()

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

SecLists

SecLists

SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

MinGW - 适用于 Windows 的极简 GNU

MinGW - 适用于 Windows 的极简 GNU

这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。