Blogger Information
Blog 41
fans 0
comment 0
visits 40997
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
PHP 数据类型的转换与检测|变量声明方式与使用|常量声明的方式与使用
幸福敲门的博客
Original
828 people have browsed it

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()创建常量

Correcting teacher:天蓬老师天蓬老师

Correction status:qualified

Teacher's comments:
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post