爲什麼下面的腳本不起作用?返回數組內部函數返回另一個值
$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