PHP - 遇到的Bug - 总结

BUG记录1

问题 除数为0,不符合规则

问题描述

php 复制代码
// 报错信息
DivisionByZeroError:is thrown when an attempt is made to divide a number by zero.

// example
public class Example
{
   public static void Main()
   {
      int number1 = 3000;
      int number2 = 0;
      try {
         Console.WriteLine(number1 / number2);
      }
      catch (DivideByZeroException) {
         Console.WriteLine("Division of {0} by zero.", number1);
      }
   }
}

解决方法 运行前判断 如果除数为0,则不要计算

链接


BUG记录2

问题 参数不符合

问题描述

php 复制代码
参数要求是数组,实际却是字符串
implode(): Argument #1 ($pieces) must be of type array, string given in implode()

// 出错前代码
$variables['classes'] = implode(' ', $variables['classes_array']);

// 修改方法
if(is_array($variables['classes_array']))
{
$variables['classes'] = implode(' ', $variables['classes_array']);
}
else if (is_string($variables['classes_array']))
{
$variables['classes'] = implode(' ', (array)$variables['classes_array']);
// 等价于
$variables['classes'] = explode(' ', $variables['classes_array']);
}

解决方法 运行前判断参数类型

链接 讲解


相关推荐
苦瓜花3 分钟前
【Android】三大动画的实践
android
Mars-xq9 分钟前
VSCode 开发 Android 时,类、方法无法跳转
android·ide·vscode
2601_9617666439 分钟前
【分享】Resprite安卓版|专业像素绘画,游戏美术创作工具
android·游戏美术
Mars-xq1 小时前
VSCode 开发Android 新手必装插件清单
android·ide·vscode
Wonderful U1 小时前
Python+Django实战|社区物业管理系统:业主档案、车位管理、物业费收缴、线上报修、投诉建议、园区公告、日常巡检
android·python·django
三少爷的鞋2 小时前
现代 Android 官方为什么更推荐 Repository 暴露 `suspend fun`,而不是在内部 `launch`
android
81250353312 小时前
第 9 篇:子网掩码:如何划分“小区”
开发语言·php
我叫黑大帅12 小时前
通过php 中的Route:: 的写法了解什么是静态类调用
后端·面试·php
黄林晴13 小时前
Google Play 发版链路全面重构:合规前置、审核自动化、生态全面收紧
android·google
通玄15 小时前
Jetpack Compose 入门系列(四):动画基本使用
android