php数据类型

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

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

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

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

  1. <?php $passed = true; echo $passed;?>返回值= 1

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

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

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

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

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

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

数值类型

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

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

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

2.复用类型

数组

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

返回值如下:
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); ?>返回类型: int(1)

字符串类型(string)

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

数组类型(array)

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

可以用数组的方式访问

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

对象类型(object)

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

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

is_int():数值型检测

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

is_string()字符串检测

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

is_bool()检测

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

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

is_array()数组检测

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

is_object()对象型检测

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

特殊: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 ?>这是输出的是: 李四
  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 $name ='admin'; $pwd ='123456'; printf('name = %s, pwd = %s', $GLOBALS['name'], $GLOBALS['pwd']); ?>输出: 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 define('PATH',$_SERVER['SCRIPT_FILENAME']); echo PATH; ?>输出当前脚本的绝对路径: D:/phpstudy_pro/WWW/14php/a/php/view/5.php

2.const 关键字

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

  1. <?php const NATION = '中国'; echo '国籍:' .NATION; ?>输出: 国籍:中国

更多相关文章

  1. 数据类型的转换、变量与常量声明和使用
  2. php常用数组函数以及数组的交集,差集,并集
  3. 数组的排序, 数组的合并, 数组成员的统计
  4. volatile关键字
  5. 示例演示:数据类型的转换和检测技术、变量与常量的方式以及使用
  6. php学习笔记(函数相关_作用域_闭包_回调_多指返回)
  7. 细解php函数
  8. 你应该知道的7 个 JavaScript 原生错误类型
  9. 在 React 中缩放、裁剪和缩放图像

随机推荐

  1. NDK编程实例
  2. Android检测外接USB设备的几种方法
  3. Android apk逆向实战
  4. Android基于TextView属性android:ellipsi
  5. 修改android 默认设置
  6. android平板上的GridView视图缓存优化
  7. android拍照后bitmap显示问题
  8. android animation动画
  9. Android消息机制——Handler、Looper、Me
  10. Android实现ImageView图片双击放大及缩小