php基础教程

变量定义与输出

1
2
3
$a = "abc"; //定义和赋值
echo "你好"; //可以用echo 输出
print "谢谢" //print也可以,但是只能用于输出单个

输入方法

可以使用readline()或ftgets(STDIN)用于输入

1
2
3
4
5
6
7
8
// 第一种输入方法
$input = readline("请输入内容:");
echo "您输入的内容是:" . $input;

// 第二种输入方法
echo "请输入内容:";
$input = fgets(STDIN);
echo "您输入的内容是:" . $input;

数据类型

字符串、整数、浮点数、布尔型(逻辑)、数组、对象、NULL、资源类型

用var_dump()会返回变量的数据类型和值,这个一般用于开发调试

只获取数据类型 echo gettype(变量名);

字符串

字符串可以是引号内的任何文本,但是要注意单引号和双引号区别
单引号不会读取变量,双引号可以在内部解析变量值

1
2
3
4
5
6
7
8
9
// 单引号和双引号区别
$data = 123;
echo '这是单引号$data'.PHP_EOL; //后面用于换行
echo "这是双引号$data";

// 结果:
// 这是单引号$data
// 这是双引号123

定界符(EOF)

  • 以 <<< EOF作为开始的标记,以EOF结束标记结束
  • 结束的标记必须顶头写,而且独占一行,不能有缩进和空格
  • 结尾结束标记要有分号

具体功能:就是用来做解析的,比如在之前拼接变量和字符串的值就需要用到.去拼接,以及内容要内嵌单双引号的时候。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
//原本写法
$date = '2024.8.28';
echo '<div class="test-style"><span> '
.$date.
'</span>
文章列表
/div>
';


//EOF写法
echo <<<EOF
<div class="test-style"><span>
$date
</span>
文章列表
/div>
EOF;

全局变量与超级全局变量

全局变量在函数中写法不太一样

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
$a = '你好';

//第一种写法 在函数中添加global来调用全局变量
function ceshi(){
global $a;
echo "这样才能输出:".$a.PHP_EOL;
}
//第二种,php中的超级全局变量
function ceshi2(){
echo "通过超级全局变量输出:".$GLOBALS["a"];
}

ceshi();
ceshi2();

空并运算符与组合运算符

空并运算符

用于返回左边的操作数,如果左边的操作数为空或未定义,则返回右边操作数

组合运算符

$c = $a <=> $b

如果$a > $b $c=1

如果$a == $b $c=0

如果$a < $b $c=-1

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
//空并
$name = $username ?? "nihao";
echo $name;

//组合
/*
$c = $a <=> $b
如果$a > $b $c=1
如果$a == $b $c=0
如果$a < $b $c=-1

*/
$a = "acf";
$b = "acd";
var_dump($a<=>$b);

PHP字符串相关常用函数

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
$txt = "hello world";
//返回长度
echo strlen($txt);
echo PHP_EOL;
//查找字符或者指定文本 返回第一次出现位置
if(strpos($txt,"l")===false){
echo "不含有";
}
else{
var_dump(strpos($txt,"l")); //返回索引位置
}

//此外相同功能还有:stripos() 不区分大小写
// strrpos() 返回最后一次出现位置
// strripos() 返回最后一次出现位置且不区分大小写

//explode() 字符串转数组
echo "接下来是字符串转数组:".PHP_EOL;
print_r(explode(" ",$txt));

//implode() 数组转字符串
echo "接下来是数组转字符串".PHP_EOL;
$b = ["你好","大家"];
echo implode("-",$b);

//strrev 字符串反转
echo "字符串反转".PHP_EOL;
echo strrev($txt);

//trim 去两端空格
echo "去两端空格".PHP_EOL;
echo trim(" xx xx ");

//substr() 截取字符串的一个片段
echo "截取字符串一个片段".PHP_EOL;
echo substr("hello world",1,4);