Correcting teacher:Guanhui
Correction status:qualified
Teacher's comments:写的很好!加油!
<?php
php起始标签;?>
php结束标签;;
语句分隔符,表示一段代码可以被执行了;//
单行注释;/* */
多行注释;
<?php
// 代码段
// 声明一个名为sum的函数()中取两个整数
function sum(int $a, int $b){
// 返回执行结果给其他代码,执行加法运算
return"{$a}+{$b}=".($a+$b);
}
// 将执行结果输出打印
echo sum(10,20);
代码段
<?php
// php打印输出
$email ='z@haoai.cc';
// echo回显,没有返回值,效率最高
echo $email , '<br>';
// 输出可以支持变量,文本,html文档
echo $email;
echo '<hr>';
// 用 . 可以将print实现多个打印,. 后的内容类型都变成字符串
print $email . 100;
// echo没有返回值,能打印多个变量
// print仅能打印单个变量,返回值是1
echo print $email;
echo '<hr>';
// 获取变量类型
echo gettype($email), '<br>';
// 获取变量的完整信息
var_dump($email);
var_dump(123);
echo '<hr>';
// 获取变量的值(即代码)
var_export($email);
// 变量命名
// 变量是临时存储数据的容器
// 变量是实现复用数据的手段
// 变量名区分大小写,一个字母大小写不一样就不是同一个变量名
$username='admin';
$userName='xiaozhui';
echo $username,'<br>',$userName,'<hr>';
// 函数是不区分大小写的
// strtoupper是将变量值全部大写
echo strtoupper($username),'<br>';
echo STRTOUPPER($username);
// 变量名必须以$美元符开头,允许以_下划线开始,不允许以数字和其他特殊符号开始
// hello='hello'是错误的语法
// $123aaaa='hello'是错误语法
// $name@id='z#haoai.cc'是错误语法
$_hello='hello';
// 变量名仅允许$开始,字母、下划线和数字组成,且不能以数字开头
// 中文可以当变量名,但不建议用
// 变量名要做到望文生义,没有意义的变量名也不建议用
<?php
// 变量的动态,是指变量的类型是可以随值而变化
// 100用''包起来就变成文本了
$var=100;
var_dump($var);
echo '<br>';
// 这个时候变量变成文本类型了
$var='php.cn';
var_dump($var);
<?php
// 变量有值传递和引用传递两种赋值方式
// 1值传递,也是默认方式
$price1=99;
$price2=$price1;
// 更新price2,会发现price1的值不会被影响
$price2=199;
echo 'price=' . $price1,'<br>';
// 2.引用传递
$price1=99;
// 在等号右边(叫做右值)前面加上&(取地址符)
$price2=&$price1;
$price2=199;
// 更新price2的值,会发现price1值也更新了
echo 'price=' . $price1,'<br>';
<?php
// 可变变量
$var='email';
// 变量值和下面的变量名是一样的
// $email='z@haoai.cc';
$$var='z@haoai.cc';
// 发现可以使用没有创建的变量名,这是变量名的动态创建
echo $email;
<?php
// 变量的检测与删除
// 打开所有的报错
error_reporting(E_ALL);
// 会提示变量未定义
// echo $username;
// 如果一个变量不是自己创建的,比如第三方的类库获得的,很有必要检测一下
$username='小追';
$username='null';
// 变量检测
// isset()如果该变量纯在且值不为null,返回 true
if(isset($username)) echo $username . '<br>';
else echo '没有定义该变量','<hr>';
// 删除变量,unset没有返回值,不要操作提示删除成功之类的行为
unset($username);
// 判断变量值是不是为空值
$var='';
// 当变量为空时,打印值的类型
if(empty($var)) var_dump($var) . '<br>';
<?php
// 数据类型
// 基本类型、复合类型、特殊类型
// 1.基本类型
// 字符串
$name='手机';
// 数值
$price=2988;
// 布尔
$is5G=false;
// 2.复合类型
// 对象
// 对象是方法和属性的无序集合,可以理解为一个大容器
$obj= new stdClass;
$obj->name='xiaozhui';
echo $obj->name,'<hr>';
// 数组
$arr=['电脑','4500','Dell'];
// print_r()以人性化的方式打印变量,true表示不直接打印而是返回
// 返回一定要有一个接受者
$str=print_r($arr,true);
echo '<pre> '. $str . '</pre>';
// 基本类型也成为标量,单值(一个值),占据空间很小,很容易存储
// 复合类型有多个值
// 3.特殊类型
// null
$num=null;
var_dump($num);
// 文件资源类型
$f=fopen('demo2.php','r');
// var_dump是调试的时候用的,项目上线时都要在代码中删除
var_dump($f);
// 看类型
gettype($f);
// 变量类型的转换
// 自动转换,是由php系统偷偷进行的,不需要用户的参与
$a=null;
$b=true;
$c=false;
$d='5g';
$e='php';
$f=15;
// null在计算中转为0
echo $a+10,'<br>';
// true在计算中转为1
echo $b+10,'<br>';
// 如果值开头有数字,开头数字会与10计算;如果开头没有数字,将报错,并默认把$d默认为0,计算结果为10。
echo $d+10,'<br>';
// .可以链接两个变量,变量的值都变成字符串
echo $e . $f,'<br>';
echo '<hr>';
// 如果不想看到警告,可以将变量强制转换
echo (int)$e+10,'<br>';
// 建议以后只用下面的方式转换
// 转换为数值
echo intval($e)+20,'<br>';
// 转换为字符串
echo strval($f)+'Hell','<br>';
// 这些都是临时转换,不会改变变量值的类型
// 可以看到变量值类型还是数值
echo gettype($f);
echo '<hr>';
// 永久转换
// settype(变量,'要转换成的类型')
settype($f,'string');
echo gettype($f);