2

例如

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

或者

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

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

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

所以我假设服务器配置有问题,尽管我确信我在本地配置上做了一些更改。上次我更改配置是在我设置我的 apache/mysql/php 安装时

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

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

4

1 回答 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)
}
于 2011-08-11T07:17:48.450 回答