PHP数据类型

简介: PHP中总共是4中标量类型、4种复合类型、2种特殊类型


本文是复习所写,并不会涵盖一些基础知识点

PHP中总共是4中标量类型、4种复合类型、2种特殊类型

标量类型

  1. bool
  2. int
    GMP, GNU Multiple Precision, 用于处理任意长度整数
    BC Math, 任意精度数学, 提供了加、减、乘、除、余等操作函数
  3. float

<?php

$a=1.23;

$b=1.2e3;

$c=7E-10;

$d=1_324.33; // 从PHP7.4.0开始支持

  1. 浮点运算可能会产生NAN, 不代表任何值,所以不能跟任何值比较,包括自身。基于此PHP专门提供了is_nan()函数来检查是否是NAN
    浮点数比较得话有两种方式:

<?php

// 第一种,使用BC Math函数 推荐

$a=231.222;

$b=231.22222;

bccomp($a, $b);

 

// 第二种,与机器极小值比较

$epsilon=0.0001;

if (abs($a-$b) <$epsilon) {

   echo'两数相等';

}

  1. string

<?php

/*

* 单引号

* 最纯净的string,不会解析变量与特殊字符

* ' \ 在单引号string中有特殊作用,要想输出这两个字符需要在前面用 \ 转义一下

*/

$a='字符串';

$b='字\'符串';

$c='字符\\串';

 

/*

* 双引号

* 最重要的就是会解析变量

*/

$d="这是双引号{$a}";

 

/*

* Heredoc结构

* 以<<<加标识符换行开始,换行以标识符结束.开头标识符双单引号可省略

* 规则跟双引号字符串一致

*/

$g='c';

$e=<<<"Eof"

这是Heredoc{$a}

这是Heredoc${$g}

Eof;

 

/*

* Nowdoc结构

* 以<<<加标识符换行开始,换行以标识符结束.开头标识符必需使用单引号

* 规则跟单引号字符串一致

*/

$f=<<<'Eof'

这是Nowdoc字符串

Eof;

  1. PHP并没有明确指明string的编码,因此string会被按照源码文件的编码来编码, 推荐使用UTF8-BOM编码
    对于多字节字符串需要使用多字节字符串函数来处理,即mb_开头的函数
    字符串可以通过下标来操作

复合类型

  1. array
    PHP中的array实际上是一个有序映射. 它可以被视为数组、列表(向量)、哈希表、字典、集合、堆栈、队列等
    array_merge($arr1, $arr2)同名字符串key arr2将会覆盖arr1;$arr1+$arr2同名字符串key arr1覆盖arr2
    纯数字key数组合并会重建索引,字符串数字混合key则不会
  2. object
  3. callable
  4. iterable  PHP7.1 新增
    指的是array或实现了Traversable接口的对象, 标识是可以使用foreach迭代
    使用array、实现Traversable接口、生成器都可创建可迭代对象

特殊类型

  1. resource
  2. null

PHP是动态类型语言,所以变量类型是在运行时根据上下文决定的。当然也可以通过显示/隐式的方式转换数据类型


目录
相关文章
|
2月前
|
数据采集 JSON JavaScript
如何通过PHP爬虫模拟表单提交,抓取隐藏数据
本文介绍了如何使用PHP模拟表单提交并结合代理IP技术抓取京东商品的实时名称和价格,特别是在电商大促期间的数据采集需求。通过cURL发送POST请求,设置User-Agent和Cookie,使用代理IP绕过限制,解析返回数据,展示了完整代码示例。
如何通过PHP爬虫模拟表单提交,抓取隐藏数据
|
2月前
|
缓存 NoSQL PHP
Redis作为PHP缓存解决方案的优势、实现方式及注意事项。Redis凭借其高性能、丰富的数据结构、数据持久化和分布式支持等特点,在提升应用响应速度和处理能力方面表现突出
本文深入探讨了Redis作为PHP缓存解决方案的优势、实现方式及注意事项。Redis凭借其高性能、丰富的数据结构、数据持久化和分布式支持等特点,在提升应用响应速度和处理能力方面表现突出。文章还介绍了Redis在页面缓存、数据缓存和会话缓存等应用场景中的使用,并强调了缓存数据一致性、过期时间设置、容量控制和安全问题的重要性。
46 5
|
2月前
|
XML 前端开发 JavaScript
PHP与Ajax在Web开发中的交互技术。PHP作为服务器端脚本语言,处理数据和业务逻辑
本文深入探讨了PHP与Ajax在Web开发中的交互技术。PHP作为服务器端脚本语言,处理数据和业务逻辑;Ajax则通过异步请求实现页面无刷新更新。文中详细介绍了两者的工作原理、数据传输格式选择、具体实现方法及实际应用案例,如实时数据更新、表单验证与提交、动态加载内容等。同时,针对跨域问题、数据安全与性能优化提出了建议。总结指出,PHP与Ajax的结合能显著提升Web应用的效率和用户体验。
60 3
|
2月前
|
存储 SQL 数据处理
PHP中如何高效地处理大规模数据的排序?
在PHP中处理大规模数据排序时,选择合适的方法至关重要。对于内存内可以处理的数据,可以直接使用PHP内置排序函数;对于超出内存限制的数据,可以考虑分块处理、外部排序或利用数据库的排序功能。根据具体应用场景和数据规模,选择最佳的排序策略,确保排序操作高效且稳定。
29 2
|
2月前
|
关系型数据库 MySQL 数据库连接
13 PHP数据的获取
路老师在知乎上分享了PHP语言的知识,帮助大家入门和深入理解PHP。本文介绍了从结果集中获取一行数据作为对象(`mysqli_fetch_object()`)、获取一行作为枚举数组(`mysqli_fetch_row()`)、获取查询结果集中的记录数(`mysqli_num_rows()`)、释放内存(`mysqli_free_result()`)以及关闭数据库连接(`mysqli_close()`)的方法,并提供了具体示例代码。
38 3
|
2月前
|
JSON 缓存 前端开发
PHP如何高效地处理JSON数据:从编码到解码
在现代Web开发中,JSON已成为数据交换的标准格式。本文探讨了PHP如何高效处理JSON数据,包括编码和解码的过程。通过简化数据结构、使用优化选项、缓存机制及合理设置解码参数等方法,可以显著提升JSON处理的性能,确保系统快速稳定运行。
|
5月前
|
数据采集 PHP
PHP中实现简单爬虫与数据解析
【8月更文挑战第31天】在互联网的海洋里,爬虫技术如同一艘探索船,帮助我们搜集和理解信息。本文将带你通过PHP语言,轻松实现一个简单的网页内容抓取工具,并展示如何从抓取的数据中解析出有用信息。我们将一起航行在代码的波浪中,体验从无到有构建一个基本爬虫的过程。
|
5月前
|
数据采集 JavaScript 数据挖掘
如何使用 PHP Simple HTML DOM Parser 轻松获取网页中的特定数据
本文介绍了使用PHP Simple HTML DOM Parser进行网页数据抓取的方法,尤其适用于从懂车帝二手车网站提取汽车品牌、价格和里程等关键信息。首先,安装并配置所需库,使用代理IP和设置cookie与useragent来模拟用户行为,避免被封。然后,通过编写PHP脚本,利用cURL获取网页内容,解析HTML并提取所需数据,最终将数据保存至CSV文件。文章强调了正确配置代理和用户代理的重要性,并提供了完整的PHP代码示例,以帮助读者理解和应用网页抓取技术。
如何使用 PHP Simple HTML DOM Parser 轻松获取网页中的特定数据
|
6月前
|
前端开发 PHP 数据格式
【附带效果视频】php接口给前端返回流式数据,php使用event-stream进行数据推送,循环一次输出一次
【附带效果视频】php接口给前端返回流式数据,php使用event-stream进行数据推送,循环一次输出一次
222 0
|
7月前
|
存储 PHP
php处理带emoji表情的字符数据
php处理带emoji表情的字符数据
35 0