PHP基础知识复习:变量、赋值与类型转换
需积分: 9 193 浏览量
更新于2024-09-12
1
收藏 65KB TXT 举报
"php资料复习题"
PHP是一种广泛使用的开源脚本语言,特别是在Web开发领域中。这份资料涵盖了PHP的关键知识点,包括变量操作、可变变量、赋值方式、引用与拷贝的区别、基本数据类型以及类型转换等核心概念。
1. 变量定义与检查:
在PHP中,变量以$符号开头,例如 `$var = 'value'`。要检查变量是否定义,可以使用`isset()`函数,它返回`true`如果变量已设置并非`null`。若要删除一个变量,使用`unset()`函数。`empty()`函数用于判断一个变量是否为空,如果变量存在且其值等价于`false`,则返回`true`。
2. 可变变量:
可变变量允许动态地创建和使用变量名。例如,`$a = 'hello'; $$a = 'world';` 创建了新变量`$hello`,其值为`'world'`。另外,`${$a} = 'helloworld';` 使用变量`$a`的值作为新变量名。
3. 变量赋值方式:
- 直接赋值:`$var = value;`
- 变量间赋值:`$var1 = $var2;`
- 引用赋值:`$var1 =& $var2;` 这使得`$var1`和`$var2`指向同一内存位置。
4. 引用与拷贝的区别:
- 拷贝:`$var2 = $var1;` 创建了`$var1`的一个副本,两者独立。
- 引用:`$var2 =& $var1;` `var1`和`var2`共享同一内存空间,修改其中一个会影响到另一个。
5. PHP的基本数据类型:
PHP支持以下8种原始数据类型:
- 布尔型(boolean)
- 整型(integer)
- 浮点型(float/double)
- 字符串(string)
- 数组(array)
- 对象(object)
- 资源(resource)
- NULL
6. 类型转换为boolean的情况:
当其他类型转换为boolean时,以下情况被认为是`false`:
- 布尔值`false`
- 整型值`0`
- 浮点型值`0.0`
- 空白字符串
- 字符串`'0'`
- 空数组`array()`
- NULL
- 没有属性的对象
- 未赋值的变量
7. 未初始化的变量$a:
- `$a == 0`:不一定,取决于PHP的版本和配置。
- `$a == false`:不一定,取决于PHP的版本和配置。
- `$a == ''`:不一定,取决于PHP的版本和配置。
- `$a == NULL`:在PHP中,未初始化的变量默认为`NULL`。
- `$a === NULL`:在比较中,`===`表示严格相等,所以如果变量未初始化,此判断为`true`。
- `empty($b) == true`:如果变量$b未定义或等价于`false`,返回`true`。
- `echo $a++`:未初始化的变量自增会先返回`NULL`,然后增加值。
- `echo ++$a`:预先增加变量值,因此先将`NULL`转换为`0`,然后增加,返回`1`。
8. 字符串转整数的方法:
- 强制类型转换:`(int)$str` 或 `(integer)$str`。
- `settype($str, 'integer')`:将变量`$str`的类型设置为整型。
- `intval($str)`:返回字符串的整数值,可以指定基数。
- `strval()`:如果字符串仅包含数字,它可能可以被当作整数处理,但不是直接转换。
通过这份复习资料,你可以深入理解PHP的基础概念,并准备应对相关的编程练习或考试。学习这些知识点有助于提升你的PHP编程能力。
2015-08-19 上传
2018-03-16 上传
2021-01-08 上传
2021-09-06 上传
点击了解资源详情
2021-11-23 上传
2008-06-29 上传
小入门
- 粉丝: 11
- 资源: 28
最新资源
- Angular程序高效加载与展示海量Excel数据技巧
- Argos客户端开发流程及Vue配置指南
- 基于源码的PHP Webshell审查工具介绍
- Mina任务部署Rpush教程与实践指南
- 密歇根大学主题新标签页壁纸与多功能扩展
- Golang编程入门:基础代码学习教程
- Aplysia吸引子分析MATLAB代码套件解读
- 程序性竞争问题解决实践指南
- lyra: Rust语言实现的特征提取POC功能
- Chrome扩展:NBA全明星新标签壁纸
- 探索通用Lisp用户空间文件系统clufs_0.7
- dheap: Haxe实现的高效D-ary堆算法
- 利用BladeRF实现简易VNA频率响应分析工具
- 深度解析Amazon SQS在C#中的应用实践
- 正义联盟计划管理系统:udemy-heroes-demo-09
- JavaScript语法jsonpointer替代实现介绍