You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求助解决PHP语法错误:unexpected '['及unexpected T_ARRAY问题

问题解决:PHP语法错误修复

第一个错误:Parse error: syntax error, unexpected '['

这个错误的核心原因是你的PHP版本低于5.4,不支持函数返回值直接通过[]访问数组元素的语法(即数组dereferencing特性)。

第二个错误:Parse error: syntax error, unexpected T_ARRAY

出现这个错误通常也是PHP版本过低(<5.4)导致的——旧版本不支持短数组语法[],或是你在修复第一个错误时误用了array关键字的位置。

最终兼容旧版本的完整代码

if (!function_exists('mssql_get_last_message')) {
    function mssql_get_last_message()
    {
        // 先存储函数返回值到变量,避免直接数组访问的语法问题
        $errors = sqlsrv_errors(SQLSRV_ERR_ALL);
        
        // 增加空值检查,防止无错误时出现索引不存在的问题
        if (!empty($errors) && isset($errors[0]['message'])) {
            preg_match('/^\[Microsoft.*SQL.*Server\](.*)$/i', $errors[0]['message'], $matches);
            // 确保匹配结果存在再返回,避免未定义索引警告
            return isset($matches[1]) ? $matches[1] : '';
        }
        
        // 无错误时返回空字符串
        return '';
    }
}

额外说明

  • 先将sqlsrv_errors()的结果赋值给变量再访问数组,彻底解决旧版本PHP不支持的语法问题。
  • 新增的空值检查和默认返回值,能避免无错误场景下出现的索引未定义警告,提升代码健壮性。

内容的提问来源于stack exchange,提问作者Marcos Paulo B.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 04:32:22