带有数组的PHP中的语法错误

时间:2015-03-31 16:29:38

标签: php

我有这种类型的数组:

Array(
    [0] => Array(
        [Success] => The file was uploaded.
    )[1] => Array(
        [Error] => The file doesn 't exist.
    )[2] => Array(
        [Success] => The file is supported.
    )
)

在我的代码中,我用它来显示包含ErrorSuccess消息的表格。

foreach($results as $innerArr) {
    if(array_keys($innerArr)[0]=='Error') { $css = 'style="background:red"'; }
    if(array_keys($innerArr)[0]=='Success') { $css = 'style="background:green"'; }

    echo '<tr>';
    echo '<td '.$css.'></td>';
    echo '<td>'.array_values($innerArr)[0].'</td>';
    echo '</tr>';
}

我的问题是: 我总是得到这种类型的错误:

[Tue Mar 31 09:44:48 2015] [error] [client 172.***.140.***] PHP Parse error: syntax error, unexpected '[' in upload.php on line 229, referer: http://****.com/verification/index.html

由于我有PHP 5.2,我该如何解决我的问题?

感谢。

2 个答案:

答案 0 :(得分:2)

升级到PHP 5.4

或者,您将不得不使用临时变量。函数返回值解除引用仅在5.4

中添加

答案 1 :(得分:2)

这不行。当您使用array_values函数时,如果使用PHP 5.2,则必须将它们保存在新变量中。

$values = array_values($innerArr);
echo '<td>'.$values[0].'</td>';

您可以做的是将PHP版本更新为PHP 5.4及更高版本。