0702作业
一、PHP的组成
1.php程序是运行在服务端的,终端不能看到过程和代码,只能看到php返回的结果
2.他以<php开头,以?>结尾
3.代码
中间执行代码语句的结束;代码段{}
function 函数名(形参) {
return 返回结果给调用者;
}
4.注释:
单行注释://单行注释
多行注释:/ *多行注释*/
#注释也能兼容,但是php中不太常用
5.执行和输出
// 执行,将执行结果打印输出
二、输出打印的几种方法
代码 | 功能 |
---|---|
echo | 回显,效率最高,且没有返回值 。可以同时打印多个变量 ,可以输出html标签,前端自动解析 |
打印,有返回值,成功打印就是1,不可以打印多个变量(多个需要用.连接成一个字符串) | |
print_r() | 以人性化的方式打印数据,支持第二个参数,true表示不直接打印,而返回终端字符串,例:$str=print_r($arr,true) |
var_dump() | 获取到变量完整的信息 ;类型(长度)值 |
var_export() | 返回一个变量的字符串表示(即源代码) |
. | 连接字符串 |
三、变量命名和类型
1.变量是临时存储数据的容器
2.变量是实现数据复用的手段
3.变量标识符:$开始,仅允许字母,下划线和数字,且不允许数字开始
变量名必须以$符开头
变量标识符不允许用数字开始
变量名不允许使用特殊字符,如@,#等
变量只允许字母和下划线_开始
中文可以用作变量名,但不推荐使用
变量名建议尽量使用语义化的,可以望文生义
注意:变量区分大小写;但函数名是不区分大小写的
$myname='admin';
$MyName='abc';
// 变量区分大小写
echo $myname, '<br>', $MyName, '<hr>';
四、变量的动态特征:变量的类型可以随着值面变化
<?php
// 变量的动态: 是指变量的类型可以随值而变化
$str = 666;
var_dump($str);
//同样的变量名,第一次输出的是数字int类型
echo '<hr>';
$str = '文本';
var_dump($str);
//同样的变量名,第二次输出的是string类型
?>
五、变量的传递
变量有值传递和引用传递二种方式赋值
1.值传递,默认的方式
2.引用传递
在等号的右边/右值前面加上&(取地址符)
// 2. 引用传递
$str1 = '标记1';
// 在等号的右边/右值前面加上&(取地址符)
// 当前保存的并不是$str1的值, 而是$str1变量在内存中的地址,就像拿到的是房号的钥匙,而不是具体房间内的物品
$str2 = &$str1;
// 更新str2
$str2 = '标记2更新';
// 查看str11, 会发现str11与str2同步更新了
echo 'str1 = ' . $str1 . '<hr>';
只要更新str1,str2会同步更新
六、可变变量-变量名可以动态创建
代码 | 功能 |
---|---|
isset() | 变量检测,如果该变量存在且值不为null才是true,才行 |
unset() | 删除变量。没有返回值 |
empty() | 判断是否为空,’’,常常用于验证表单数据 |
<?php
$user = 'gameMaster';
// 动态创建可变变量
$$user = '游戏管理员';
echo $user; //输出字符串 gameMaster
echo '<hr>';
echo $gameMaster; //输出 "游戏管理员"的值,变量名$gameMaster不是手动定义的,$gameMaster通过$$user动态创建的
?>
七、变量的检测与删除
<?php
// 打开所有的报错
error_reporting(E_ALL);
// 变量检测
$name = 'admin';
// isset():如果该变量存在且值不为null才是true
if (isset($name)) {
echo $name . '<br>';
} else {
echo '没有定义' . $name . '<hr>';
}
// unset():删除变量, 没有返回值
unset($name);
?>
八、数据类型
1、基本类型
(1)字符串
$name= '伤害值';
(2)数字
$num= 1000;
(3)布尔(true,false)
$status = false;
2.复合类型
(1)对象
$obj = new stdClass;
对象是属性和方法的无序集合
$obj->name = ‘网站管理员’;
echo $obj->name,’<hr>‘;
(2)数组
$arr =['a','b','v',5];
$str = print_r($arr,true);
echo '<pre>'.$str.'</pre>'
基本类型:标量,单值
复合类型:多值
3.特殊类型
(1)NULL
(2)文件资源类型 resource
$f = fopen('xxx.csv','r');
(3)数据库连接的对象
九、变量的类型转换
1.自动转换:由php系统悄悄进行的,不需要用户主动参与
null在算数运算中自动转为0
true在算数运算中自动转为1
false在算数运算中自动转为0
数字开头的字符串,截取至第一个非数字的字符前的数字参与运行,第一个不是数字的就报错
.加数字,将数字转为字符
2.强制转换(int)(string)
echo (int)$e + 10,'<br>'
推荐使用(intval) (strval)的函数
echo (intval)$e + 20 ,'<br>'
以上都是临时转换,原始类型并未转变
永久转换
:
settype($f,'string');
echo gettype($f);