Correcting teacher:天蓬老师
Correction status:qualified
Teacher's comments:完成的不错
PHP 语法并不多,要对自己有信心
.php
做为扩展名php 程序可以使用标签方式嵌入到 html 文档中
请求的是 php 文件,服务器会解析成 html 代码返回浏览器
执行流程哪下:
初学者推荐使用集成环境,省去手工逐一安装配置麻烦
序号 | 集成环境 | 操作系统 | 描述 |
---|---|---|---|
1 | phpStudy | Windows / Linux | 中文,免费,功能全, 推荐 |
2 | MAMP | MacOS | 英文,收费, 功能全, 推荐 |
序号 | 组成 | 描述 |
---|---|---|
1 | <?php ... ?> |
PHP 代码标记 |
2 | ; 分号 |
语句分隔符,代码块使用右大括号 |
3 | 空白符 | 合理使用空白符可增强代码可读性 |
4 | 注释 | // 单行注释 , /* 多行注释 */ |
php 标记之外的内容会原样返回客户端,如 html 代码
php 代码可以写在 html 代码中的任何地方
<?php
// php程序文档基本结构
function sum(int $a, int $b) : int
{
return $a + $b;
}
echo sum(10, 20);
当 php 文档只有 php 内容时,结束标记?>请不要写,如果是嵌入 html 文档则需要
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
</head>
<body>
<?php
// php程序文档基本结构
function sum(int $a, int $b) : string
{
return "$a + $b = " . ($a + $b);
}
echo sum(10, 20);
?>
</body>
</html>
序号 | 指令 | 描述 |
---|---|---|
1 | echo |
语言结构, 可查看多个变量 |
2 | print |
语言结构,功能与echo 类似,区别是有返回值 |
3 | print_r() |
函数,以更容易理解的格式打印变量信息,常用于数组 |
4 | var_dump() |
函数,可查看一个变量更多信息,如类型 |
5 | var_export() |
函数,输出或返回一个变量的字符串表示(源代码) |
实际工作中,
echo
和var_dump()
基本可以满足大多数需求
<?php
# php打印结果
# echo和print不是函数,他是语言结构,指令
$email = 'admin@php.edu';
//echo
echo $email, '<br>';
//echo没有返回值
echo print $email;
//print,有返回值,如果成功就是返回1(true)
echo '<hr>';
// var_dump():函数
// 函数必须用括号调用
var_dump($email);
//var_dump()不仅可以打印出来,还可以返回字符类型以及多少个字符
echo '<hr>';
var_export($email);
// var_export返回php代码,比如动态生成一个数组,创建一个文件
<?php
# 变量命名
$username = 'admin';
$userName = 'peter zhu';
//变量名区分大小写,但是函数区分
echo $username, '<br>' , $userName, '<hr>';
//正确的变量必须使用$
$hello='php';
$123abc='php';
<?php
# php变量是弱类型
$var=100;
var_dump($var);
echo '<hr>';
$var = 'hello';
var_dump($var);
//php没有变量声明的概念,它的类型由赋予他的值决定
echo '<hr>';
<?php
//值传递和引用传递
//1.值传递
$price1 = 99;
// 当前只是将$price1变量的值赋值给了一个新的变量
$price2 = $price1;
echo $price1, '----', $price2, '<br>';
//更新
$price1 = 299;
echo $price1, '----', $price2, '<br>';
echo '<hr>';
//2.引用赋值
$price1 = 99;
//引用赋值,&:取地址符,引用符
//相当于给原变量起了一个别名
$price2 = &$price1;
echo $price1, '----', $price2, '<br>';
//更新
$price1 = 299;
echo $price1, '----', $price2, '<br>';
<?php
# 可变变量:变量的标识符可以动态的改变
$var = 'email';
//变量名email恰好是变量var的值
// $email = 'admin@php.cn';
$$var='peter@php.cn';
echo $email;
isset()
unset()
is_null()
判断是否没有赋值empty()
判断是否为空,但是有值
<?php
// error_reporting(E_ALL);
# 检测与删除
//echo $username;
if (isset($username)) echo $username, '<br>';
$username = 'zhu';
// echo $username . '<br>';
//变量删除或者销毁
unset($username);
if (isset($username)){
echo $username, '<br>';
}else{
echo '变量未定义';
}
echo '<hr>';
//如果变量已经定义但是未赋值(初始化),默认用NULL进行赋值
//初始化:第一次赋值
//更新/修改:第二次赋值;
$email;
$email = NULL;
var_dump(is_null($email));
echo '<hr>';
$var = '';
var_dump(empty($var));
<?php
#数据类型
//1.基本类型
//字符串(string)
$name = '手机';
//数值(整数,小数)
$price = '3890';
//布尔:true/false
$is5G = 'true';
//2.复合类型
//整合在一起
//对象,->对象访问符
$obj = new stdClass;
$obj->email = 'admin.php.cn';
echo $obj->email . '<br>';
//数组
$arr = ['电脑',8000,'huawei'];
// print_r($arr);
$str=print_r($arr, true);
echo '<pre>'.$str.'</pre>';
// echo '<pre>'.print_r($arr, true).'</pre>';
//3.特殊类型
$num = null;
var_dump($num);
//4.资源类型,文件
$f=fopen('demo7.php','r');
var_dump($f);
if (gettype($f) === 'resource') {
echo 'demo7.php是一个文件';
}
php 语法并不多,需要对自己的学习有信心,客户端请求一个 php 程序(或者 url),服务器 php 解析器(如 php.exe)生成 html 返回给服务器,服务器再传送相应给客户端。浏览器并不能直接解析 php 文件。