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

最近在做一个系统的ID管理系统php升级,从php5.2升级到php7.1,经常会遇到一些问题。今天遇到一个小问题,拿出来分享一下。废话少说,上示例代码。

SC.php

<?phpclass 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:

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

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

时间: 2024-11-05 21:37:24

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

php-5.4 升级到 php7.2

下载安装包 编译安装 1 # 编译 2 ./configure --prefix=/alidata/server/php72 --with-config-file-path=/alidata/server/php72/etc --enable-inline-optimization --disable-debug --disable-rpath --enable-shared --enable-opcache --enable-fpm --with-fpm-user=www --with-fpm

zendstudio php5项目切换到php7项目

php升级5升级到php7 zendstudio 会有语法警告 如果是旧项目的话,直接<右键>点击所在的项目 点击属性 php > php解析器 > 选择php7.0 保存后,编辑器支持7的语法了 如果有不支持的写法,会提示你. 修正后再执行一遍 查看项目有不支持7写法的地方 选择点击 Run php 7 express 双击可去到修改 原文地址:https://www.cnblogs.com/GreenForestQuan/p/9749699.html

centos php5.4 升级 php7

接上篇,edusoho需要php5.5以上版本,于是需要升级本地php php是通过yum默认安装的.以下安装参考 link https://blog.csdn.net/u012569217/article/details/77506902 因此先查看本地php版本 php -v 检查当前php的安装包 yum list installed | grep php 将本地php安装包卸载干净 yum remove php* 默认的yum源无法升级PHP,需要添加第三方yum源,我们选择webtat

entos上PHP5.3升级到PHP5.4及更高版本方法

yum配置 执行命令下载.安装yum源,当前是针对Centos6并且64位版本的源: [[email protected]_249 yum.repos.d]# rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm[[email protected]_249 yum.repos.d]# rpm -ivh ht yum配置执行命令下载.安装yum源,当前是针对Centos6并且64位版本的

centos6.8上PHP5.3升级到PHP5.4及更高版本方法

执行命令下载.安装yum源,当前是针对Centos6并且64位版本的源: [[email protected]_249 yum.repos.d]# rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm [[email protected]_249 yum.repos.d]# rpm -ivh http://rpms.famillecollet.com/enterprise/remi-r

Linux PHP5.3升级PHP5.5.33

由于要使用了laravel5.1,php要升级到5.5以上.具体环境是Aliyun Cent OS 7.0. 首先网上这类的文章非常多,每个人的升级目的,要升级的组件都不完全一样.最好的说明文档还是官方安装文档,如果php官网的安装失败,再去搜索相关问题.我最终靠的是官网上Apache 2.x on Unix systems这篇文档. 1.下载 http://php.net/downloads.php 1 wget http://cn2.php.net/get/php-5.5.33.tar.gz

升级到 PHP-7 遇到的坑 及 经验分享

日请求过亿:QQ会员活动平台PHP7升级实践

WDCP从php5.2升级到5.3的办法,以及升级过程中iconv错误的处理

从wdcp官方论坛我们可以找到一个询问升级的帖子,然后管理员在回复中也提供了升级方法: cd /tmp wget -c http://dl.wdlinux.cn:5180/soft/php-5.3.10.tar.gz tar zxvf php-5.3.10.tar.gz cd php-5.3.10 ./configure --prefix=/www/wdlinux/php-5.3.10 --with-config-file-path=/www/wdlinux/etc --with-mysql=/

php5.3升级5.4或5.5

如何将Ubuntu中的PHP从5.3升级到5.4 6月03日 一直以来我的博客就依靠着自己搭建的图床来链接图片,使用的图床程序是 Chevereto,最近官方发来邮件通知有重大更新,增加了许多诸如图册管理,多用户支持等自定义功能,界面也漂亮许多,但通过阅读更新文件的帮助文档得知,PHP版本必须在5.4以上,而当时在 Ubuntu 12.04 系统上安装的 PHP 版本是5.3,最新的 PHP 版本是5.5,但从网上查阅许多文章后升级到5.5版本后出现诸多问题,于是降级尝试升级到5.4试试,下面是