升级到php7需要注意的一个问题
2017-02-08 00:00
429 查看
Class Page{ public $parameter; public function __construct($parameter=''){ $this->parameter =$parameter; } } $p = new Page(); $map = ['has'=>12,'e3'=>13]; foreach($map as $key => $val) { $p->parameter[$key] = urlencode($val); } print_r($p);
代码如上,在php5.5中结果如下:
Page Object ( [parameter] => Array ( [has] => 12 [e3] => 13 ) )
在php7.1中结果如下:
PHP Warning: Illegal string offset 'has' in /home/vagrant/www/test/foreach.php on line 15 Warning: Illegal string offset 'has' in /home/vagrant/www/test/foreach.php on line 15 PHP Warning: Illegal string offset 'e3' in /home/vagrant/www/test/foreach.php on line 15 Warning: Illegal string offset 'e3' in /home/vagrant/www/test/foreach.php on line 15 Page Object ( [parameter] => 1 )
解决的办法是把默认值由空字符串改为空数组:
Class Page{ public $parameter; public function __construct($parameter=array()){ $this->parameter =$parameter; } } $p = new Page(); $map = ['has'=>12,'e3'=>13]; foreach($map as $key => $val) { $p->parameter[$key] = urlencode($val); } print_r($p);
相关文章推荐
- 如果一个页面中用了两个以上displaytag,需要注意的分页问题
- Openh323和Windows平台上关于G.723.1编码需要注意的一个问题
- 使用DB2中需要注意的一个问题。
- PHP的一个需要注意的POST小问题
- insert append需要注意的一个小问题
- 对java中的String采用+=连接字符串需要注意的一个问题
- jbpm3.1升级到jpbm3.2.2过程中需要注意的几个问题
- VMWare上虚拟机访问宿主机需要注意的一个问题
- 一个防御SQL注入攻击时需要注意的问题
- JavaScript Tip/Trick: 动态创建Table时,在IE中需要注意的一个问题
- 调试使用了函数模块的程序时需要注意的一个小问题
- 中时间数据查询需要注意的一个小问题
- 动态创建Table时,在IE中需要注意的一个问题
- 请求响应/加密解密时一个需要注意的小问题
- 调用自定义event时需要注意的一个问题
- 调试使用了函数模块的程序时需要注意的一个小问题
- 一个使用手机时需要注意的问题
- sql server数据库转换为access中需要注意的严重问题--access视图的一个死机‘特色’
- moss中带有前后台的webpart需要注意的一个小问题
- 防御SQL注入攻击时需要注意的一个问题