PHP基础入门(一)
[!NOTE]
本篇文章仅用于个人交流与学习,如涉及侵权请联系站长删除!
1. 概述
PHP(Hypertext Preprocessor)是一种广泛使用的开源服务器端脚本语言,尤其适用于Web开发。
- PHP 文件可包含文本、HTML、JavaScript代码和 PHP 代码。
- PHP 代码在服务器上执行,结果以纯 HTML 形式返回给浏览器。
- PHP 文件的默认文件扩展名是
.php
。
通过 PHP,您不再限于输出 HTML。您可以输出图像、PDF 文件,甚至 Flash 电影。您还可以输出任意的文本,比如 XHTML 和 XML。
2. 搭建环境
想要学习PHP语言,我们还需要搭建一个PHP语言所需要的环境,和一个服务器(这里我们使用nginx)。
2.1 下载所需软件
2.2 PHP安装
2.3 NGINX配置(nginx.conf)和启用PHP解析(FastCGI)
将下载好的NGINX压缩包解压在合适的位置,完成后我们打开conf文件夹下的nginx.conf文件,配置以下选项。
1 2 3 4 5 6 7 8 9
| location ~ \.php$ { root html; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params;
fastcgi_read_timeout 300; }
|
需要注意的是http协议的默认端口为80,如果用户的80端口已经被占用,我们在运行nginx.exe时是无法启用的,这里我们可以通过修改server
下的监听端口listen
来避免此问题。
1 2 3 4
| server { listen 5050; server_name localhost;
|
2.4 测试环境
在配置好所有环境之后我们还需要重启nginx来保证,刚刚修改的内容正常应用,在nginx目录下打开终端输入下面的指令来重启nginx。
重启后我们访问http://localhost:5050(注意:这里的端口是我自己使用的监听端口)就可以看到我们的服务器已经启动了。

接下来我们需要创建一个PHP文件来测试我们的环境是否配置成功,首先运行fast-cgi代理,在php根目录下用管理员权限打开终端,输入下面的指令。
1
| php-cgi.exe -b 127.0.0.1:9000
|
之后在 nginx/html/ 目录下创建test.php文件,并输入下面的内容。
1 2 3
| <?php echo "Hello PHP!"; ?>
|
保存后进入http://localhost:5050/1.php。就可以看到我们已经连接成功了。

3. 语法
3.1 格式
PHP脚本可以放在文件中的任何位置,脚本以<?php
开始,以?>
结束,例如:
其中//
是PHP的单行注释,要是想要多行注释则需要借助/* */
来完成。
3.2 第一个PHP程序
在刚刚的测试用例中我们已经演示过这个例子了:
1 2 3
| <?php echo "Hello PHP!"; ?>
|
3.3 变量
变量是所有编程语言中都有的概念,是用于程序存储数据的”容器”。
PHP中通过语法:$变量名 = 变量值;
来定义变量,PHP属于弱类型语言,所以变量声明的时候不需要设置数据类型,变量的类型取决于值得类型。
1 2 3 4 5 6
| <?php $a=3; $b=6; $c=$a+$b; echo $c; ?>
|
4. 数据类型
PHP中的数据类型也分为这几大类:String(字符串)、 Integer(整型)、 Float(浮点型)、Boolean(布尔型)、 Array(数组)、Object(对象)、 NULL(空值)。
4.1 字符串
就像刚刚第一个程序中的Hello PHP!
一样,一个字符串是一串字符的序列。我们可以将任何文本放在单引号和双引号中:
1 2 3 4 5 6 7
| <?php $x = "Hello world!"; echo $x; echo "<br>"; $x = 'Hello world!'; echo $x; ?>
|
4.2 整数和浮点数
整数是一个没有小数的数字。浮点数是带小数部分的数字,或是指数形式。
1 2 3 4 5 6
| <?php $x = 1359; $x = -345; $x = 0x8C; $x = 047; ?>
|
1 2 3 4 5 6 7 8 9
| <?php $x = 10.365; var_dump($x);
echo "<br>";
$x = 2.4e3; var_dump($x); ?>
|
- 注意:
var_dump()
函数可以返回变量的数据类型和值。
4.3 布尔类型
布尔型可以是TRUE
或FALSE
,TRUE
标识真,FALSE
标识假。
1 2 3 4
| <?php $a=true; $b=false; ?>
|
4.4 对象类型
对象类型可以用于存储数据,使用class
关键字声明类对象,类包含属性和方法。
1 2 3 4 5 6 7 8 9 10 11
| <?php class Car{ var $color; function fun1() { echo "方法1"; } } ?>
|
4.5 NULL值
NULL
值表示变量没有值,NULL
是数据类型为 NULL 的值。
1 2 3 4 5
| <?php $x="Hello world!"; $x=null; var_dump($x); ?>
|
- 解释:这里先将字符串
Hello world!
赋值给变量$x
,之后又将$x
的值设置成null
(空值),null
类型会被直接输出为NULL
。
5. 运算符
5.1 算数运算符
运算符 |
名称 |
格式 |
+ |
加 |
$a + $b |
- |
减 |
$a - $b 或-$a |
* |
乘 |
$a * $b |
/ |
除 |
$a / $b (返回浮点数) |
% |
取余 |
$a % $b (返回余数) |
** |
幂运算 |
$a ** $b (如 2**3 结果为 8 ) |
1 2 3
| echo 5 + 3; echo 10 % 3; echo 2 ** 4;
|
5.2 赋值运算符
运算符 |
名称 |
格式 |
功能 |
= |
赋值运算符 |
$a = 5 |
基本赋值 |
+= |
加法复制运算符 |
$a += 5 |
$a = $a + 5 |
-= |
减法复制运算符 |
$a -= 5 |
$a = $a - 5 |
*= |
乘法赋值运算符 |
$a *= 5 |
$a = $a * 5 |
/= |
除法赋值运算符 |
$a /= 5 |
$a = $a / 5 |
%= |
取余赋值运算符 |
$a %= 5 |
$a = $a % 5 |
**= |
幂运算赋值运算符 |
$a **= 5 |
$a = $a ** 5 |
.= |
拼接赋值运算符 |
$str .= " PHP" |
字符串连接 |
1 2 3 4 5 6 7 8
| $a = 10;
$a += 5;
$str = "Hi"; $str .= " PHP";
|
5.3 比较运算符
运算符 |
名称 |
== |
等于 |
=== |
全等 |
!= 或 <> |
不等于 |
!== |
不全等 |
> ,< ,>= ,<= |
大小比较 |
<=> |
太空船运算符(返回-1, 0, 1) |
1 2 3
| var_dump("5" == 5); var_dump("5" === 5); var_dump(2 <=> 3);
|
5.4 逻辑运算符
运算符 |
名称 |
&& 或 and |
逻辑与 |
|| 或 or |
逻辑或 |
! |
逻辑非 |
xor |
异或 |
1 2
| if ($a > 0 && $b < 10) { } if (!$is_valid) { }
|
5.5 字符串运算符
1 2 3 4 5
| $name = "Alice"; echo "Hello " . $name;
$str = "Hi"; $str .= " PHP";
|
5.6 递增/递减运算符
运算符 |
名称 |
++$a |
前递增(先加后返回值) |
$a++ |
后递增(先返回值后加) |
--$a |
前递减(先减后返回值) |
$a-- |
后递减(先返回值后减) |
5.7 数组运算符
运算符 |
功能 |
+ |
合并数组(保留第一个数组的键) |
== |
键值对相同 |
=== |
键值对相同且顺序、类型一致 |
1 2 3
| $a = [1, 2]; $b = [3, 4]; $c = $a + $b;
|
5.8 错误控制运算符
@
抑制错误:@file('none.txt');
(不显示警告)
5.9 位运算符
运算符 |
名称 |
& |
按位与 |
| |
按位或 |
^ |
按位异或 |
~ |
按位取反 |
<< |
左移 |
>> |
右移 |