Correcting teacher:天蓬老师
Correction status:qualified
Teacher's comments:从php7.3开始, php越来越像强类型了, 变量类型检测都是通过关键字实现, 而不依赖函数, 特别是php7.4, 连类属性都要设置类型了
采用的是PHP集成环境PHPStudy,集成了Apache、MySQL、PHP,比传统的配置文件搭建环境速度快,适合新手.
<?php
//查看PHP的运行环境
phpinfo();
?>
VSCode是微软开发的一款编辑器,插件丰富,灵活的使用插件可以实现类似IDE的功能.
.php
作为拓展名序号 | 组合 | 描述 |
---|---|---|
1 | WAMP | Windows上的WEB运行环境 |
2 | LAMP | LInux上的WEB运行环境 |
序号 | 组成 | 描述 |
---|---|---|
1 | <?php ... ?> |
PHP代码标记 |
2 | ; |
语句分隔符,代码块使用花括号 |
3 | 空白符 | 合理的使用空白符可增强代码可读性 |
4 | 注释 | // 单行注释,/**/ 多行注释 |
序号 | 指令 | 描述 |
---|---|---|
1 | echo |
语言结构,可查看多个变量 |
2 | print |
语言结构,功能与`echo``类似,区别是有返回值 |
3 | print_r() |
函数,常用语复合数据类型的打印 |
4 | var_dump() |
函数,可以查看一个变量的更多信息,如类型 |
5 | var_export() |
函数,输出或返回一个变量的字符串表示(源代码) |
<!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;
<?php
$a = 10;
$b = $a;
echo $a,$b;//10,10
<?php
$a = 'aa';
$b = &$a;//aa
echo $a, '<br>', $b;//aa,aa
echo '<hr>';
$b = 'bb';//bb
echo $a, '<br>', $b;//bb,bb
<?php
if (isset($username)) {
echo $username;
} else {
echo '变量未定义';
}
<?php
$username = '张三';
unset($username);
if (isset($username)) {
echo $username;
} else {
echo '变量未定义';
}
<?php
$salary = '';
var_dump($salary);
echo '<br>';
var_dump(empty($salary));
<?php
$age;
var_dump($age);;
echo '<br>';
var_dump(is_null($age));
<?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');