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

时间:2011-07-11 03:25:31

标签: php php-ini

E.G。

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

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

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

解析错误:语法错误,意外'。',期待']'

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

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

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

1 个答案:

答案 0 :(得分: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)
}