Correcting teacher:天蓬老师
Correction status:qualified
Teacher's comments:基础知识要重视呀
<!DOCTYPE html>
<?php
/*php程序文档通过"<?php...?>" 嵌入到html文档中*/
function sum(int $a, int $b) : string
{
return "$a + $b = " . ($a + $b) ;
}
echo sum(10, 70);
?>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>
</title>
</head>
<body>
</body>
</html>
<?php
// php打印输出结果
$name = 'trieudaishu';
// echo, 没有返回值
echo $name, '<br>';
// print, 有返回值,如果成功返回1
// echo , print 不是函数, 是语言结构, 指令
echo print $name;
echo '<hr>';
// var_dump(): 函数
var_dump($name);
echo '<hr>';
// var_export(): 函数
var_export($name);
<?php
// 变量命名
// 变量名: $ + php标识符
// php有效标识符: 必须由以下三种字符组成: 大小写的英文字母, 下划线, 数字, 且不能以数字开始
// 变量名区分大小写
$username = 'dashu';
$userName = 'DASHU';
echo $username, '<br>' , $userName, '<hr>';
// 错误变量名示例
// 没有使用$开始, 正确的变量必须使用$做为起始符号
// hello = 'php';
// 变量名中不允许使用数字开始
// $123abc = 'php';
// 变量名中使用了特殊符号
// $user@id = 100;
// 正确但无意义
$aaa = 'php.cn';
$_ = 888;;
$_123 = 999;
echo $_123;
<?php
# php变量是弱类型,定义变量的时候没有声明是什么类型的变量
$var = 100;
var_dump($var);
echo '<hr>';
$var = 'Hello';
var_dump($var);
<?php
// 值传递和引用传递
//1. 值传递
$price1 = 99;
// 只是将$price1变量的值赋值给了一个新变量
$price2 = $price1;
echo $price1, '----', $price2, '<br>';
// 更新$price1的值,$price2的值不全变
$price1 = 299;
echo $price1, '----', $price2, '<br>';
echo '<hr>';
// 2. 引用传递
$price1 = 99;
// 引用赋值, &: 取地址符, 引用符
// 相当于给原变量起了一个别名
$price2 = &$price1;
echo $price1, '----', $price2, '<br>';
// 更新$price1的值$price2也会变
$price1 = 299;
echo $price1, '----', $price2, '<br>';
<?php
# 可变变量: 变量的标识符/变量名称,可以动态的改变, 变量名可以来自另一个变量
$var = 'email';
// 变量名email, 恰好是变量$var的值
// $email = 'peter@php.cn';
$$var = 'dashu@163.com';
echo $email;
<?php
// error_reporting(E_ALL);打开报错
# 检测与删除变量
// echo $username;
if (isset($username)) echo $username, '<br>';
$username = 'dashu';
echo $username .'<hr>';
// 变量删除/销毁
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(is_null($var));
var_dump(empty($var));
<?php
# 数据类型
// 1. 基本类型
// 字符串: string
$name = 'phone';
// 数值: int, float
$price = 3890;
// 布尔: true / false
$is5G = true;
echo gettype($is5G),'<hr>';
// 2. 复合类型
// 对象
$obj = new stdClass;
$obj->email = 'dashu@163.com';
echo $obj->email . '<br>';
echo gettype($obj),'<hr>';
// 数组
$arr = ['电脑', 8000, 'huawei'];
// $str=print_r($arr, true);
// echo '<pre>'.$str.'</pre>';
echo '<pre>'.print_r($arr, true).'</pre>';
echo gettype($arr),'<hr>';
// 3. 特殊类型
$num = null;
var_dump($num);
// 资源类型, 文件
$f = fopen('demo7.php','r');
var_dump($f);
echo gettype($f),'<hr>';
if (gettype($f) === 'resource') {echo 'demo7.php是一个文件';}
isset
:检查变量是否存在; unset
:删除/销毁变量; empty
:检查变量是否定义