PHP变量

变量

​ 程序执行期间,可以变化的量即为变量。

声明变量

  • 以美元$ 符号声明

  • 注意:(PHP严格区分大小写)

    • 变量名称以 字母、或下划线开始,后面跟上数字/字母/下划线,不能包含特殊字符

    • 变量名称最好含义明确

    • 变量名最好采用驼峰标记,或下划线法

      • 驼峰

        • 小驼峰 :firstName

        • 大驼峰:FirstName

      • 下划线

        • first_name

可变变量

  • 等量代换

使用变量

  • 直接书写变量的名称

    • $变量名称


PHP数据类型

8种主要数据类型

  • 标量类型 (特点:只能存储单一数据)

    • 整型 int | integer

      • 整数

        • 分类

          • 十进制

          • 八进制

          • 十六进制

        • 存储范围

          • 带符号 (-21亿 到 21亿)

          • 不带符号 (0 到42亿)

          • 超过整型存储范围,会出现溢出现象

    • 浮点型 float | double | real

      • 带小数点

      • 科学计数法 ,e或者 E

      • 注意:

        • 浮点数是有误差的,不要比较两个浮点数的大小

    • 布尔型 bool | boolean

      • true

      • false

    • 字符串型 string 只能存储单一数据

      • 定界符

        • ' ' 不解析变量

        • " " 解析变量

        • heredoc “”

          • <<<名称 
            代码块
            名称;
          • <<<"名称"
            代码块
            名称;
        • nowdoc

      • 转义符

        • \n    换行
          \r     回车
          \t     水平制表符
          \\     \
          \'     '
          \"     "
          \$     $
      • 花括号 {}

        • 可以将PHP中的变量扩成一个整体来解析

          • {$变量名}

          • ${变量名}

        • 可以将字符串中指定字符进行增删改查的操作

          • 字符串的下标 从0开始

          • 根据下标找到对应的字符进行操作

  • 复合类型

    • 数组 array

    • 对象 object

  • 特殊类型

    • 资源 resource

    • 空 null | NULL

5种伪类型

  • number

  • mixed

  • callback

  • void

  • ...

PHP数据类型转换

自动转换(隐式转换)

​ 程序根据上下文自动转换

  • 其他类型转换为数值型

    • true -> 1

    • false -> 0

    • null -> 0

    • 字符串如果以 非法数值开始,直接转换成0

    • 如果字符串以合法数值开始,一直取到第一个非法数值结束

  • 其他类型转换为字符串类型

    • 数值型直接转换成数值本身

    • true -> 1

    • false -> 空字符串

    • null -> 空字符串

    • 数组 -> array

    • 资源 -> resource

    • 对象 不能转换为字符串

  • 其他类型转换成布尔型

    • 0 -> false

    • 0.0 -> false

    • 空字符串 ‘’ 或者"" , ‘0’或者 “0” , -> false

    • null -> false

    • 空数组 -> false

     if (条件) {
        执行条件为真的代码段;
    }else {
        执行条件为假的代码段;
    }

强制转换(显示转换)

  • 临时转换 (不会改变变量本身的类型)

    • (变量类型)$变量名称

      • 整型 (int | integer)$变量名称

      • 浮点型 (float | double | real)$变量名称

      • 字符型 (string)$变量名称

      • 布尔型 (bool | bollean)$变量名称

      • 空 (unset)$变量名称

      • 数组 (array)$变量名称

      • 对象 (object)$变量名称

    • 通过系统函数实现

      • intval

      • floatval

      • ...

  • 永久转换

    • settype($var,$type)
    • gettype($var)
  • 通过变量函数库检查变量的类型

php学习--变量和数据类型的更多相关文章

  1. 学习 JavaScript (三)核心概念:语法、变量、数据类型

    JavaScript 的核心概念主要由语法.变量.数据类型.操作符.语句.函数组成,这篇文章主要讲解的是前面三个,后面三个下一篇文章再讲解. 01 语法 熟悉 JavaScript 历史的人应该都知道 ...

  2. 《JavaScript高级教程》学习笔记一、变量和数据类型

    JavaScript的核心语言特性在ECMA-262中是以名为ECMAScript的伪语言的形式来定义的. 一.变量和数据类型 1. 变量 JavaSript是弱类型语言,可以通过var定义任何类型变 ...

  3. Java学习笔记之——变量与数据类型、运算符

    一.变量 1.变量:变化的值 变量在代码运行期间,开辟了一块空间 .这块空间是有地址的,给这块取了个名字, 这个名字就叫做变量名,这块空间放的东西叫做变量值 2.变量的初始化: (1)先声明再赋值: ...

  4. javascript学习笔记(一):基础、输出、注释、引用、变量、数据类型

    javascript脚本必须位于<script></script>之间,<script>标签可以位于<head>中,也可以位于<body>中 ...

  5. C#学习笔记(二):变量、数据类型和运算符

    变量.数据类型       给变量赋值,如果想指定float,在数字后面加上F/f:如果想指定decimal,在数字后面加上m.   0-9:48-57 A-Z:65-90 a-z:97-122   ...

  6. 大数据学习--day02(标识符、变量、数据类型、类型转换、进制转换、原码反码补码)

    标识符.变量.数据类型.类型转换.进制转换.原码反码补码 标识符: java50个关键字不能做标识符,以数字开头不能做标识符(这个老是忘记写一个类名的时候) 变量: 变量分为成员变量和局部变量,注意作 ...

  7. 前端学习笔记--js概述与基础语法、变量、数据类型、运算符与表达式

    本篇记录js的概述与基础语法.变量.数据类型.运算符与表达式 1.概述与基础语法 2.变量 举例: 3.数据类型 4.运算符与表达式

  8. JavaScript学习10 JS数据类型、强制类型转换和对象属性

    JavaScript学习10 JS数据类型.强制类型转换和对象属性 JavaScript数据类型 JavaScript中有五种原始数据类型:Undefined.Null.Boolean.Number以 ...

  9. 九天学会Java,第一天,变量和数据类型,赋值和输出

    用9天入门三门编程语言,有可能嘛,尤其是对没有基础的同学来说?对于想学好的编程的人来说,无论从哪一门语言开始入手,语言的本身其实并不是我们最应该的关心的,至少不是作为一个初学者首先关心的. 网络上,网 ...

随机推荐

  1. 64. [Mcoi2018]终末之诗(上)

    Description 求出\(k^{k^{k^{k^{...}}}} \pmod p\) 的结果 扩展欧拉定理:\[a^x=a^{min(x,x\%\varphi(p)+\varphi(p))}(m ...

  2. 模拟器配置Burpsuite抓取https包

    在模拟器中设置代理,长按WiredSSID会弹出菜单: 点击修改网络: 显示高级选项打勾,然后设置代理ip,也就是你运行burp的机器ip: 然后导出burp的证书: 设置保存的路径和文件名: 模拟器 ...

  3. kendo ui - DropDownList 下拉列表系列

    kendo-ui 官网:https://www.telerik.com/documentation 初始化 grid: 引入文件: <link rel="stylesheet" ...

  4. 1360: Good Serial Inc.(不知道是什么类型的题)

    1360: Good Serial Inc. Submit Page    Summary    Time Limit: 1 Sec     Memory Limit: 128 Mb     Subm ...

  5. 删除Oracle Online Redo 测试

    删除Oracle Online Redo 测试 SQL> select * from v$log; ​   GROUP#   THREAD# SEQUENCE#     BYTES BLOCKS ...

  6. 《Java 程序设计》实验报告汇总

    <Java 程序设计>实验报告汇总 20145207<Java程序设计>实验一 (Java开发环境的熟悉)实验报告 20145207<Java程序设计>实验二 (J ...

  7. Noip前的大抱佛脚----数据结构

    目录 数据结构 知识点及其应用 线段树 神奇标记 标记不下放 并查集 维护二分图 维护后继位置 堆 可并堆的可持久化 dsu on tree 方式&原理 适用范围 单调队列 尺取合法区间 模板 ...

  8. [NOIp2016]天天爱跑步 线段树合并

    [NOIp2016]天天爱跑步 LG传送门 作为一道被毒瘤出题人们玩坏了的NOIp经典题,我们先不看毒瘤的"动态爱跑步"和"天天爱仙人掌",回归一下本来的味道. ...

  9. [NOI2018]归程 kruskal重构树

    [NOI2018]归程 LG传送门 kruskal重构树模板题. 另一篇文章里有关于kruskal重构树更详细的介绍和更板子的题目. 题意懒得说了,这题的关键在于快速找出从查询的点出发能到达的点(即经 ...

  10. #6472. 「ICPC World Finals 2017」难以置信的任务 Mission Improbable

    可以简化一下问题,假设Patrick把箱子都拿走但是原来有箱子的位置留下一个,现在要放箱子使得每行每列最大值都满足,最少放多少个. 设第\(i\)行的最大值是\(H(i)\),第\(i\)列的是\(W ...