PHP环境的搭建及入门案例
1.环境的搭建
采用的是PHP集成环境PHPStudy,集成了Apache、MySQL、PHP,比传统的配置文件搭建环境速度快,适合新手.
2.查看PHP环境
2.1源代码
<?php
//查看PHP的运行环境
phpinfo();
?>
2.2效果图
3.编辑器
VSCode是微软开发的一款编辑器,插件丰富,灵活的使用插件可以实现类似IDE的功能.
4.PHP入门
4.1PHP简介
- PHP全称为超文本预处理器,是开源、免费的一款软件,是服务器端解释型脚本语言
- PHP文件以
.php
作为拓展名 - 编译执行效率高于解释执行,但是PHP可以开启Opcache来编译成字节码存储到内存中,这样访问速度更快
4.2PHP执行流程
- (1) 客户端请求服务器端的PHP程序
- (2) 服务器端将PHP程序转发给PHP解释器执行
- (3) PHP解释器执行完毕将生成的HTML或其它内容返回到服务器
- (4) 服务器将最终生成的HTML代码作为相应内容返回客户端
4.WEB服务器运行环境
序号 |
组合 |
描述 |
1 |
WAMP |
Windows上的WEB运行环境 |
2 |
LAMP |
LInux上的WEB运行环境 |
5.PHP程序文档
序号 |
组成 |
描述 |
1 |
<?php ... ?> |
PHP代码标记 |
2 |
; |
语句分隔符,代码块使用花括号 |
3 |
空白符 |
合理的使用空白符可增强代码可读性 |
4 |
注释 |
// 单行注释,/**/ 多行注释 |
6.打印结果
序号 |
指令 |
描述 |
1 |
echo |
语言结构,可查看多个变量 |
2 |
print |
语言结构,功能与`echo``类似,区别是有返回值 |
3 |
print_r() |
函数,常用语复合数据类型的打印 |
4 |
var_dump() |
函数,可以查看一个变量的更多信息,如类型 |
5 |
var_export() |
函数,输出或返回一个变量的字符串表示(源代码) |
7.入门案例
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport"
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
<?php
//PHP源代码可以内嵌到HTML中
echo 'hello world';
?>
</body>
</html>
<?php
$str = 'hello world';
//echo没有返回值,一般用于打印基本数据类型
echo $str, '<br>';
//print有返回值,返回值为1
echo print $str, '<br>';
//print_r()一般用于打印复合数据类型
$arr = [1, 2, 3];
print_r($arr);
echo '<br>';
//var_dump()一般用于开发调试,打印出来的信息更多
var_dump($arr);
echo '<br>';
//var_export()用于输出或返回一个变量的字符串表示
$str = var_export($arr);
echo $str;
<?php
//PHP中的变量区分大小写,但是函数名不区分
$username = '张三';
$userName = '李四';
echo $username, $userName;
//正确的变量名应该以$开始,第一位为非数字,其余位为字母数字下划线的组合
//hello = 'php';//错误的变量名,没有$开始
//$123 = 'php';//错误的变量名,数字开头
//$abc@def = 'php';//错误的变量名,有特殊字符
//变量名要起的有意义,看见其名,就知道用于哪个功能
$userName = '王五';
$age = 20;
<?php
//PHP是弱类型语言,也就是说声明变量不需要指定数据类型
//变量的声明第一次为初始化,第二次为值改变
$userName = '张三';
$userName = '李四';
echo $userName;
<?php
//可变变量,变量的标识符/变量名称,可以动态的改变, 变量名可以来自另一个变量
$abc = 'aaa';
$$abc = 'bbb';
echo $aaa;
8.值传递和引用传递
8.1值传递
<?php
$a = 10;
$b = $a;
echo $a,$b;//10,10
8.2引用传递
- 变量的引用传递,使用相同的内存地址,相当于起了一个别名,引用的两个变量,其中一个值改变,另一个值也会改变
<?php
$a = 'aa';
$b = &$a;//aa
echo $a, '<br>', $b;//aa,aa
echo '<hr>';
$b = 'bb';//bb
echo $a, '<br>', $b;//bb,bb
9变量的检测和删除
9.1 isset()
<?php
if (isset($username)) {
echo $username;
} else {
echo '变量未定义';
}
9.2 unset()
<?php
$username = '张三';
unset($username);
if (isset($username)) {
echo $username;
} else {
echo '变量未定义';
}
9.3 empty()
<?php
$salary = '';
var_dump($salary);
echo '<br>';
var_dump(empty($salary));
9.4 is_null()
- is_null()函数用来检测变量是否为null
- 变量定义但未初始化或者直接给变量赋值为null,值就为null
<?php
$age;
var_dump($age);;
echo '<br>';
var_dump(is_null($age));
10.数据类型
<?php
//基本数据类型
//整型
$int = 10;
var_dump($int);
echo '<hr>';
//浮点型
$float = 3.14;
var_dump($float);
echo '<hr>';
//布尔型
$bool1 = true;
$bool2 = false;
var_dump($bool1, $bool2);
echo '<hr>';
//字符串型
$string = 'hello world';
var_dump($string);
echo '<hr>';
//复合数据类型
//数组
$array = ['苹果', '香蕉', '橘子'];
echo '<pre>' . print_r($array, true) . '</pre>';
echo '<hr>';
//对象
$obj = new StdClass;//StdClass类是PHP中保留类,几乎所有的类都继承自这个类,这个类没有方法
$obj->name = '张三';
echo '<pre>';
var_dump($obj);
echo '<hr>';
//特殊数据类型
//null
$null = null;
var_dump($null);
echo '<hr>';
//resource
$r = fopen('demo3.php', 'r');
var_dump($r);
echo '<hr>';
//gettype()可以获得变量的数据类型
echo gettype('hello world');
11.总结
- 了解PHP的执行流程,对于开发来说是很重要的
- 变量是每个语言都很重要的一部分
- 对变量的检测是很重要的,提高了代码的健壮性