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

Posted colbertwong

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从php5.2升级到php7.1是函数的参数问题相关的知识,希望对你有一定的参考价值。

最近在做一个系统的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 param
Warning: 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 4
input str:
  • php7.1中的实行结果:
input str:one param
Fatal 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 4

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 4

Call Stack:
0.0069 348536 1. {main}() C:\Users\colbe\Documents\SC.php:0
0.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是函数的参数问题的主要内容,如果未能解决你的问题,请参考以下文章

升级到 PHP7.1 和 MPDF 显示错误 - 在第 30648 行遇到非数字值

PythonStock(35)使用AKShare 做股票数据出来,几个月没有看AkShare已经从0.9.65升级到了v1.0.80了,之前遇到的函数调用问题也都解决了,持续把相关代码进行升级修改(代

分享:将WDCP中的PHP5.2 1.7升级到PHP 5.3的方法

如何升级php版本---从php5.5.12 升级php7.1.5 wamp实践

APMServ5.2.6 升级php5.2 到 5.3版本

php使用tcpdf实现在线PDF功能