我wonderring为什么的foreach停止爆炸后之后,只返回的第一个结果:的foreach停止爆炸
$disabled_functions = ini_get('disable_functions');
print_r($disabled_functions);
$disFunctionsNoSpace = str_replace(' ', '', $disabled_functions);
// put them in an array
$disFunctions = explode(',', $disFunctionsNoSpace);
print_r($disFunctions);
/*
var_dump($disFunctions);
OUTPUT
array (size=33)
0 => string 'curl_multi_exec' (length=15)
1 => string ' parse_ini_file' (length=15)
2 => string ' symlink' (length=8)
3 => string ' shell_exec' (length=11)
4 => string ' proc_close' (length=11)
Etc
*/
$this->disFunctions = $disFunctions;
//print_r($this->disFunctions);
// get file content of the uploaded file (renamed NOT the temporary)
$cFile = file_get_contents($this->fileDestination, FILE_USE_INCLUDE_PATH);
//var_dump($cFile);
foreach($this->disFunctions as $kkeys => $vvals)
{
echo $kkeys.' is '.$vvals.'<br />';
if(preg_match('#'.$vvals.'#i', $cFile))
{
echo 'exists<br />';
return true;
//echo count($this->aErrors).'<br />';
//return false;
}
else
{
echo $vvals.'NOT FOUND<br />';
return false;
}
} // end foreach
结果是:0是curl_multi_exec
curl_multi_execNOT FOUND
我希望得到所有的键和vals列表。
感谢您的支持
为什么你的返回值为true并在if和else语句中分别返回false? –
因为'return true'和'return false'退出函数。一旦你离开功能,你也结束循环。 – Barmar
OHHH,对不起,我忘了删除它们,它是一个函数 –