分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 技术分享

从php5.2升级到php7.1是函数的参数问题

发布时间:2023-09-06 01:46责任编辑:彭小芳关键词:暂无标签
最近在做一个系统的ID管理系统php升级,从php5.2升级到php7.1,经常会遇到一些问题。今天遇到一个小问题,拿出来分享一下。废话少说,上示例代码。

SC.php
<?php
class SC { ???????static function out($str) { ???????????echo ‘input str:‘ . $str; ???????} ???} ???// 有参数调用 ???SC::out(‘one param‘); ???// 无参数调用 ???SC::out();
  •  php5.2中的实行结果:
input str:one paramWarning: Missing argument 1 for SC::out(), called in C:\Users\colbe\Documents\SC.php on line 11 and defined in C:\Users\colbe\Documents\SC.php on line 4input str:
  • php7.1中的实行结果:
input str:one paramFatal error: Uncaught ArgumentCountError: Too few arguments to function SC::out(), 0 passed in C:\Users\colbe\Documents\SC.php on line 11 and exactly 1 expected in C:\Users\colbe\Documents\SC.php on line 4ArgumentCountError: Too few arguments to function SC::out(), 0 passed in C:\Users\colbe\Documents\SC.php on line 11 and exactly 1 expected in C:\Users\colbe\Documents\SC.php on line 4Call Stack:0.0069 348536 1. {main}() C:\Users\colbe\Documents\SC.php:00.0088 348568 2. SC::out() C:\Users\colbe\Documents\SC.php:11

Warning变Fatal,直接就崩了。修改倒是很简单,给函数的参数加个默认值就可以了。修改一下方法的签名部分为`[static function out($str = null) {]`就可以了。再次运行,结果如下:

input str:one paraminput str:

我擦,才发现木加换行!就这样吧,太晚了,睡觉去了。



从php5.2升级到php7.1是函数的参数问题

原文地址:https://www.cnblogs.com/colbertwong/p/8620763.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved