作业内容:
1、php变量的8种数据类型?
php中的变量类型8种数据类型,其中4种标量类型(布尔型boolean、整型int、字符串string,浮点型float),2种复合类型(数组,对象),2种特殊类型(null,resource【资源类型】)
整型int=100,字符串string=admin,浮点型=22.53,布尔bool=true/false
数组:
索引数组$arr = [1,2,3,4];
关联数组$info = ['uname'=>'yyruci','email'=>'326280@qq.com',age'=>28,'gender'=>0];
对象,类实例化的结果
null 1、表示一个变量没有值 空,2、不表示空格 空字符串 0,3、不区分大小写null NUL
resource 资源类型,外部资源的引用
2. php变量类型的转换?
强制类型转换,属于临时转换
$page = (int)$_GET[page];
array数组转成字符串数组
$uid = 25;
var_dump((array)$uid,((array)$uid)[0]);
两个不同类型的变量进行运算时,系统会自动转换变量类型
布尔类型转换,没有定义变量内容,输出为null,null会自动转换为false,
gettype((int)$p); 临时转换变量为字符串
settype()永久转换变量类型
3. 如何定义php常量, 实例演绎php变量与常量的区别?
定义常量:可以采用define(),const这两个函数
define('常量名 ','值');
const 常量名 值
变量与常量最大的区别就是变量需要使用 $ 美元符,而常量则不使用
附:上课时记的笔记(非复制老师的,随堂听课记的)
PHP打印输出
1、echo ‘显示’输出内容到浏览器
2、print '打印' 有返回值,可用于三元计算符的运算
3、var_dump() 可返回变量的完整信息,比较全能的输出命令
4、print_r() 打印输出数组,第二个参数设置为true,可以将变量的信息转换成字符串,不输出到浏览器,只是返回,通常用与线上调试
var_dump和print_r都可以输出数组,前者输出比较全
echo输出连接字条串用.点号,字条串需要用''引号
数组 复合类型,不能直接用echo直接输出,用var_dump()或print_r()输出
ob_clean(); 清除缓冲,清除以上的内容
<pre>标签 原样输出
file_put_contents输出到文件
---
php中的变量类型8种数据类型
其中4种标量类型(布尔型boolean、整型int、字符串string,浮点型float),2种复合类型(数组,对象),2种特殊类型(null,resource【资源类型】)
整型int=100,字符串string=admin,浮点型=22.53,布尔bool=true
索引数组:下标为整型的数组
数组:$arr = [1,2,3,4]; //索引键值对数据的集合
关联数组:下标为字符串的数组
$info = ['uname'=>'yyruci','email'=>'326280@qq.com',‘age'=>28,'gender'=>0];
数组的访问
echo $arr[4];
echo $info['email'];
对象,类实例化的结果
null 1、表示一个变量没有值 空,2、不表示空格 空字符串 0,3、不区分大小写null NULL
@错误抑制符,强制不显示错误
resource 资源类型,保存到外部资源的一个引用
fopen('log.txt','w');打开外部log.txt文件
---
强制类型转换,属于临时转换,应用于url,query,string,parameter类型转换(翻页)
$_GET[page] 转递浏览器地址page传递的参数
分页数据必须是整形,才能计算偏移量 offset,这样才好确定从数据库中从第几条取数据
$page = (int)$_GET[page];
===三个等号代表严格等与
array数组 转成字符串数组
$uid = 25;
var_dump((array)$uid,((array)$uid)[0]);
两个不同类型的变量进行运算时,系统会自动转换变量类型
null在运算时会自动转为整型
字符串的拼接用.点号
布尔类型转换
没有定义变量内容,输出为null
null会自动转换为false
gettype() 查询变量类型
echo gettype((int)$p); 临时转换变量为字符串
settype()永久转换变量类型
---
变量的命名规则
1、变量名要望文生义
2、变量名不能以数字开头,可以字母或下划线_开头,后面跟上字母、数字、下划线_
3、变量区分大小写,函数不区分大小写
4、多个单词用驼峰法命名
变量是代码中用于储存需要暂存的数据载体,可以复用,按名称访问。
sha1散列值,类似MD5
变量赋值
1、传值赋值
将源变量的值复制一份新的值内存空间地址给另一个变量,修改两个变量的值互不影响
2、引用赋值&
&叫地址引用符,不存在复制操作,通过引用赋值比传值赋值要快,新变量是引用或指向了原始变量(空间地址),互相影响,所以更加快捷
%d代表输出的占位符整型 %s为字符串占位符
变量的检测与释放
isset()检测变量是否被定义或存在,存在并且不为null返回true,否则返回false
empty() 【安普提】检测变量是否为空(不是noll),为空才返回true,不为空返回false
unset() 释放掉的变量 变为空
-----------------------
常量
1、固定值,常量不能被重新定义,不能被取消
2、常量的命名不能加$
3、常量的命名推荐全部大写,多个单词可以用_下划线连接
4、php全局成员:常量 函数 类 接口 (页面级,不受作用域的限制的量)
变量不是全局成员,严格受作用域的限制
定义常量:define(),const,
define('常量名 ','值');
define('COUNTRY','China');
echo COUNTRY;
//const 常量名 值
const USER_NOT_EXSIT = '用户不存在';
echo json_encode(['msg'=>USER_NOT_EXSIT],320);//320代表不编译中文
printf('国家:%s',COUNTRY);
//类里面的常量不能用define,只能用const关键字声明
class User{
const APP_PATH = "/www/webroot";
}
//常量必须初始化赋值
$height
const GENDER = "女";
变量作用域
$one = 200;
$two = 300;
function add(int $a,int $b):string;
{
return $a+$b;
}
var_dump(add($one,$two));
函数体外声名的变量是全局变量
在函数外部不能访问函数内部定义的变量
function add1();
{
$a = 10;
$b = 11;
echo ($a+$b);
}
add1();
echo $a;//这句则无法访问到变量a,