为什么下面的脚本不起作用?返回数组内部函数返回另一个值
$arr = array();
function collect($array , $val) {
$array[] = $val;
return $array;
}
function checkFoo($s) {
$valid = true;
if (strlen($s) === 0) {
$isValid = false;
collectFoo($arr , $s);
}
return $valid;
}
function checkBar($t) {
$valid = true;
if (strlen($s) != 10) {
$isValid = false;
collectFoo($arr , $t);
}
return $valid;
}
if (checkFoo($that) && checkBar($this)) {
echo "success";
} else {
print_r($error);
}
我总是
Notice: Undefined variable: error in /my.php on line 12
其中线12类似的collect(...)
第二次出现;
我知道一个函数只能返回一个值,但是如果一个函数返回某个函数返回的内容呢?因为collect
在checkBar
内返回$array
,返回$valid
。
'$ this'和'$ that'以及'$ error'和'collectFoo'函数是什么? – 2013-02-15 22:52:59
'$ this'&'$ that'是占位符。 '$ error'是一个数组,它只是在调试时仍然存在,'collectFoo'是一个向数组添加内容的函数。 – Sven 2013-02-15 23:08:36
好的,看我编辑的答案 – 2013-02-15 23:11:49