博客列表 >0126-数据类型的转换与检测技术,变量与常用声明及使用

0126-数据类型的转换与检测技术,变量与常用声明及使用

世纪天城
世纪天城原创
2021年02月01日 21:09:21684浏览

php数据类型

tips: 为什么纯php文档,禁止写结束标签
tips: 变量声明规则
必须以”$”为变量名前缀
变量名必须是一个合法的标识符: 英文字母,数字,下划线,且禁止数字开头
合法: $name, $num1, $_id
非法: $user@name, $123abc, $my-email,

数据类型
是数据运算的基本要求,不同类型的数据运算无意义
php数据类型分为三大类: 基本类型,复合类型, 特殊类型

  1. 基本类型
    布尔类型, 字符串, 数值(整数,浮点数)

布尔类型:
有两个返回值true = 1 , false = 0

  1. <?php
  2. $passed = true;
  3. echo $passed;
  4. ?>
  5. 返回值= 1

gettype() 函数用于获取变量的类型。

  1. <?php
  2. echo gettype($passed);
  3. ?>
  4. 返回值= boolean

var_export() 函数用于输出或返回一个变量,以字符串形式表示。

  1. <?php
  2. $passed = '123';
  3. $res = var_export($passed, true);
  4. echo $res;
  5. ?>
  6. 返回值= '123'类型 string

var_dump()可以同时输出变量的值与类型,还可以像echo 一样同时打印多个
var_dump()只用于开发环境,不能用于生产环境

  1. <?php
  2. $passed = '123';
  3. var_dump($passed);
  4. ?>
  5. 返回值= string(3) "123"

数值类型

  1. <?php
  2. $age = 30;
  3. $salary = 4567.89;
  4. var_dump($age);
  5. var_dump($salary); ?>
  6. 返回值= int(30) float(4567.89)

字符串类型:必须要使用”单引号”或”双引号”做为定界符

  1. <?php
  2. $email = "admin@php.cn";
  3. echo '邮箱: ', $email;
  4. ?>
  5. 返回值=email: 邮箱: admin@php.cn

2.复用类型

数组

  1. <?php
  2. // 数组
  3. $res = [1,'admin','123456'];
  4. // 数组索引默认从0开始进行递增
  5. echo 'id = ', $res[0];
  6. echo 'name = ', $res[1];
  7. echo 'pwd = ', $res[2];
  8. ?>

返回值如下:
id = 1
name = admin
pwd = 123456
$res= ‘admin’

对象

写个容器将上面的代码单元进行封装,这个容器就是:对象
使用对象的本质是代码复用
对象模板: 类

  1. <?php class a {
  2. // 变量=>属性
  3. private $a = 1;
  4. private $b = 2;
  5. // 函数 => 方法
  6. public function sum() {
  7. return $this->a . ' + ' . $this->b . ' = ' . ($this->a + $this->b);
  8. }
  9. }
  10. $obj = new a();
  11. echo $obj->sum();
  12. ?>

返回值如下: 1 + 2 = 3

检测技术

临时转换:(int),(string),(array),(object)
自动转换:根据操作符对操作数的类型要求进行
强制转换: settype()
数值类型(int)

  1. <?php $id =1; var_dump((int)$id); ?>
  2. 返回类型: int(1)

字符串类型(string)

  1. <?php $name = 123; var_dump((string)$name); ?>
  2. 返回类型: string(3) "123"

数组类型(array)

  1. <?php $name = '123'; var_dump((array)$name); ?>
  2. 返回类型: array(1) { [0]=> string(1) "3" }

可以用数组的方式访问

  1. <?php $name = '123'; var_dump((array)$name[2]); ?>
  2. 返回类型: array(1) { [0]=> string(1) "3" }

对象类型(object)

  1. <?php $obj = new class{ }; var_dump((object)$obj); ?>
  2. 返回类型: object(class@anonymous)#1 (0) { }

类型检测
标量:is_int(),is_string(),is_bool()
标量:理解为”单值”,例如: 100, ‘php’, true

is_int():数值型检测

  1. <?php $id = 123; echo is_int($id)?'数值型':'不是数值型'; ?>
  2. 返回: 数值型

is_string()字符串检测

  1. <?php $name = 'php'; echo is_string($name)?'字符串型':'不是字符串型'; ?>返回: 字符串型

is_bool()检测

  1. <?php echo is_bool(true); ?>
  2. 返回: 布尔型

复合:数组和对象is_array(),is_object()

is_array()数组检测

  1. <?php $arr = [1,2,3]; echo is_array($arr)?'数组类型':'不是数组型'; ?>
  2. 返回: 数组类型

is_object()对象型检测

  1. <?php $obj = new class{}; echo is_object($obj)?'对象型':'不是对象'; ?>
  2. 返回: 对象型

特殊:is_null(),is_resource()

is_scalar(): 检测变量类型是否是标量
标量: 理解为”单值”, 100, ‘php’, true
不是标量: [1,2,3], new class{}

  1. <?php var_export(is_scalar(1)); ?> true

变量与常用

仅允许使用: 英文字母(a-z,A-Z),数字(0-9),下划线(_)或他们的组合 不允许使用数字开头 必须使用”$”美元符为前缀 严格区分大小写 驼峰命名法

  1. 变量声明

变量除了要满足以上的要求外,还有特殊性
变量必须要用”$”为前缀例如: $name
严格区分大小写例如:$name 与 $NAME这就是完全是两个不同的变量

  1. 变量赋值

    1. $color = 'red';

    引用赋值

引用赋值其实就是给原始变量起一个别名,并未创建新变量
只需在变量前加上&就可以了

  1. <?php $name = '张三'; $name1 = &$name; $name ='李四'; echo $name1 ?>
  2. 这是输出的是: 李四
  1. 预定义变量

超全局变量: 数组,任何地方都可以访问,不受作用域限制
$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: 通过环境方式传递给当前脚本的变量的数组

$GLOBALS超全局变量使用方法

  1. <?php
  2. $name ='admin';
  3. $pwd ='123456';
  4. printf('name = %s, pwd = %s', $GLOBALS['name'], $GLOBALS['pwd']);
  5. ?>
  6. 输出: name = admin, pwd = 123456

$_SERVER: 服务器和执行环境信息

‘IP: ‘. $_SERVER[‘REMOTE_ADDR’];
‘浏览器: ‘. $_SERVER[‘HTTP_USER_AGENT’];
‘脚本绝对路径 = ‘. $_SERVER[‘SCRIPT_FILENAME’];
‘脚本相对路径 = ‘. $_SERVER[‘SCRIPT_NAME’];
‘当前脚本名称 = ‘. $_SERVER[‘PHP_SELF’];
‘查询字符串 : ‘. $_SERVER[‘QUERY_STRING’];
‘PATH_INFO = ‘. $_SERVER[‘PATH_INFO’];
‘URI: ‘ . $_SERVER[‘REQUEST_URI’];
$_GET[‘id’];
$_POST[‘name’];

常量
用 define(): 函数;和 const: 关键字;来定义常量

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

1.define()函数

  1. <?php
  2. define('PATH',$_SERVER['SCRIPT_FILENAME']);
  3. echo PATH; ?>
  4. 输出当前脚本的绝对路径: D:/phpstudy_pro/WWW/14php/a/php/view/5.php

2.const 关键字

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

  1. <?php
  2. const NATION = '中国';
  3. echo '国籍:' .NATION;
  4. ?>
  5. 输出: 国籍:中国
声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议