博客列表 >PHP 数据类型的转换与检测|变量声明方式与使用|常量声明的方式与使用

PHP 数据类型的转换与检测|变量声明方式与使用|常量声明的方式与使用

幸福敲门的博客
幸福敲门的博客原创
2021年01月27日 09:42:16831浏览

PHP 数据类型的转换与检测|变量声明方式与使用|常量声明的方式与使用

  1. 数据类型的转换与检测技术,实例演示;
  2. 变量声明与常用声明的方式与使用,实例演示

一、 数据类型的转换与检测技术

数据类型的转换

序号 转换方式 函数
1 临时转换 (int),(string),(array),(object)…
2 自动转换 根据操作符对操作数的类型要求进行
3 强制转换 settype()

1.1数据类型的临时转换|强制转换

  1. <?php
  2. //临时转换(int) 数据转换成整型
  3. $a= '996';
  4. echo gettype((int)$a);
  5. echo '<br>';
  6. //临时转换(string)数据转换成字符串
  7. $b= '996';
  8. echo gettype((string)$b);
  9. echo '<br>';
  10. //临时转换(array) 数据转换成数组
  11. $c= '996';
  12. echo gettype((array)$c);
  13. echo '<br>';
  14. //强制转换settype()关键字
  15. $y = 98.36;
  16. $y1 = settype($y, 'int');
  17. var_dump($y);

图示:
数据类型的临时转换|强制转换
1.2数据类型的自动转换

  1. <?php
  2. // 每一种操作符,它要求的操作数类型是固定的,如果
  3. echo 996 + '666';
  4. echo '<br>';
  5. // "+"要求参与计算的数据都是数值类型,如果不是,
  6. echo 996 + (int)'666';
  7. echo '<br>';
  8. echo 996+ 'baidu666';
  9. echo '<br>';
  10. echo (int)'baidu666';
  11. echo 996 + '666baidu';
  12. echo '<br>';
  13. // ".", 希望二边都是字符串,如果不是就转换
  14. echo 'baidu' . 996 . '<br>';
  15. // 等价于
  16. echo 'baidu' . (string)996 . '<br>';
  17. // 最常用的是布尔转换
  18. if (!$name) echo '没定义姓名';
  19. // $email 未定义,NULL
  20. var_dump($name);
  21. // null ==> false
  22. echo var_export((bool)null);
  23. echo '<hr>';
  24. 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大小写敏感

二、变量和常量

2.1变量

变量知多少
变量就是代码中需要暂存的数据
变量按名访问
变量名必须是一个合法的标识符
合法标识符
仅允许使用: 英文字母(a-z,A-Z),数字(0-9),下
禁止使用数字开头
标识符有二类
预定义的: 保留字, 关键字,class, public
自定义

变量的命名:
  1. 驼峰式: $itemPrice,变量,对象的属性和方法, getUser()
  2. 蛇形: set_public(),函数
  3. 帕斯卡: 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变量变量声明方式与使用

  1. <?php
  2. //1. 变量声明
  3. //变量除了要满足以上的要求外,还有特殊性
  4. //1. 变量必须要用"$"为前缀: $name
  5. //2. 严格区分大小写
  6. $userName = '西门大官人';
  7. $username = '龙门客栈';
  8. echo $userName, ', ', $username, '<br>';
  9. // 函数不区分大小写
  10. function good($name)
  11. {
  12. return 'Good ' . $name;
  13. }
  14. echo good('黄蓉'),'<br>';
  15. echo GOOD('郭靖'),'<br>';

图示:
变量声明

2.3变量赋值|可变变量|默认值传递|引用赋值

  1. <?php
  2. // 变量赋值
  3. $color = 'green';
  4. echo gettype($color), '<br>';
  5. // $color = '$' . 'color';
  6. $y = 'sites';
  7. // $sites = 'baidu百度';
  8. $$y = 'baidu百度';
  9. // $$url: 可变变量,变量标识符来自另外一个变量
  10. echo $y . ' => ' . $$y . '<br>';
  11. echo $y . ' => ' . $sites . '<br>';
  12. // 默认是"值传递"
  13. $price1 = 996;
  14. $price2 = $price1;
  15. printf('price1 = %d, price2 = %d<br>', $price1, $price2);
  16. $price1 = 333;
  17. printf('price1 = %d, price2 = %d<br>', $price1, $price2);
  18. echo '<hr>';
  19. // 引用赋值
  20. $price1 = 996;
  21. // $price2 =& $price1;
  22. $price2 = &$price1;
  23. // 引用赋值其实就是给原始变量起一个别名,并未创建新变量
  24. printf('price1 = %d, price2 = %d<br>', $price1, $price2);
  25. $price1 = 333;
  26. printf('price1 = %d, price2 = %d<br>', $price1, $price2);

变量赋值|可变变量|默认值传递|引用赋值

2.4常量声明方式与使用

常量
是固定的值,一旦创建不可更新,不可删除
常量不是变量,前面不要加” $ “
常量推荐全部大写,多个单词之间用下划线连接常量推荐全部大写,多个单词之间用下划线连接

函数

  1. <?php
  2. // 1.函数
  3. define('MADE', '中国');
  4. echo MADE;

常量
const 只支持字面量,不允许表达式

  1. <?php
  2. const BAIDU = 'www.baidu.com';
  3. echo BAIDU;

图示:
const 只支持字面量

  1. <?php
  2. //define()在运行阶段才创建常量
  3. //if(),function ()
  4. function a() {
  5. define('BEAUTIFUL', 'girl');
  6. }
  7. a();
  8. echo BEAUTIFUL;
  9. echo'<hr>';
  10. if (true) {
  11. define('MADE', '中国');
  12. }
  13. echo MADE;

图示:
define()创建常量

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议