PHP基础内容汇总(第二章)
NULL类型
表示一个变量没有值。NULL类型唯一可能的值就是NULL
<?php
var_dump( $a ); // 1.变量没有声明 返回 NULL
$b; var_dump( $b ); // 2.变量没有被赋值 返回 NULL $c = 10;
unset( $c ); var_dump( $c ); // 3.变量被销毁 返回 NULL
$d = null; var_dump( $d ); // 4.变量被赋值为null 返回 NULL
?>
is_null() ,用来判断变量是否为空,如果是返回true,否则返回false。//你放进来的变量是null类型。
unset(变量名)销毁变量
1.变量的实质是内存空间的一块存储区域.
2.PHP代码结束时,所有变量常量都会自动销毁
3.变量不再使用时, 手动提前销毁, 可以及时释放宝贵的内存空间
变量是否有定义 isset( 变量名 )
1) 变量未声明, 未赋值
2) 变量的值为 null
上面两种情况返回 false , 其他情况返回 true
变量是否为空 empty( 变量名 )
为空返回 true 不为空返回 false
为空的情况有 0 '' '0' false 空数组 null
变量的类型转换
php属性于弱类型语言, 变量的类型取决于它存放的数据, 数据类型改变了,变量的类型也就变了.
自动类型转换
<?php
if ( 变量或表达式 ){
小括号中为true时, 执行这里 // 小括号中的内容 会被自动转换为布尔型的 true 或 false
}
?>
大多数情况下,会被转换为true, 转换为 false 的情况有:
1) 布尔值 false
2) 整数 0
3) 浮点数 0.0
4) 字串串 "" 和 "0"
5) 变量没有赋值或未定义
6) 空数组
7) NULL
其它情况为 true (真)
四则运算会把两边的内容自动转化为数值
<?php
echo '123' + '2ab'; // 123 + 2 = 125
echo '' + 5; // 0 + 5 = 5 echo true + false; // 1 + 0 = 1
echo '12e2ab' + 77; // 1200 + 77 = 1277 (注意)
?>
强制类型转换
gettype( 变量名 ) 获取变量的类型
settype( 变量名, 类型字符串 ) 设置变量的新类型
$a = (int)$b; 把$b的数据读取出来, 转化为 int 类型, 赋值给 $a, 注意, $b 没有改变.
可变变量 (不重要)
变量名前再加$. 变量名还是一个变量.
<?php
$a = 'b';
$b = 'xxoo'; echo $$a; // 相当于 echo $($a) => echo $b 所以输出 xxoo 这就是可变变量
?>
引用变量
<?php
$a = 100;
$b = &$a; // $b 和 $a 将代表同一个容器, 所以改变$b的值, $a也就改变了
// & 称为取地址符
unset($a);
echo $b; // 销毁互为引用关系变量中的一个变量, 另一个仍然有效
// 销毁 $a 只是不让$a代表容器了, 容器本身还在, 还由$b代表
?>
常量
定义赋值后, 存放的数据不能被修改、覆盖,也不能被销毁。
define( '常量名', 值);
常量可以参加运算.
常量名区分大小写, 习惯上用大写
<?php
echo xxoo; // 没有单引号,也没有双引号, 系统会尝试把它理解为一个常量
echo $arr[abc] // 方括号中没有引号, 系统也会尝试理解为常量
?>
defined('常量名') 判断一个常量是否存在.
系统常量
PHP_VERSION php程序的版本
PHP_OS php解析器的操作系统
__LINE__ 获得当前的行号
__FILE__ 文件的完整路径和文件名
__DIR__ 文件所在的目录
运算符
算术运算符
<?php
$a = 6; $b = 4;
echo $a + $b; // 加 10
echo $a - $b; // 减 2
echo $a * $b; // 乘 24
echo $a / $b; // 除 1.5
echo $a % $b; // 求模取余数 2 余数的符号和被除数一致
?>
自增运算 $a++ ++$a (不重要)
<?php
$a = 5;
$a++; // 相当于 $a = $a + 1;
echo $a; // 6
$a = 5;
echo $a++; // 5 相当于 1) echo $a; 2) $a=$a+1; 先取值, 再自加
$a = 5;
echo ++$a; // 6 相当于 1) $a=$a+1; 2) echo $a; 先自加, 再取值
?>
自减运算 $a-- --$a (不重要)
<?php
$a = 5;
$a--; // 相当于 $a = $a - 1;
echo $a; // 4
$a = 5;
echo $a--; // 5 相当于 1)
echo $a; 2) $a=$a-1; 先取值, 再自减
$a = 5;
echo --$a; // 4 相当于 1) $a=$a-1 2)
echo $a; 先自减, 再取值
?>
对于布尔型变量, 自增自减都是原来的值
单个字符时, 会变成下一个字符
<?php
$a = 'a';
$a++;
echo $a; // 'b'
?>
赋值运算符
$a = 5; 把 5 赋值给 $a
$a += 5; 相当于 $a = $a + 5;
$a -= 5; 相当于 $a = $a - 5;
$a *= 5; 相当于 $a = $a * 5;
$a /= 5; 相当于 $a = $a / 5;
$a %= 5; 相当于 $a = $a % 5;
$a = 'abc';
$a .= 'def'; 相当于 $a = $a.'def'; abcdef
比较运算符
比较运算符, 最后的结果为布尔型. > 大于
< 小于
>= 大于等于
<= 小于等于
== 用来判断是否相等. 值相等就可以
=== 用来判断是否全等, 要求类型相等, 值也要相等. 二者缺一不可
!= 不等于
!== 不全等于. 值不相等, 或者类型不相等
逻辑运算符
逻辑运算符,最后的结果为布尔型
&& 逻辑与 符号两边同时为 true 结果就为true, 否则为 false
|| 逻辑或 符号两边只要一边为 true 结果就为 true. 仅当两边同时为 false 时, 结果才为 false
! 逻辑非 将值取反, 原来的 true 变成 false ,原来的 false 变成 true
xor 逻辑异或 符号两边不相同的时候, 结果为 true 两边相同的时候为false
短路
或短路 当 || 左边的表达式为真时, 结果肯定为真, 所以 || 右边的表达式就不执行了
<?php
$a = 3;
$b = 5;
$c = $a<6 || ($b=7);
// $a<6 为真, 就代表着 等号右边一定为真, $b=7 就不会被执行 这称为 逻辑或短路
?>
与短路 当 && 左边的表达式为假时, 结果肯定为假, 所以 && 后边的表达式就不执行了
<?php
$a = 3;
$b = 5;
$c = $a>6 && ($b=7); // $a>6 为假, 就代表着 等号右边肯定为假, $b=7 就不会被执行 这称为 逻辑与短路
?>
三元运算符
$a = 表达式1 ? 表达式2 : 表达式3;
1) 表达式1 为真时, 把 表达式2 的值赋值给 $a
2) 表达式1 为假时, 把 表达式3 的值赋值给 $a
其它运算符
@ 错误抑制符 在发生错误的代码前加上@, 页面上就不会显示错误信息了
`` 执行命令符 ` 系统自带命令 `; 通过这种形式可以执行系统自带的命令
- 深度解析dba_segments和sys.seg$中的细节差异(上) (r5笔记第27天)
- 【大牛经验】26种语言输出HelloWord
- 深度解析dba_segments和sys.seg$中的细节差异(下) (r5笔记第28天)
- Linux命令(面试+工作版)
- 纠结的paste格式问题(未解决) (r5笔记第26天)
- 由MySQL中的falcon存储引擎引申的八卦杂谈(r5笔记第23天)
- 12.观察者/状态模式
- 数据补丁中需要注意的几个问题(r5笔记第21天)
- 简单对比MySQL和Oracle中的一个sql解析细节 (r5笔记第40天)
- 关于Oracle和MySQL中的无密码登录 (r5笔记第39天)
- 快速定位隐蔽的sql性能问题及调优(r5笔记第38天)
- 关于统计信息过期的性能落差(r5笔记第36天)
- 系统级alias vs Oracle ADR功能(r5笔记第35天)
- 关于收缩数据文件的尝试(r5笔记第34天)
- php概述
- php教程
- php环境搭建
- PHP书写格式
- php变量
- php常量
- PHP注释
- php数组
- php字符串 string
- PHP整型 integer
- PHP浮点型 float
- php布尔型
- php数据类型之数组
- php数据类型之对象
- php数据类型之null
- php数据类型之间的转换
- php运算符
- php表达式
- PHP循环控制
- PHP流程控制
- php函数
- php全局变量
- PHP魔术变量
- php命名空间
- php 日期
- PHP包含文件
- php文件
- PHP 文件上传
- php Cookies
- php Sessions
- php email
- php安全email
- php错误处理
- PHP异常处理
- php过滤器
- PHP 高级过滤器
- php json
- php 表单
- PHP MySQL 简介
- PHP 连接 MySQL
- php创建数据库
- php 创建表
- php mysq 插入数据
- PHP MySQL 插入多条数据
- PHP MySQL 预处理语句
- php mysql 读取数据
- php mysql where
- PHP MySQL Order By
- PHP MySQL Update
- PHP MySQL Delete
- php ODBC
- SpringBoot中集成jwt实现前后端分离的token验证机制
- 大数相加
- Hexo+Gitee pages搭建个人博客
- ubuntu设置定时任务的三种方法
- Centos7 离线安装MySQL
- springboot 事务,多张表的操作事务回滚
- 移动硬盘显示盘符但是打不开,提示加密
- GORM V2 模型定义、约定、标签
- 字符串:简单的反转还不够!
- TypeScript 实战算法系列(七):实现图的遍历
- 63. Vue MUI的基本使用
- 初学web自动化测试--笔记1
- R语言作图——Line plot with error
- Python自学成才之路 玩转虚拟环境
- 基于腾讯云的 Rust 和 WebAssembly 函数即服务