我创建了类 class.minmax.php
<?php
class minmax
{
public function __call($method, $arg)
{
if(!is_array($arg)) return false;
$value = $arr[0];
if ($method == "min")
{
for($i = 0; $i < count($arg); $i++)
{
if($arg[$i] < $value) $value = $arg[$i];
}
}
if($method == "max")
{
for($i = 0; $i < count($arg); $i++)
{
if($arg[$i] > $value) $value = $arg[$i];
}
}
return $value;
}
}
?>
并尝试使用它
<?php
require_once("class.minmax.php");
$obj = new minmax();
echo $obj->min(43, 18, 5, 23, 10, 56, 12);
echo "<br>";
echo $obj->max(41, 69, 45, 105, 28, 91);
?>
但结果我只从方法的105
部分获得了数字max
这是本书中的例子,我不明白为什么它不起作用?
答案 0 :(得分:4)
您输入错误,将$value = $arr[0];
更改为$value = $arg[0];
函数中不存在值$arr[0]
。因此在null
函数执行期间min
与arguments数组的其他元素进行比较。