问题标签 [php-8.1]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
757 浏览

php - PHP 8.1 中从不返回的类型

PHP 8.1 引入了never返回类型,它是什么?never和和有什么区别void

0 投票
2 回答
5172 浏览

php - 不推荐使用常量 FILTER_SANITIZE_STRING

我已经安装了 PHP 8.1,并开始测试我的旧项目。我FILTER_SANITIZE_STRING像这样使用过滤器:

现在我得到这个错误:

不推荐使用:不推荐使用常量 FILTER_SANITIZE_STRING

当我使用时也会发生同样的情况FILTER_SANITIZE_STRIPPED

不推荐使用:不推荐使用常量 FILTER_SANITIZE_STRIPPED

我可以用什么代替它?

0 投票
1 回答
506 浏览

php - 如何修复 phpMyAdmin 致命错误:未捕获的 TypeError:mb_strtolower() 期望参数 1 为字符串

PhpMyAdmin 在执行查询时导致错误:

两个查询都抛出错误

错误:

致命错误:未捕获的 TypeError:mb_strtolower() 期望参数 1 为字符串,/Applications/XAMPP/xamppfiles/phpmyadmin/libraries/classes/Display/Results.php:3095 中给出的 null 堆栈跟踪:#0 /Applications/XAMPP/xamppfiles /phpmyadmin/libraries/classes/Display/Results.php(3095): mb_strtolower(NULL) #1 /Applications/XAMPP/xamppfiles/phpmyadmin/libraries/classes/Display/Results.php(2772): PhpMyAdmin\Display\Results- >getRowInfoForSpecialLinks(Array, Array) #2 /Applications/XAMPP/xamppfiles/phpmyadmin/libraries/classes/Display/Results.php(2613): PhpMyAdmin\Display\Results->getRowValues(Object(mysqli_result), Array, 0, Array , Array, '', Array, 'SELECT * FROM u...', Array) #3 /Applications/XAMPP/xamppfiles/phpmyadmin/libraries/classes/Display/Results.php(4219): PhpMyAdmin\Display\Results- >getTableBody(对象(mysqli_result),数组,数组,数组,假)#4 /Applications/XAMPP/xamppfiles/phpmyadmin/libraries/classes/Sql.php(1364):PhpMyAdmin\Display\Results->getTable(对象(mysqli_result),数组,数组,假) #5 /Applications/XAMPP/xamppfiles/phpmyadmin/libraries/classes/Display/Results.php 中的应用程序,第 3095 行

我已经尝试过这个问题的答案

我的 phpmyadmin 版本也是最新的 5.1.1

在此处输入图像描述

错误是什么意思以及如何解决?

0 投票
3 回答
390 浏览

php - 如何在 PHP 中获取枚举的所有值?

PHP 8.1 即将发布,包括对枚举的支持。我正在测试一些枚举功能,但找不到太多关于它的文档。因此我的问题是:如何获得枚举的所有值?

0 投票
1 回答
93 浏览

php - 通过纯枚举实现 JsonSerializable

根据 PHP 手册

如果将 Pure Enum 序列化为 JSON,则会引发错误。如果支持的枚举被序列化为 JSON,它将仅由其值标量以适当的类型表示。通过实现 JsonSerializable 可以覆盖两者的行为

让我们尝试实现JsonSerializable

它打印:

为什么[1,2,3,4]重复4次?

如何enum在序列化过程中控制每个案例?

0 投票
1 回答
185 浏览

floating-point - PHP 8 浮点小数点不同于 PHP 7

我将一些会计脚本升级到 PHP 8.1,但是浮点数不正确。

我循环了一些交易借方/贷方,余额为 0 但是最后当我尝试比较为零时,它不适用于 == 0 和 === 0

经过几次调试,我发现:

返回浮点数(261.79999999999995)

PHP 7 中的同一行返回 float(261.8)

这可以很容易地使用这个沙箱进行测试

所以我想知道是否可以在我的 PHP 配置中更改任何设置,以确保我获得与以前相同的浮动结果,而不必在数百个脚本的每个阶段都进行汇总?

0 投票
3 回答
1600 浏览

php - 更新到 PHP 8.1 RC5 后 PHP 无法正常工作

将 PHP 7.4 更新到 PHP 8.1 RC5 后,PHP 已停止在我的机器上运行并产生以下错误:

PHP 警告:PHP 启动:^(text/|application/xhtml+xml) (offset=0): Unrecognized compile-time option bit(s) in Unknown on line 0

即使我要求 php 版本,它也会产生错误:

操作系统:Ubuntu 20.04

使用此存储库更新:

你知道可能是什么问题吗?

0 投票
1 回答
119 浏览

php - 如何使用 PDO 将数据提取到具有枚举属性的类中?

由于枚举功能是在 PHP8.1 中发布的,我想知道如何使用 PDO 从我的数据库中获取数据到具有 ENUM 属性的对象中。

我有以下枚举:

我有以下课程:

每次我尝试执行下面的代码时,我都会收到错误Cannot assign int to property User::$userType of type UserType

我想知道是否有办法使上面的代码工作,或者在我的代码中实现新枚举功能的最佳方法是什么。

我的 fetchObject 代码:

0 投票
0 回答
96 浏览

jwt - jwt 没有安装并给我这个错误任何解决方案?

└─$ composer require tymon/jwt-auth 对 tymon/jwt-auth 使用 ^0.5.12 版本 ./composer.json 已更新 运行 composer update tymon/jwt-auth 使用包信息加载 composer 存储库 更新依赖项 您的要求无法被解析为一组可安装的软件包。

问题 1 - 根 composer.json 需要 tymon/jwt-auth ^0.5.12 -> 可由 tymon/jwt-auth[0.5.12] 满足。- tymon/jwt-auth 0.5.12 需要照明/支持 ~5.0 -> 找到照明/支持 [v5.0.0, ..., 5.8.x-dev] 但这些没有加载,可能是因为它与另一个要求冲突。

安装失败,正在将 ./composer.json 和 ./composer.lock 还原为其原始内容。

0 投票
0 回答
28 浏览

forms - Symfony 5 ChoiceType 表单值不像往常一样默认

问题
我有一个带有 symfony 的选择类型表单,只是改变了选择列表的方式,我们至少有一个元素被禁用。

这是我们模板中的选项列表:

在此处输入图像描述

但是现在发生的事情是 symfony 不再使用这些值,而是使用从 0 开始的计数......

我修复了它

在我的修复 FE 看起来像之前(这对我们来说是一个问题):

在此处输入图像描述

在我修复之后,它应该是(这是正确的 - 查看值):

在此处输入图像描述

问题

但它是这样的意思吗?为什么常规键值对不再起作用?由于禁用了 html 标签,Symfony 有什么魔力吗?

提前谢谢,弯曲