什么php配置变量不允许连接数组索引?
例如 或 每当我将串接字符串作为数组键时,php都会返回一个错误: 分析错误:语法错误,意外“.”,应为“]” 因此,我假设服务器配置有问题,尽管我确信我在本地配置上做了一些更改。 上次更改配置是在安装apache/mysql/php时 这是xampp1.7.3中的PHP版本5.3.1、Apache/2.2.14、MYSQL5.1.41默认值 7个月前我使用了这个语法,它们工作正常。只是现在他们产生了错误。什么php配置变量不允许连接数组索引?,php,php-ini,Php,Php Ini,例如 或 每当我将串接字符串作为数组键时,php都会返回一个错误: 分析错误:语法错误,意外“.”,应为“]” 因此,我假设服务器配置有问题,尽管我确信我在本地配置上做了一些更改。 上次更改配置是在安装apache/mysql/php时 这是xampp1.7.3中的PHP版本5.3.1、Apache/2.2.14、MYSQL5.1.41默认值 7个月前我使用了这个语法,它们工作正常。只是现在他们产生了错误。 有人可以帮忙吗?您对使用的PHP版本持肯定态度吗?以下使用PHP5.3.6 cli的测试
有人可以帮忙吗?您对使用的PHP版本持肯定态度吗?以下使用PHP5.3.6 cli的测试工作正常。也许你可以发布一个更完整的例子
$am_states[$temp."_".$states[$i]['temperature']] = $states[$i]['temperature'];
您对所使用的PHP版本持肯定态度吗?以下使用PHP5.3.6 cli的测试工作正常。也许你可以发布一个更完整的例子
$am_states[$temp."_".$states[$i]['temperature']] = $states[$i]['temperature'];
我不认为这是可以关闭的,这是PHP的核心语法和功能。你在哪个PHP版本上运行这个,你能提供更多的信息吗?我也不认为这是一个配置变量。为什么不为索引构建一个连接字符串,并用该字符串引用数组呢?嗯,我没有更新我的PHP版本,它以前一直在工作。。。phpinfo说它的PHP版本5.3.1这些工作:$a=arrayfoo=>1$o=o;echo$a[fo$o]$a[fo.$o];/*11*/$a=阵列0F00=>1$o=0;回声$a[$o.f0$o]$a[$o.f0.$o];/*11*///这不会->$a[$of0$o];猜测$oF0是一个变量名。所以,问题可能在其他地方。@Mike Caron:很容易尝试;-在5.2.14和5.3.6上,它产生语法错误,意外的']'。不是同样的错误。无论如何,我想不出任何代码能够准确地生成错误消息。我不认为这是可以关闭的,这是PHP的核心语法和功能。你在哪个PHP版本上运行这个,你能提供更多的信息吗?我也不认为这是一个配置变量。为什么不为索引构建一个连接字符串,并用该字符串引用数组呢?嗯,我没有更新我的PHP版本,它以前一直在工作。。。phpinfo说它的PHP版本5.3.1这些工作:$a=arrayfoo=>1$o=o;echo$a[fo$o]$a[fo.$o];/*11*/$a=阵列0F00=>1$o=0;回声$a[$o.f0$o]$a[$o.f0.$o];/*11*///这不会->$a[$of0$o];猜测$oF0是一个变量名。所以,问题可能在其他地方。@Mike Caron:很容易尝试;-在5.2.14和5.3.6上,它产生语法错误,意外的']'。不是同样的错误。无论如何,我想不出任何代码能够准确地生成该错误消息。
#!/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)
}