Correcting teacher:天蓬老师
Correction status:qualified
Teacher's comments:你这是落下了多少作业
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;//打印成功返回1
echo '<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,相加得200
echo $num + $str2,'<hr>'; // 从字符串第一个字符开始解析,没有遇到数字,直接停止,相当于为0
echo $num + $bool1,'<hr>'; // 布尔值true,相当于1
echo $num + $bool2,'<hr>'; // 布尔值false,相当于0
echo $num + $null,'<hr>'; // NULL类型,也相当于0
echo $str1.$num,'<hr>'; // .号表示字符串拼接操作,会将100转换为'100'
echo $bool1.$bool2,'<hr>';
echo $bool1.$str2,'<hr>';
// 强制转换 :在变量前加上变量类型或使用转换函数
// 此时,没有警告框弹出了,
echo $num + (int) $str2,'<hr>';
// 类似的,使用转换函数,推荐使用此方法
echo $num + intval($str2),'<hr>';
// 转换后,虽然能运算,但是数据类型是不变的,还是string
echo 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变量的变幻莫测更加利于我们的使用