我收到了这个错误:
解析错误:语法错误,意外T_FUNCTION
在此代码中:
<?php
$uniqueFtypes = $ftypes = $converter->GetConvertedFileTypes();
array_walk(
$uniqueFtypes,
function(&$ftype, $key) {
$ftype = $ftype['fileExt'];
}
);
$uniqueFtypes = array_values(array_unique($uniqueFtypes));
foreach ($uniqueFtypes as $key => $uftype)
{
echo $uftype;
echo ($uftype != end($uniqueFtypes)) ? (($key != count($uniqueFtypes)-2) ? ', ' : ', or ') : '';
}
?>
在这一行:
array_walk(
$uniqueFtypes,
function(&$ftype, $key) {
$ftype = $ftype['fileExt'];
}
);
PHP版本:5.2.17
它适用于localhost,我正在使用最新的UniServer。但是当我把它移到我的主机上时,就会出现错误。
有任何帮助吗? :)
编辑:其他人我不确定是否需要修复。
ini_set('max_execution_time',0);
ini_set('display_errors',0);
// Instantiate converter class
include 'VideoConverter.class.php';
$converter = new VideoConverter();
// On download of converted file
if (isset($_GET['output']))
{
$converter->DownloadConvertedFile($_GET['output']);
}
第二
$vidHosts = array_values($converter->GetVideoHosts());
foreach ($vidHosts as $key => $host)
{
echo $host['name'];
echo ($host != end($vidHosts)) ? (($key == count($vidHosts)-2) ? ((count($vidHosts) > 2) ? ', and ' : ' and ') : ', ') : '';
}
还有什么东西需要修复这两个吗?
答案 0 :(得分:6)
你不能在php 5.3之前使用闭包。您需要将function
的第二个参数中的array_walk
更改为create_function
。尝试:
array_walk($uniqueFtypes, create_function('&$ftype, $key;',
'$ftype = $ftype["fileExt"];'));