PHP
PHP
语法
变量
规则:
变量以 $ 符号开始
变量名必须以字母或者下划线字符开始
变量名不能包含空格
变量名是区分大小写的
PHP NULL 值
NULL 值表示变量没有值。NULL 是数据类型为 NULL 的值。
NULL 值指明一个变量是否为空值。 同样可用于数据空值和NULL值的区别。
可以通过设置变量值为 NULL 来清空变量数据
PHP 资源类型
PHP 资源 resource 是一种特殊变量,保存了到外部资源的一个引用。
常见资源数据类型有打开文件、数据库连接、图形画布区域等。
由于资源类型变量保存有为打开文件、数据库连接、图形画布区域等的特殊句柄,因此将其它类型的值转换为资源没有意义。
PHP 类型比较
虽然 PHP 是弱类型语言,但也需要明白变量类型及它们的意义,因为我们经常需要对 PHP 变量进行比较,包含松散和严格比较。
松散比较:使用两个等号 == 比较,只比较值,不比较类型。
严格比较:用三个等号 === 比较,除了比较值,也比较类型。
PHP常量
设置 PHP 常量
设置常量,使用 define() 函数。
bool define ( string $name , mixed $value [, bool $case_insensitive = false ] )
该函数有三个参数:
name:必选参数,常量名称,即标志符。
value:必选参数,常量的值。
case_insensitive :可选参数,如果设置为 TRUE,该常量则大小写不敏感,默认是大小写敏感的
预定义常量
PHP 提供了一些预定义常量,可以在脚本中直接使用。这些常量通常用于获取 PHP 的配置信息、版本信息等。常见的预定义常量有:
PHP_VERSION:当前 PHP 解析器的版本。
PHP_OS:服务器的操作系统。
PHP_INT_MAX:最大的整数值。
E_ERROR、E_WARNING、E_PARSE 等:错误报告级别。
PHP字符串变量
PHP 中的字符串变量
字符串变量用于包含有字符的值。
在创建字符串之后,我们就可以对它进行操作了。可以直接在函数中使用字符串,或者把它存储在变量中。
PHP 并置运算符
在 PHP 中,只有一个字符串运算符。
并置运算符 (.) 用于把两个字符串值连接起来。
PHP strlen() 函数
有时知道字符串值的长度是很有用的。
strlen() 函数返回字符串的长度(字节数)。
PHP strpos() 函数
strpos() 函数用于在字符串内查找一个字符或一段指定的文本。
如果在字符串中找到匹配,该函数会返回第一个匹配的字符位置。如果未找到匹配,则返回 FALSE。
三元运算符
(expr1) ? (expr2) : (expr3)
对 expr1 求值为 TRUE 时的值为 expr2,在 expr1 求值为 FALSE 时的值为 expr3。
组合比较符(PHP7+)
PHP7+ 支持组合比较符(combined comparison operator)也称之为太空船操作符,符号为 <=>。组合比较运算符可以轻松实现两个变量的比较,当然不仅限于数值类数据的比较。
$c = $a <=> $b;
解析如下:
如果 $a > $b, 则 $c 的值为 1。
如果 $a == $b, 则 $c 的值为 0。
如果 $a < $b, 则 $c 的值为 -1。
括号的使用
我们通过括号的配对来明确标明运算顺序,而非靠运算符优先级和结合性来决定,通常能够增加代码的可读性。
PHP条件语句
if 语句 - 在条件成立时执行代码
if…else 语句 - 在条件成立时执行一块代码,条件不成立时执行另一块代码
if…elseif….else 语句 - 在若干条件之一成立时执行一个代码块
switch 语句 - 在若干条件之一成立时执行一个代码块
PHP Switch 语句
expression 是要被比较的表达式。
case value: 是可能的值,如果 expression 的值等于某个 case 的值,就执行相应的代码块。
break; 用于终止 switch 语句,防止继续执行下一个 case。
default: 是可选的,用于指定当没有匹配的 case 时执行的代码块。
PHP数组
在 PHP 中创建数组
array() 函数
在 PHP 中,有三种类型的数组:
数值数组 - 带有数字 ID 键的数组
关联数组 - 带有指定的键的数组,每个键关联一个值
多维数组 - 包含一个或多个数组的数组
PHP 数值数组
有两种创建数值数组的方法:
自动分配 ID 键(ID 键总是从 0 开始):
$cars=array(“Volvo”,”BMW”,”Toyota”);
人工分配 ID 键:
$cars[0]=”Volvo”;
$cars[1]=”BMW”;
$cars[2]=”Toyota”;
获取数组的长度 - count() 函数
count() 函数用于返回数组的长度(元素的数量)
遍历数值数组
遍历并打印数值数组中的所有值,可以使用 for 循环
PHP 关联数组
关联数组是使用您分配给数组的指定的键的数组。
有两种创建关联数组的方法:
$age=array(“Peter”=>”35”,”Ben”=>”37”,”Joe”=>”43”);
or:
$age[‘Peter’]=”35”;
$age[‘Ben’]=”37”;
$age[‘Joe’]=”43”;
随后可以在脚本中使用指定的键
遍历关联数组
遍历并打印关联数组中的所有值,可以使用 foreach 循环
PHP 数组排序
数组中的元素可以按字母或数字顺序进行降序或升序排列。
PHP - 数组排序函数
sort() - 对数组进行升序排列
rsort() - 对数组进行降序排列
asort() - 根据数组的值,对数组进行升序排列
ksort() - 根据数组的键,对数组进行升序排列
arsort() - 根据数组的值,对数组进行降序排列
krsort() - 根据数组的键,对数组进行降序排列
PHP 超级全局变量
PHP中预定义了几个超级全局变量(superglobals) ,这意味着它们在一个脚本的全部作用域中都可用。 你不需要特别说明,就可以在函数及类中使用。
PHP $GLOBALS
$GLOBALS 是一个包含了全部变量的全局组合数组。变量的名字就是数组的键。
PHP $_SERVER
$_SERVER 是一个包含了诸如头信息(header)、路径(path)、以及脚本位置(script locations)等等信息的数组。这个数组中的项目由 Web 服务器创建。
PHP $_REQUEST
PHP $_REQUEST 用于收集HTML表单提交的数据。
PHP $_POST
PHP $_POST 被广泛应用于收集表单数据,在HTML form标签的指定该属性:”method=”post”。
PHP $_GET
PHP $_GET 同样被广泛应用于收集表单数据,在HTML form标签的指定该属性:”method=”get”。
$GET 也可以收集URL中发送的数据。
PHP 表单和用户输入
PHP 中的 $_GET 和 $_POST 变量用于检索表单中的信息,比如用户输入。
php判断字符串中是否包含指定字符串
strpos
$a = ‘How are you?’;
if (strpos($a, ‘are’) !== false) {
echo ‘true’;
} else {
echo ‘false’;
}
注意这里一定要使用 !== false 来做判断条件语句, strpos() 如果没有找到字符串则返回 FALSE
PHP文件处理
打开文件
fopen() 函数用于在 PHP 中打开文件。
此函数的第一个参数含有要打开的文件的名称,第二个参数规定了使用哪种模式来打开文件:$file=fopen(“welcome.txt”,”r”);
关闭文件
fclose() 函数用于关闭打开的文件:
fclose($file);
检测文件末尾(EOF)
feof() 函数检测是否已到达文件末尾(EOF)。
在循环遍历未知长度的数据时,feof() 函数很有用。
注释:在 w 、a 和 x 模式下,您无法读取打开的文件!
if (feof($file)) echo “文件结尾”;
逐行读取文件
fgets() 函数用于从文件中逐行读取文件。
注释:在调用该函数之后,文件指针会移动到下一行。
while(!feof($file))
{
echo fgets($file). “
“;
}
逐字符读取文件
fgetc() 函数用于从文件中逐字符地读取文件。
注释:在调用该函数之后,文件指针会移动到下一个字符。
while (!feof($file))
{
echo fgetc($file);
}PHP 文件上传
创建一个文件上传表单
<form action="upload_file.php" method="post" enctype="multipart/form-data">
<label for="file">文件名:</label> <input type="file" name="file" id="file"><br>
<input type="submit" name="submit" value="提交">
</form>
<form> 标签的 enctype 属性规定了在提交表单时要使用哪种内容类型。在表单需要二进制数据时,比如文件内容,请使用 "multipart/form-data"。
<input> 标签的 type="file" 属性规定了应该把输入作为文件来处理。举例来说,当在浏览器中预览时,会看到输入框旁边有一个浏览按钮。
PHP Cookie
cookie 常用于识别用户。
如何创建 Cookie?
setcookie() 函数用于设置 cookie。
注释:setcookie() 函数必须位于 标签之前。
语法
setcookie(name, value, expire, path, domain);
如何取回 Cookie 的值?
PHP 的 $_COOKIE 变量用于取回 cookie 的值。
echo $_COOKIE[“user”];
使用 isset() 函数来确认是否已设置了 cookie
如何删除 Cookie?
当删除 cookie 时,您应当使过期日期变更为过去的时间点。
setcookie(“user”, “”, time()-3600);
PHP Session
PHP session 变量用于存储关于用户会话(session)的信息,或者更改用户会话(session)的设置。Session 变量存储单一用户的信息,并且对于应用程序中的所有页面都是可用的。
开启Session
使用Session
存储Session数据
$SESSION 超全局数组
$_SESSION[‘user_id’] = 123;
1 | `echo $_SESSION['user_id'];` |
读取 Session 数据
删除Session数据
unset() 函数用于释放指定的 session 变量:
unset($_SESSION[‘user_id’]);
销毁 Session
session_destroy() 函数彻底销毁 session
PHP 连接 MySQL
先连接到数据库服务器
MySQLi - 面向对象
// 创建连接
$conn = new mysqli($servername, $username, $password);
// 检测连接 if ($conn->connect_error) {
die(“连接失败: “ . $conn->connect_error);
}
echo “连接成功”;
MySQLi - 面向过程
// 创建连接
$conn = mysqli_connect($servername, $username, $password);
// 检测连接
if (!$conn) {
die(“Connection failed: “ . mysqli_connect_error());
}
echo “连接成功”;
PHP MySQL 创建数据库
CREATE DATABASE 语句
// 创建数据库
$sql = “CREATE DATABASE myDB”;
if ($conn->query($sql) === TRUE) {
echo “数据库创建成功”;
} else {
echo “Error creating database: “ . $conn->error;
}`