php 变量的 8 种数据类型?
1.标量类型之布尔型 boolean
- 布尔型的值只有两个:false(假)和 true(真)。且 false 的为 0,true 的为 1
2.标量类型之整型 int
- 就是数字
3.标量类型之字符串 string
- 可以是字母,字母加数字
4.标量类型之浮点型 float
- 带小数点的
5.复合类型之数组
- 带[1,2,3,4,]的,之间用,分割,
- 索引数组:下标为整型的数组
- 关联数组: 下标为字符串的数组
- 数组的访问
echo $arr[4]下标访问
echo $info[‘字符串’]下标名访问
6.复合类型之对象
- 类 实例化的结果,分类
7.特殊类型之 null
- 表示一个变量没有值 空,null 可以为空,但空不是 null
- 不表示空格 空字符串 零
不区分大小写 NULL
- 声明一个变量为空
$int = null;
- unset 释放变量
unset($username);
8.特殊类型之 resource
- 资源类型 保存到外部资源的一个引用
$handle = fopen(‘log.txt’,’w’); 打开一个文件
php 变量类型的转换
1.强制类型转换(临时) 应用于 url query string parameter
- echo gettype((int)$p);
- 分页数据必须是整型 才能计算偏移量 offset
2.系统自动转换变量类型
- 在加上其他变量时会自动转换变量类型
3.永久转换变量类型
- settype($p,’integer’);
如何定义 php 常量, 实例演绎 php 变量与常量的区别?
1.变量:代码中需要暂存的数据载体 可以复用 按名访问 命名前加$
变量赋值
1.传值赋值 将源变量$a的值 复制出来一份新的值内存空间地址给另一个变量$b,修改两个变量的值 互不影响
$a = 45;
$b = $a;
printf(‘$a 的值为%d,$b的值为%d’,$a,$b);
$a = 450;
printf(‘$a的值为%d,$b 的值为%d’,$a,$b);
结果会变的 450.45
1.引用赋值 & 地址引用符 : 不存在复制操作 引用赋值更加快捷
$a = 45;
$b = $a;
printf(‘$a 的值为%d,$b的值为%d’,$a,$b);
$a = 450;
printf(‘$a的值为%d,$b 的值为%d’,$a,$b);
结果一样是 450.450
变量的检测与释放
1.isset()检测变量是否被定义 存在并且不为 null 返回 true, 否则返回 false
var_dump(isset($pwd));
if(isset($pwd))
{
echo ‘用户密码填写了’;
}
2.empty()检测一个变量是否为空, 为空才返回 true 不为空返回 false
$username = ‘admin’;
var_dump(empty($username));
if(isset($username) && !empty($username))
{
echo ‘用户名存在’;
}
3.unset() 释放掉的变量 变为空
$a = 45;
$b = $a;
printf(‘$a 的值为%d,$b的值为%d’,$a,$b);
$a = 450;
printf(‘$a的值为%d,$b 的值为%d’,$a,$b);
结果一样是 450.450
2.常量:固定值 ,常量不能被重新定义 不能被取消 命名前不能加$ 常量的命名推荐全部大写
定义常量
1.// define()
define(‘NATION’,’China’);
2.const 关键字 字面量
const USER_NOT_EXSIT = ‘用户不存在’;
echo json_encode([‘msg’=>USER_NOT_EXSIT],320); 不写 320 会显示不出来,必须写
printf(‘国籍:%s’,NATION);
3.类常量只能用 const 关键字声明
class User{
const APP_PATH = “/www/phpwork”;
}
4.常量必须初始化赋值
$height;
const GENDER = ‘黑’; ‘’里要有定义
变量作用域
- 函数体外声明的变量的全局变量
$one = 200;
$two = 300;
function add(int $a,int $b):string
{
return $a+$b;
}
var_dump(add($one,$two));
ob_clean();
function add1()
{
$a = 10;
$b = 11;
echo ($a+$b);
}
add1();
echo $a;//Undefined variable $a 非法访问 在函数外部不能访问函数内部定义的局部变量 s
名词解释
1. php 打印
- echo ‘显示’ 输出内容到浏览器 没有返回值
- print ‘打印’ 有返回值 可用于三元运算符中
- var_dump() 可以返回变量的完整信息
- print_r() 原样输出,打印输出数组, 第二个参数设置为 true 可以将变量的信息转换成字符串,不输出到浏览器,只是返回,通常用于线上调试
2. 清空以上输出浏览器的内容
- ob_clean();
3. 输出到日志文件
- file_put_contents(‘log.txt’,’调错信息:’.$res); /// 调错信息:是自己写的,$res 是字符串,.是拼接符
4. PHP 错误抑制符
- @ 屏蔽 PHP 的错误提示
5. PHP 占位符
- % PHP 的占位符
6. PHP 主要错误类型
- 1.注意(Notices)
- 2.警告(Warnings)
- 3.致命错误(Fatal errors)
- 4.错误种类
E_ERROR:通常会显示出来,也会终端程序执行
E_WARNING:通常都会显示出来,但不会中断程序的执行。
E_NOTICE:在脚本正常运行下发生的代码错误。
E_PARSE:语法解析错误。
E_CORE_ERROR:在 PHP 启动时发生的致命错误。
E_CORE_WARNING:报告在 PHP 启动时发生的非致命性错误。
E_COMPILE_ERROR:编译时发生的致命错误,指出脚本的错误。
E_USER_ERROR:用户产生的错误信息。
E_USER_WARNING:用户产生的警告信息。
E_USER_NOTICE:用户引发的注意消息。
E_STRICT:编码标准化警告,运行时发生的错误。
E_RECOVERABLE_ERROR:接近致命的运行时错误,若未被捕获则视同 E_ERROR。
E_ALL:捕获所有的错误和警告。