批改状态:合格
老师批语:
- 数据类型的转换与检测技术,实例演示;
- 变量声明与常用声明的方式与使用,实例演示
数据类型的转换
| 序号 | 转换方式 | 函数 |
|---|---|---|
| 1 | 临时转换 | (int),(string),(array),(object)… |
| 2 | 自动转换 | 根据操作符对操作数的类型要求进行 |
| 3 | 强制转换 | settype() |
1.1数据类型的临时转换|强制转换
<?php//临时转换(int) 数据转换成整型$a= '996';echo gettype((int)$a);echo '<br>';//临时转换(string)数据转换成字符串$b= '996';echo gettype((string)$b);echo '<br>';//临时转换(array) 数据转换成数组$c= '996';echo gettype((array)$c);echo '<br>';//强制转换settype()关键字$y = 98.36;$y1 = settype($y, 'int');var_dump($y);
图示:
1.2数据类型的自动转换
<?php// 每一种操作符,它要求的操作数类型是固定的,如果echo 996 + '666';echo '<br>';// "+"要求参与计算的数据都是数值类型,如果不是,echo 996 + (int)'666';echo '<br>';echo 996+ 'baidu666';echo '<br>';echo (int)'baidu666';echo 996 + '666baidu';echo '<br>';// ".", 希望二边都是字符串,如果不是就转换echo 'baidu' . 996 . '<br>';// 等价于echo 'baidu' . (string)996 . '<br>';// 最常用的是布尔转换if (!$name) echo '没定义姓名';// $email 未定义,NULLvar_dump($name);// null ==> falseecho var_export((bool)null);echo '<hr>';if (!isset($name)) echo '没定义姓名';
图示:
1.2检测技术
| 序号 | 转换方式 | 函数 |
|---|---|---|
| 1 | 标量 | is_int(),is_string(),is_bool()… |
| 2 | 复合 | is_array(),is_object() |
| 3 | 特殊 | is_null(),is_resource() |
isset(): //变量是否已经声明
empty(): //变量是否为空
defined(): //常量是否已经定义 define()
array_key_exists(mixed key, array search): //检查给定的键名或索引是否存在于数组中
is_numeric ( mixed var ): //检测变量是 否为数字或数字字符串
is_bool(): // 检测变量是否是布尔型
is_float(): // 检测变量是否是浮点型 和is_double,is_real()都一样的用法
is_int(): // 检测变量是否是整数is_integer() 一样的 用法
is_string(): // 检测变量是否是字符串
is_object(): // 检测变量是否是一个对象
is_array(): // 检测变量是否是数组
is_null(): // 检测变量是否为 NULL 值是否是NULL大小写敏感
变量知多少
变量就是代码中需要暂存的数据
变量按名访问
变量名必须是一个合法的标识符
合法标识符
仅允许使用: 英文字母(a-z,A-Z),数字(0-9),下
禁止使用数字开头
标识符有二类
预定义的: 保留字, 关键字,class, public
自定义
- 驼峰式: $itemPrice,变量,对象的属性和方法, getUser()
- 蛇形: set_public(),函数
- 帕斯卡: UserModel, 类,与驼峰式很像,所以也叫: 大驼峰
超全局变量: 数组,任何地方都可以访问,不受作用域限制
$GLOBALS: 引用全局作用域中可用的全部变量
$_SERVER: 服务器和执行环境信息
$_GET :通过 URL 参数(又叫 query string)传递给当前脚本的变量的数组
$_POST:当 HTTP POST 请求的 Content-Type 是 application/x-www-form-urlencoded 或 multipart/form-data 时,会将变量以关联数组形式传入当前脚本
$_FILES:通过 HTTP POST 方式上传到当前脚本的项目的数组
$_COOKIE:通过 HTTP Cookies 方式传递给当前脚本的变量的数组
$_SESSION:当前脚本可用 SESSION 变量的数组
$_REQUEST: 默认情况下包含了 $_GET,$_POST 和 $_COOKIE 的数组
超全局变量: 数组,任何地方都可以访问,不受作用域限制
$GLOBALS: 引用全局作用域中可用的全部变量
$_SERVER: 服务器和执行环境信息
$_GET :通过 URL 参数(又叫 query string)传递给当前脚本的变量的数组
$_POST:当 HTTP POST 请求的 Content-Type 是 application/x-www-form-urlencoded 或 multipart/form-data 时,会将变量以关联数组形式传入当前脚本
$_FILES:通过 HTTP POST 方式上传到当前脚本的项目的数组
$_COOKIE:通过 HTTP Cookies 方式传递给当前脚本的变量的数组
$_SESSION:当前脚本可用 SESSION 变量的数组
$_REQUEST: 默认情况下包含了 $_GET,$_POST 和 $_COOKIE 的数组
$_ENV: 通过环境方式传递给当前脚本的变量的数组$_ENV: 通过环境方式传递给当前脚本的变量的数组
2.2变量变量声明方式与使用
<?php//1. 变量声明//变量除了要满足以上的要求外,还有特殊性//1. 变量必须要用"$"为前缀: $name//2. 严格区分大小写$userName = '西门大官人';$username = '龙门客栈';echo $userName, ', ', $username, '<br>';// 函数不区分大小写function good($name){return 'Good ' . $name;}echo good('黄蓉'),'<br>';echo GOOD('郭靖'),'<br>';
图示:
2.3变量赋值|可变变量|默认值传递|引用赋值
<?php// 变量赋值$color = 'green';echo gettype($color), '<br>';// $color = '$' . 'color';$y = 'sites';// $sites = 'baidu百度';$$y = 'baidu百度';// $$url: 可变变量,变量标识符来自另外一个变量echo $y . ' => ' . $$y . '<br>';echo $y . ' => ' . $sites . '<br>';// 默认是"值传递"$price1 = 996;$price2 = $price1;printf('price1 = %d, price2 = %d<br>', $price1, $price2);$price1 = 333;printf('price1 = %d, price2 = %d<br>', $price1, $price2);echo '<hr>';// 引用赋值$price1 = 996;// $price2 =& $price1;$price2 = &$price1;// 引用赋值其实就是给原始变量起一个别名,并未创建新变量printf('price1 = %d, price2 = %d<br>', $price1, $price2);$price1 = 333;printf('price1 = %d, price2 = %d<br>', $price1, $price2);

2.4常量声明方式与使用
常量
是固定的值,一旦创建不可更新,不可删除
常量不是变量,前面不要加” $ “
常量推荐全部大写,多个单词之间用下划线连接常量推荐全部大写,多个单词之间用下划线连接
函数
<?php// 1.函数define('MADE', '中国');echo MADE;

const 只支持字面量,不允许表达式
<?phpconst BAIDU = 'www.baidu.com';echo BAIDU;
图示:
<?php//define()在运行阶段才创建常量//if(),function ()function a() {define('BEAUTIFUL', 'girl');}a();echo BEAUTIFUL;echo'<hr>';if (true) {define('MADE', '中国');}echo MADE;
图示:
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号