PHP中的浮点精度和类型-编程思维

PHP中的浮点数 浮点数精度 在PHP中,浮点数的字长和平台相关,通常最大值是 1.8e308 并具有 14 位十进制数字的精度(64 位 IEEE 格式)。 浮点数的精度有限。尽管取决于系统,PHP 通常使用 IEEE 754 双精度格式,则由于取整而导致的最大相对误差为 1.11e-16。非基本数学运算可能会给出更大误差,并且要考虑到进行复合运算时的误差传递。 此外,以十进制能够精确表示的有

深度剖析PHP序列化和反序列化-编程思维

序列化 序列化格式 在PHP中,序列化用于存储或传递 PHP 的值的过程中,同时不丢失其类型和结构。 序列化函数原型如下: string serialize ( mixed $value ) 先看下面的例子: class CC { public $data; private $pass; public function __construct($data, $pass) { $t

Medoo - 轻量级php数据库框架-编程思维

Medoo,轻量级的PHP数据库框架, 提高开发效率! 安装 $ composer require catfan/Medoo 使用 // 如果你使用php的依赖安装。可以使用以下方法自动载入 require 'vendor/autoload.php'; // 或者将你下载的medoo文件拷贝到你相应的目录,然后载入即可 require_once 'medoo.php'; // 初始化配

PHP冒泡排序-编程思维

1 /* 2 * @param bubbleSort() 冒泡排序 3 * @param $arr 排序的数组 4 * @param $stmp 定义临时变量 5 * @return $arr 返回数组 6 * @author 65420278@qq.com 7 */ 8 function bubbleSort($arr){ 9

ThinkPHP V6.0.12在php8.1下验证码出现问题-编程思维

一、问题描述 1、项目需求要求使用PHP8.1.*版本 2、运行程序发现验证码不生效报错如下: 二、错误描述 1、报错信息得出:从浮点(数字)到整数的隐式转换将失去精度 三、解决流程 1、找到报错文件位置 vendor\topthink\think-captcha\src\Captcha.php line 309 2、发现是第309行报错,将代码改成以下内容(也可直接替换) /**

ThinkPHP ApiDoc - 基于 ThinkPHP 的API接口开发工具-编程思维

ThinkPHP ApiDoc 基于 ThinkPHP 的API接口开发工具 🤷‍♀️ Apidoc是什么? 如今,前后端分离的开发模式以必不可少,基于ThinkPHP可以很方便的作为Api接口的开发。可是一个Api开发过程中需要快速调试,开发完成后需要给其它开发者对接等,这时一个功能全面的Api文档工具,就显得特别重要。 大多数开发者可能都是通过各种工具

Laravel 5.6: Specified key was too long error-编程思维

Laravel 5.6: Specified key was too long error 在Laravel执行以下命令: php artisan migrate 这是由于Laravel5.6设置了数据库默认编码,现在的编码默认为“utf8mb4”(支持emoji),   开始查看了官网是这么说的: “applications and as long as you are running

docker 灵活的构建 php 环境-编程思维

地址: https://github.com/ydtg1993/server           使用docker搭建灵活的线上php环境 有时候你可能不太需要一些别人已经集成了的包或者镜像         我们就可以使用以下方式自己动手逐一构建自己所需要的环境结构 并在最后实现一键自动化部署         一步一步点亮docker技能树                          

linux fork进程请谨慎多个进程/线程共享一个 socket连接,会出现多个进程响应串联的情况。-编程思维

昨天组内同学在使用php父子进程模式的时候遇到了一个比较诡异的问题 简单说来就是:因为fork,父子进程共享了一个redis连接、然后父子进程在发送了各自的redis请求分别获取到了对方的响应体。   复现示例代码: testFork.php 1 <?php 2 require_once("./PowerSpawn.php"); 3 4 $ps = n