PHP基础知识复习:变量、赋值与类型转换
需积分: 9 30 浏览量
更新于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 上传
点击了解资源详情
2008-07-07 上传
2021-10-11 上传
小入门
- 粉丝: 11
- 资源: 28
最新资源
- 探索数据转换实验平台在设备装置中的应用
- 使用git-log-to-tikz.py将Git日志转换为TIKZ图形
- 小栗子源码2.9.3版本发布
- 使用Tinder-Hack-Client实现Tinder API交互
- Android Studio新模板:个性化Material Design导航抽屉
- React API分页模块:数据获取与页面管理
- C语言实现顺序表的动态分配方法
- 光催化分解水产氢固溶体催化剂制备技术揭秘
- VS2013环境下tinyxml库的32位与64位编译指南
- 网易云歌词情感分析系统实现与架构
- React应用展示GitHub用户详细信息及项目分析
- LayUI2.1.6帮助文档API功能详解
- 全栈开发实现的chatgpt应用可打包小程序/H5/App
- C++实现顺序表的动态内存分配技术
- Java制作水果格斗游戏:策略与随机性的结合
- 基于若依框架的后台管理系统开发实例解析