<?php
class ExtendedArrayObject extends ArrayObject {
private $_array;
public function __construct()
{
if (is_array(func_get_arg(0)))
$this->_array = func_get_arg(0);
else
$this->_array = func_get_args();
parent::__construct($this->_array);
}
}
$newArray = new ExtendedArrayObject(array(1,2,3,4,5,6));
...
?>
以上代码摘自一本书。
问题:
这一行的用法是什么:else $this->_array = func_get_args();
?为什么我们需要在这里设置if...else...
?
答案 0 :(得分:0)
func_get_args - 返回一个包含函数参数列表的数组。
这是if else,因为,
因为如果参数在函数中大于1,它将是一个数组,因此它将在条件执行时执行,否则它会检查else语句中的代码。
答案 1 :(得分:0)
func_get_args
包含传递给函数的参数数组。
通过检查它,这里的第一项本身就是一个数组,它就是说要使用那个数组。
如果不是,请使用完整的参数列表。
运行if
的示例:
$newArray = new ExtendedArrayObject(array(1,2,3,4,5,6));
运行else
时的示例
$newArray = new ExtendedArrayObject(1,2,3,4,5,6);
答案 2 :(得分:0)
有条件的是区分func_get_arg()
的不同结果。如果这是一个数组,它将获得第一个结果,如果不是(else),则获得完整的结果。
func_get_args()
从用户定义的函数的参数列表中获取指定的参数。