批改状态:合格
老师批语:写的很好!加油!
<?phpphp起始标签;?>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仅能打印单个变量,返回值是1echo 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,返回 trueif(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在计算中转为0echo $a+10,'<br>';// true在计算中转为1echo $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);
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号