批改状态:合格
老师批语:你这是落下了多少作业
1.PHP程序由哪几部分组成
<?php?>// , #号键也可以用来注释但不推荐使用/* 注释内容*/; : 表示语句分隔符或语句的结束注意:在单独的纯文本PHP文件中,推荐不要加结束标签,因为这样可以避免被引用时出错,出现一些不可见字符,但是在PHP混编时,比如和HTML写在一个文件中时,就必须加上结束标签了。示例:
<?php//代码段function sum ( $a , $b ) {return $a + $b;}//打印输出结果echo '两数相加之和是:'.sum ( 10 , 10 );`
2.打印输出
| 序号 | 代码 | 注释 |
|---|---|---|
| 1 | return |
返回结果给调用者 |
| 2 | echo |
支持HTML标签,可以同时打印多个变量,没有返回值效率最高 |
| 3 | print |
有返回值(打印成功返回值‘1’),只能打印一个变量 |
| 4 | var_dump() |
能够打印变量的完整信息,即:变量的类型,变量的长度,变量的数值 |
| 5 | print_r() |
以人性化方式打印,通常用于复合数据类型,(true)表示不打印而返回,返回是一定要有一个接收者 |
| 6 | var_export() |
返回一个变量的字符串表示(源代码) |
代码示例:
<?php// 变量$name = 'hello';$content = 'php中文网';// 打印输出// echo效率最高没有返回值,支持HTML标签,可以同时打印多个值echo $name,'<br>';echo '<span style="color:red;">',$content,'</span>','<br>';echo $name,$content;echo '<hr/>';//print 打印单一变量,且有返回值print $name.'<br>';print $name.$content.'<br>';echo print $cntent;//打印成功返回1echo '<hr/>';//var_dump输出信息,完整显示变量信息var_dump($name);echo '<br>';var_dump($content);echo '<br>';var_dump(111);echo '<hr/>';//var_export() 返回字符串表示(源代码)var_export($name);echo '<br>';var_export($name.$content);echo '<hr>';//print_r()以人性化的方式打印变量,true表示不打印而返回,且返回时一定要有一个接受者$arr = ['998','888','98'];echo print_r($arr,true),'<br>';//结合html的pre标签,可以原样输出echo '<pre>'.print_r($arr,true).'</pre>' ;
图示:
3.变量
含义:
1.变量是临时储存数据的容器
2.变量是实现数据复用的手段
<?php// 变量的动态$change = 123;var_dump($change);echo '<br>';$change = '123';var_dump($change);
图片示例:
变量的值传递与引用分为两种赋值方式
1.值传递:默认方法,直接将等号右边的变量的值赋值给左边变量
2.引用传递:在等号的右值前加“&”(取地址符),这时会将右边变量的内存地址传给左边变量,不再是单纯的赋值操作注:两个值同步更新
代码示例:
<?php// 值传递与引用传递// 1.值传递(默认方法)$name = 50;$name1 = $name;echo $name.'<hr>';// 2.引用传递:在等号右边添加‘&’取地址符$name2 = &$name;$name2 = 100;echo $name2;
图片解析:
变量名可以动态的创建
代码示例:
<?php//可变变量:一个变量的变量名可以动态的设置和使用$nav = 'email';// $$nav这个变量名跟$nav的值是相等的$$nav = 'admin@php.com';// 输出echo $nav.$$nav;echo '<hr>';echo $email;
图片演示:
代码示例:
<?php/*当变量为定义时,不会输出也不会报错,在调试的时候,通常需要在查看这个变量之前打开报错,需要用到一个函数:error_reporting(E_ALL)*///打开所有报错error_reporting(E_ALL);//使用这个函数之后就会有报错功能了// echo $name;//变量检测:isset(),变量不为空且值不为null时才是true$name = 'php中文网';// $name = null;if ( isset($name) ) { echo 'name:'. $name;}else { echo '没有定义此变量';}echo '<hr>';//删除变量:unset(),没有返回值,直接执行unset($name);if ( isset($name) ) { echo 'name:'. $name;}else { echo '没有定义此变量';}echo '<hr>';// empty():检测变量是否为空,多用于表单元素检测$nav = '';if( empty($nav) ){ var_dump($nav); }
图片解释:
4.数据类型
数据类型分为三大类分别为:
- 基本类型:字符串类型、数值类型、布尔类型
- 复合类型:对象,数组
- 特殊类型:NULL、资源
代码示例:
<?php// 数据类型// 1.基本数据类型:又称标量、单值(单值放在栈内)echo '字符串类型:'.'<br>';$username = 'php';var_dump($username);echo '<br>';echo '数值类型:'.'<br>';$price = 2900;$price1 = 3.0;var_dump($price);var_dump($price1);echo '<br>';echo '布尔值类型:'.'<br>';$iswin = false;var_dump($iswin);echo '<hr>';// 2.复合类型:多值(一个变量多个值,放入堆中)// 对象:是属性和方法的无序集合$obj = new stdClass;$obj -> name = 'Mark';$obj -> age = 33;$obj -> hobby = 'ball';echo $obj -> hobby,'<hr>';// 数组$cars = ['BMW','Volvo','LAND-ROVER'];var_dump($cars);echo '<br>';// 原样输出echo '<pre>'.print_r($cars,true).'</pre>','<hr>';// 3.特殊类型// NULL$null = null;var_dump($null);echo '<hr>';
图片:
5.变量的类型转换
- 自动转换:由PHP系统偷偷地进行,不需要用户主动参与
null在计算中自动转为0
true在计算中自动转为1- 强制转换:在需要转换的变量前加上数据类型或使用转换函数
注意:以上转换都是属于临时转换,只有在运算过程中临时转换一下,进行运算操作,其原始数据类型还是不变,如果要永久转换,需要用到一个函数:settype(值1,值2),值1表示需要转换的变量,值2表示需要转换的类型
示例如下:
<?php// 自动转换,偷偷的进行,不需要用户参与$num = 100;$str1 = '100per';$str2 = 'fam200';$bool1 = true;$bool2 = false;$null = null;echo $num + $str1,'<hr>'; // 从字符串第一个字符开始解析,遇到数字取出来,100,相加得200echo $num + $str2,'<hr>'; // 从字符串第一个字符开始解析,没有遇到数字,直接停止,相当于为0echo $num + $bool1,'<hr>'; // 布尔值true,相当于1echo $num + $bool2,'<hr>'; // 布尔值false,相当于0echo $num + $null,'<hr>'; // NULL类型,也相当于0echo $str1.$num,'<hr>'; // .号表示字符串拼接操作,会将100转换为'100'echo $bool1.$bool2,'<hr>';echo $bool1.$str2,'<hr>';// 强制转换 :在变量前加上变量类型或使用转换函数// 此时,没有警告框弹出了,echo $num + (int) $str2,'<hr>';// 类似的,使用转换函数,推荐使用此方法echo $num + intval($str2),'<hr>';// 转换后,虽然能运算,但是数据类型是不变的,还是stringecho gettype($str2),'<hr>';// 永久转换,使用settype()函数,第一个值是变量名,第二个值是变量类型settype($str2,'int');echo gettype($str2);
图片示例:
扩展:
允许转换的PHP数据类型有:
1.(int)、(integer):转换成整型
2.(float)、(double)、(real):转换成浮点型
3.(string):转换成字符串
4.(bool)、(boolean):转换成布尔类型
5.(array):转换成数组
6.(object):转换成对象
PHP数据类型转换函数:
了解了PHP基础组成部分以及PHP变量的一些基本操作,不由的感慨PHP变量的变幻莫测更加利于我们的使用
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号