首页 文章

什么php配置变量不允许连接数组索引?

提问于
浏览
2

例如 .

if(!isset($am_states[$lot.'_-40C'])){

要么

$am_states[$temp."_".$states[$i]['temperature']] = $states[$i]['temperature'];

每当我有带有连接字符串的数组作为数组键时,php会返回错误:

Parse error: 语法错误,意外'.',期待']'

所以我假设服务器配置有问题,虽然我确定我在本地配置上改变了一些东西 . 上次我更改配置是在我设置我的apache / mysql / php安装时

这是PHP版本5.3.1,Apache / 2.2.14,MYSQL5.1.41(默认来自xampp1.7.3)

所以我在7个月前使用这种语法并且它们正常工作 . 它只是现在产生错误 . 有人可以帮忙吗?

1 回答

  • 0

    您对使用的PHP版本持肯定态度吗?以下测试(使用PHP 5.3.6(cli))可以正常工作 . 也许你可以发布一个更完整的例子?

    #!/usr/bin/env php
    <?php
    
    $states = array(
        array('temperature' => 40),
        array('temperature' => 50),
        array('temperature' => 60)
    );
    
    $temp = 'test';
    $i = 2;
    
    $am_states[$temp . "_" . $states[$i]['temperature']] = $states[$i]['temperature'];
    
    var_dump($am_states);
    

    该脚本的输出是:

    array(1) {
      ["test_60"]=>
      int(60)
    }
    

相关问题