1. PHP文件名后缀
PHP脚本的文件扩展名是:.php
PHP文件通常包含HTML标签以及一些PHP脚本代码,注意:HTML JS CSS都可以写在PHP文件中,但是PHP不能写在HTML JS CSS文件里。
PHP语句通常一分号结尾:
<?php
echo “Hello World”;
?>
2. 输出方法echo和print
不同点:
- echo能够输出一个以上的字符串,英文逗号隔开
- print只能输出一个字符串,并且
始终返回1
- echo比print稍快,开销略低
<?php
echo “<h2>xxxxx</h2>”;
echo “Hello World”;
echo “学习PHP的第一天”, “今天天气不错”, “1”, 520;
?>
相同点:都是一个语言结构,有无括号均可使用:echo
或echo()
、print
或print()
3. PHP注释
<?php
// 单行注释
# 单行注释
/**
* 多行注释
*/
?>
4. PHP变量
语法:$变量名
规则:
- 变量以
$
符号开头,其后面是变量名称 - 变量名必须以字母或下划线开头
- 变量名不能以数字开头,不能有空格
- 变量名只能包含字母数字和下划线(A-Z、a-z、0-9以及_)
- 变量名对大小写敏感(
$y
与$Y
是两个不同的变量)
推荐的几种命名方法:
- 下划线命名法:
$first_name = “zhang”;
- 小驼峰命名法:
$firstName = “zhang”;
- 大驼峰命令法:
$FirstName = “zhang”;
$var = 'frank';
$Var = 'iwen';
echo “$var, $Var”; // 输出“frank,iwen”
注意:不必告知PHP变量的数据类型,PHP会根据他的值,自动把变量转为正确的数据类型。
5. PHP数据类型
php中的数据类型相较于is多了很多中,但其中相当一部分对于我们来说鲜少用到。因此,我们只在这为大家介绍常见的几种常见的数据类型。
数据类型 | 数据符号 |
---|---|
布尔类型 | Boolean |
整数类型 | Integer |
浮点类型 | Float |
字符类型 | String |
数组类型 | Array |
对象类型 | Object |
空值类型 | NULL |
数据类型可以使用 var_dump() 方法获取数据类型和值,一般用于开发调试时使用。
只获取数据类型:echo gettype($a);
5.1 字符串类型
字符串是字符序列,比如:"Hello World"
。
字符串可以是引号内的任何文本,可以使用单引号
或双引号
注意双引号和单引号的区别:单引号代表强引用,双引号代表弱引用。
<?php
$a = "hello world";
var_dump($a);
$x = "Hello World";
echo $x;
echo "<br/>";
var_dump($x);
echo "<br/>";
echo gettype($x);
?>
5.2 字符串拼接
直接使用 .
符号拼接‘;
<?php
$name = "zhangsan";
echo "hello " . $name;
echo "hello,$name";
?>
使用 echo
输出多个变量;
<?php
$name = "zhangsan";
echo "hello ", $name;
?>
使用 EOF
定界符;
<?php
$name = "zhangsan";
echo <<<EOF
Hello $name
EOF;
?>
以
<<<EOF
开始标记开始,以EOF
结束标记结束 结束标记必须顶头写,独自占一行,不能有缩进和空格 在结束标记未尾要有分号
EOF可以用任意其它字符代替,开始标记和结束标记相同即 可,比如常用大写的 EOT、EOD、EOF来表示,但是不只限于那几个(也可以用 JSON、HTML等),只要保证开始标记和结束 标记不在正文中出现即可
使用模板字符串;
<?php
$name = "ZhangShan";
echo "Hello,{$name}";
echo "<br>";
$name = ["name" => "LiSi"];
echo "Hello, {$name['name']}";
?>
使用 printf()
和 sprintf()
;
printf 时直接输出,不返回任何值;
sprintf不输出,但有返回值;
<?php
$name = "ZhangShan";
$age = 18;
printf("我是%s, 今年%s",$name,$age)
?>
5.3 整数类型
和数学里的整数有些区别
- 整数必须有至少一个数字(0-9)
- 整数不能包含逗号或空格
- 整数不能有小数点
- 整数正负均可
- 可以用三种格式规定整数:十进制、十六进制(前缀是 0x)或八进制(前缀是0)
<?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);
?>
5.4 数组类型
在一个变量中存储多个值。分为一维数组和多维数组
<?php
$cars = array("Volvo", "BMW", "SAAB");
$_cars = ["Vovo", "BMW", "SAAM"];
var_dump($cars);
echo "<br/>";
var_dump($_cars);
?>
6. 流程控制
流程控制基本与JS中的一样;
if语句;
if (条件)
{
条件成立时执行的代码块;
}
if…else…语句;
if (条件)
{
条件成立时执行的代码块;
}
else
{
条件不成立时执行的代码块;
}
if…elseif…else;
if (条件)
{
if条件成立时执行的代码块;
}
elseif (条件)
{
elseif条件成立时执行的代码块;
}
... // 这里可以写多个elseif分支
else
{
前面条件都不成立时执行的代码块;
}
switch语句;
switch (n)
{
case label1:
如果 n = label1,此部分代码将执行;
break;
case label2:
如果 n = label2,此部分代码将执行;
break;
default:
如果 n 都不等了前面的label,此处代码将执行;
}
7. 循环
for 循环;
for (初始值; 条件; 增量)
{
循环体代码;
}
while循环;
while (条件)
{
循环体代码;
}
do…while循环;
do
{
循环体代码;
}
while (条件);
continue和break;
<?php
for ($i = 0; $i < 6; $i++) {
if ($i == 3) {
continue;
}
echo $i;
}
for ($i = 0; $i < 6; $i++) {
if ($i == 3) {
break;
}
echo $i;
}
?>
8. 遍历数组
8.1 获取数组长度
count() 函数可以用于获取数组的长度;
<?php
$name = [1, 2, 3, 4, 5];
echo count($name); // 获取数组的长度
?>
8.2 遍历数组
<?php
$nameArray = ["zhangsan", "lisi", "wangwu", "xiaoqiao"];
for ($i = 0; $i < count($nameArray); $i++) {
echo $nameArray[$i];
echo "<br>";
}
foreach ($nameArray as $name) {
echo $name;
echo "<br>";
}
foreach ($nameArray as $key => $value) {
echo $key . $value;
echo "<br>";
}
?>
9. 函数
9.1 内置函数
获取当前时间 time() 和 date(‘Y-m-d H:i:s’)
9.2 定义函数
PHP 函数准则:
- 函数的名称应该提示出它的功能
- 函数名称以字母或下划线开头(不能以数字开头)
function funcName() {
// 函数代码块
}
funcName();
9.3 函数传参
function funcName($name) {
echo $name;
}
funcName();
<?php
// 获取当前的时间
function nowTime($type)
{
if ($type == "time") {
echo date('Y-m-d H:i:s');
} else if ($type == 'day') {
echo date('Y-m-d');
}
}
nowTime("time");
?>
9.4 严格模式
function plus($a, $b) {
echo $a + $b;
}
plus(2, 3);
<?php
// 严格模式
declare(strict_types=1);
function pluss(int $a, int $b)
{
echo $a * $b;
}
pluss(3, 4);
?>
9.5 返回值
function pluss($a, $b) {
return $a * $b;
}
echo pluss(2,3);
10. 字符串相关函数
函数 | 说明 |
---|---|
strlen() | 获取字符串的长度 |
strpos() | 在字符串内查找一个字符或一点指定的文本,返回第一次出现的位置,没有则返回fasle |
explode() | 把字符串打散成数组 |
implode() | 把数组拼接成字符串 |
strtoupper() | 把字符串转换为大写 |
strtolower() | 把字符串转换为小写 |
ucfirst() | 将单词的首字母转换为大写 |
Icfirst() | 将单词的首字母转换为小写 |
ucwords() | 将字符串中每个单词的首字母转换为大写 |
str_replace($search,$replace, $string) | 将字符串中的某个子字符串替换为另一个字符串 |
strrev() | 将字符串反转 |
trim() | 去除字符串两端的空格 |
substr() | 截取字符串的一部分 |
mb_substr() | 截取字符串的一部分(中文) 需要安装扩展mbstring |
11. 数组相关函数
方法 | 说明 |
---|---|
array() | 创建一个数组。 |
count() | 返回数组中元素的数量。 |
array_push($array, $newElement) | 将一个或多个元素添加到数组的末尾。 |
array_unshift($array, $newElement) | 将一个或多个元素添加到数组的开头。 |
array_pop() | 删除并返回数组中的最后一个元素。 |
array_shift0) | 删除并返回数组中的第一个元素。 |
array_slice() | 从数组中提取一部分元素,组成新的数组 |
array_merge() | 合并两个或多个数组。 |
array_reverse() | 反转数组中的元素的顺序。 |
in_array() | 检查数组中是否存在某个值。 |
array_key_exists() | 检查数组中是否存在某个键。 |
array_keys() | 返回数组中的所有键,组成新数组 |
array_values() | 返回数组中的所有值,组成新数组。 |
array_search() | 在数组中搜索给定的值,并返回对应的键, |
array_unique() | 移除数组中的重复值, |
max() min() | 最大值和最小值 |
sort() | 数组排序 |
array_sum() | 数组求和 |
12. 时间日期函数
函数 | 说明 |
---|---|
time() | 获取当前时间戳(10位),例如:1697520502 |
microtime(true) | 返回一个浮点数时间戳(秒数和微秒数的总和) |
date(格式,时间戳) | 日期格式化 |
strtotime(string) |
<?php
strtotime("next Monday");
$baseTime = strtotime("20250-1-11");
echo strtotime("next Monday", $baseTime);
$baseTime = time();
echo strtotime("+1 day", $baseTime);
?>