我有以下的PHP代碼內聲明的函數:腳本死與另一個功能
function mapWordsToOriginal()
{
try
{
$d = array();
function map_FilteredWithOriginal($n, $m)
{
return(array(($n + 1) => ($m + 1)));
}
foreach ($this->wordsArray as $word)
{
array_push($d, array_map(
"map_FilteredWithOriginal",
array_keys(
$this->wordsArray, $word),
array_keys($this->originalText, $word)));
}
for ($i = 0; $i < count($d); $i++)
{
for ($j = 0; $j < count($d[$i]); $j++)
{
$this->mapFilteredWithOriginal +=$d[$i][$j];
}
}
if ($this->debug)
{
print_r($this->mapFilteredWithOriginal);
}
}
catch (Exception $e)
{
echo 'Caught exception: ', $e->getMessage(), "\n";
}
}
我使用此功能幾次(取決於有多長文本),但是當我得到這個代碼中第二次:
function map_FilteredWithOriginal($n, $m)
{
return(array(($n + 1) => ($m + 1)));
}
該腳本剛剛停止。
我不知道爲什麼,沒有異常被逮住....
出於好奇,你爲什麼要在方法中聲明一個方法? – Matt 2012-07-26 19:41:47
打開錯誤報告。並非一切都會在PHP中引發異常! (實際上大多數問題不會),而是尋找致命的錯誤。 – 2012-07-26 19:41:52
[This may help](http://stackoverflow.com/questions/708341/can-i-include-a-function-inside-of-another-function-php)。 – 2012-07-26 19:43:22