美文网首页
func_get_args()在php71与php56的区别

func_get_args()在php71与php56的区别

作者: 人在码途 | 来源:发表于2018-06-22 12:19 被阅读22次

    func_get_args() 获取函数的所有参数,返回一个数组

    官方:http://www.php.net/manual/en/function.func-get-args.php

    但是此函数在php7与php56中,有些使用时是有区别的,就是调用此函数前,如果参数被修改了,返回值是有区别的。

    测试函数:

    <?php
    
    
    function foo($x) {
          $x++;
          var_dump(func_get_args());
      }
      foo(1);
    
    在php56下测试
    # php56 aa.php 
    array(1) {
      [0]=>
      int(1)
    

    返回为1,没有受函数内部修改影响。

    在php71下测试
    # php71 aa.php 
    array(1) {
      [0]=>
      int(2)
    }
    

    返回值为2,因为$x++而修改了func_get_args的返回值,类似的函数func_get_arg()同样存在这个问题,所以使用时以及php升级时需要注意。

    转:https://www.cnblogs.com/yangwenxin/p/5855079.html

    相关文章

      网友评论

          本文标题:func_get_args()在php71与php56的区别

          本文链接:https://www.haomeiwen.com/subject/qmlkyftx.html