【笔记】PHP学习笔记

前言

PHP(全称:PHP:Hypertext Preprocessor,即“PHP:超文本预处理器”)是一种开源的通用计算机脚本语言,尤其适用于网络开发并可嵌入HTML中使用。PHP的语法借鉴吸收C语言、Java和Perl等流行计算机语言的特点,易于一般程序员学习。PHP的主要目标是允许网络开发人员快速编写动态页面,但PHP也被用于其他很多领域。(维基百科

解释器

运行源码

1
php <file>.php

php的外壳

  • php外壳不可以嵌套
  • 如果不换行,必须要在php关键字后加一个空格
1
<?php ?>

设置字符编码集

1
2
<meta charset="utf-8">
<?php ?>

文件包含

  • 引入其他php文件的代码,并立即执行
1
include('index.php');
1
require('index.php');

注释

1
// 单行注释
1
/* 多行注释 */

执行操作系统命令

  • echo语句中,被反引号包裹的字符串,会当作系统shell命令执行,并输出执行结果

<command>:在当前操作系统下的命令

1
echo `<shell>`;

输出语句

  • 输出数据到HTML
1
echo 数据;

输出原始字符串

  • echo语句中,被单引号包裹的字符串,无论是否出现php变量,都不会输出变量值,而是作为字符串输出
1
echo '文本内容1'; // "文本内容1"

格式化输出

  • echo语句中,被双引号包裹的字符串,如果出现php变量,会将变量值插入到字符串中

<php>:php代码

1
2
3
$num = 1;

echo "文本内容$num"; // "文本内容1"

输入语句

1
$变量名 = fgets(STDIN);

变量

  • PHP在定义变量时不需要指定变量类型,PHP的变量可以存放任意类型的数据

  • 命名规则

    • $开头
    • 严格区分大小写
    • 只能包含字母数字下划线
    • 不能以数字开头
    • 尽量不要使用PHP的关键字作为变量名

变量的定义

1
$变量名 = 值;

变量赋值

1
$变量名 = 值;

引用赋值

  • 通过&引用变量的内存地址
  • 引用赋值会指向与原变量相同的内存地址,而不是开辟一个新的内存地址
1
2
3
$num = 1;

$变量名 = &$num;

变量释放

1
unset($变量名);

可变变量

  • 将一个变量的值作为另一个变量的变量名
1
2
3
$a = "b";
$b = "c";
echo $$a; // "c"

常量

定义常量

1
define("常量名", "常量值");

使用常量

1
$变量名 = 常量名;

数据类型

类型 描述
int 整型
float 浮点型
bool 字符串
1
2
3
4
5
$a = 0

$b = 3.14

$c = false;

布尔型

  • truefalse

在使用echo输出时,true输出为1false输出为空白
在使用var_dump()输出时,true输出为truefalse输出为false

被认定为false的其他值

  • PHP中可以使用其他数据类型的值表示bool类型的值,部分值被认定为false,其他值被认定为true
数据类型 被认定为false的值
布尔型 false
整数型 0
浮点型 0.0
字符串 空字符串、字符串”0”
数组 空数组
空数据 NULL

字符串string

1
$变量名 = '文本内容';

原始字符串

  • 通过定界符<<<HTMLHTML定义原始字符串
1
2
3
$变量名 = <<<HTML
This is a string
HTML;

模板字符串

1
2
3
$num = 1;

$变量名 = "文本内容{$num}";
  • 省略大括号
1
2
3
$num = 1;

$变量名 = "文本内容$num";
  • 输出$符号,需要使用转义字符\$
1
$变量名 = "\$";

预定义常量

常量名 常量值
__FILE__ 当前的文件名
__LINE__ 当前代码的行数
__FUNCTION__ 当前的函数名
__CLASS__ 当前的类名
__METHOD__ 当前对象的方法名
PHP_OS 当前操作系统名
PHP_VERSION 当前PHP版本
DIRECTORY_SEPARATOR 当前系统所使用的路径分隔符(\/

运算符

算术运算符

  • +(正号)、-(负号)
  • +(加号)、-(减号)、*/%
  • ++(自增)、--(自减)

关系运算符

  • ><>=<===!=<>===

逻辑运算符

  • &&||!

逻辑运算符

  • &&||!

赋值运算符

  • =+=-=*=/=%=

按位运算符

  • andorxor

字符串运算符

  • .(串接字符串)
1
$变量名 = "文本内容1" . "文本内容2";
  • .=
1
$变量名 .= "文本内容";

数组运算

  • +(并集)、==(不包含顺序和类型)、!=<>===(包含顺序和类型)、!==(包含顺序和类型)

报错

  • PHP的报错会直接输出在页面上

报错类型

  • Error:出错,结束脚本执行
  • Warning:警告,只提示,不影响执行
  • Notice:注意

屏蔽报错

1
@可能会报错的语句

map转换为JSON格式字符串

1
json_encode(<map>);

完成

参考文献

哔哩哔哩——Python小清风
W3School
菜鸟笔记
哔哩哔哩——千锋教育网络安全学院
PHP手册(中文)
哔哩哔哩——逆风微笑的代码狗