-
端口被占导致Swoole启动报“Addressalreadyinuse”错误,根本原因是操作系统禁止重复绑定IP+端口;应先用netstat/ss(Linux)或netstat+tasklist(Windows)定位并kill对应PID进程,或稳妥更换为1024–49151间未占用端口。
-
PHP整型变量本身不限制范围,靠手动校验PHP的int类型由底层平台决定(通常是32或64位),语言层不提供“声明时限定取值区间”的语法。所谓“限制范围”,本质是运行时对输入值做条件判断和拦截——不是类型系统的事,是业务逻辑的事。常见错误现象:filter_var($x,FILTER_VALIDATE_INT,['options'=>['min_range'=>1,'max_range'=>100]])返回false,但开发者误以为这是类型定义失败,其实它只是校验失败;还有人用cas
-
递归通过函数自调用实现重复任务,循环则在同作用域内反复执行代码块。1、递归每次调用创建新栈帧,内存开销大,易导致栈溢出;循环仅更新变量,内存稳定。2、递归代码简洁,适合树形结构等自相似问题;循环逻辑线性,易于调试维护。3、递归因函数调用开销性能较低,尤其无尾递归优化;循环执行效率高,适合性能敏感场景。4、递归适用于嵌套层级不确定的情况,如目录遍历;循环适用于已知次数或需精确控制的迭代。
-
必须存整数单位(如分、厘),因浮点精度丢失、四舍五入不一致、数据库截断及多币种精度差异(JPY=0位、CNY=2位、BHD=3位)等会导致资损;PHP应使用bcdiv/bcmul处理,数据库用BIGINT,API收发统一整数或带精度字符串。
-
使用命名空间可避免PHP代码中的命名冲突并提升可维护性。首先在文件首行用namespaceApp\Controllers;声明命名空间,对应目录结构如src/Controllers/,命名采用大驼峰法。通过useApp\Models\User;导入类,同名类可用as设置别名。多级命名空间如App\Services\Payment应匹配src/Services/Payment/路径。在命名空间内调用全局函数时通常无需反斜杠,但存在同名函数需用\strlen()指向全局。结合PSR-4规范,在composer
-
PHP中解析日期字符串最稳妥用date_create()或newDateTime(),但需检查false;歧义格式建议用DateTime::createFromFormat()严格匹配;转字符串必用format()方法,注意时区影响。
-
PHP没有ArrayList内置类型,对应的是array或ArrayObject;print_r()从PHP7.4起经深度优化,嵌套大数组时PHP8.2比7.2快约4倍,但日常单层调试差异不明显。
-
PHP脚本超时默认30秒,由max_execution_time控制;调大仅延后报错,不解决卡顿、死循环等根本问题。
-
短链接无法直接还原,仅自建系统且保留映射关系时才可行;需通过数据库查询或结构化日志回溯,而非依赖重定向或函数解码。
-
curl_init()是PHP原生发送POST请求最稳妥方式,需设CURLOPT_POST、CURLOPT_POSTFIELDS、CURLOPT_RETURNTRANSFER和CURLOPT_TIMEOUT;发JSON须json_encode()并设Content-Type头;禁用SSL验证仅限调试,务必检查curl_exec返回值及curl_error。
-
PHP中无原生is_timestamp()函数,需用is_numeric()粗筛、(int)$var==$var校验整数值、再检查范围(0至2147483647或更宽松上限)来可靠判断有效Unix时间戳。
-
URL路径嵌入版本号(如/v1/user/info)最稳妥,需响应体显式返回version字段、数据库变更兼容旧版、小程序端配合渐进升级并监控各版本失败率。
-
PHP是后端语言,前后端交互基于HTTP请求/响应;前端用fetch、表单等发送数据,PHP通过$_GET、$_POST、php://input或$_FILES接收;返回JSON需设header('Content-Type:application/json'),并统一返回code/msg/data结构,避免空格破坏JSON格式。
-
PHP不支持在循环中直接声明多个同名模式的命名函数,但可通过变量函数(variablefunctions)机制,在运行时动态构造并调用如something1()、something2()等函数,无需重复手写声明。
-
Laravel中自定义模型作用域时,若方法名与Eloquent内置查询方法(如latest、oldest、with等)重名,将导致作用域被忽略——实际调用的是框架原生方法,而非你的逻辑。