使用引用变量foreach数组,未unset问题
foreach数组是引用传递变量,未unset导致再次foreach末尾元素值被覆盖 https://www.cnblogs.com/sunshineliulu/p/12853531.html
in_array严格检查问题(PHP8之前)
bool in_array ( mixed $needle , array $haystack [, bool $strict = FALSE ] ) 在 haystack 中搜索 needle,如果第三个参数 strict 的值为 true,则 in_array 函数还会检查 needle 的 类型 是否和 haystack 中的相同。
<?php
$arr = [0, 1];
$a = '1test';
if (in_array($a, $arr)) {
echo true;
} else {
echo false;
}
// 输出结果
// true
PHP浮点数计算精度丢失问题
使用PHP官方推荐BCMath库进行计算
在内部,BCMath库将每个数字作为字符串处理,其中每个字符代表数字的一位。这样,数字的大小不再受到浮点数或整数类型的限制
https://blog.csdn.net/qq_25123887/article/details/128233993
PHP的强等是===,Golang的强等是==
https://www.php.net/manual/zh/language.operators.comparison.php
Fatal error、Exception、Throwable
- Throwable是最顶层的接口,包含了所有的错误和异常。
- Exception是Throwable的一个子类,专门用于表示程序中的常规异常情况。
- Fatal Error原本是一种独立于异常之外的严重错误类型,但在PHP7及以后的版本中,很多致命错误被重新分类为实现了Throwable接口的特殊异常(如FatalErrorException),从而使得它们也可以被捕获和处理。