因为您一定已经猜到了我是新来的PHP,请耐心等待。 目前我正在编写一些服务器端脚本,而我一直在做这件事,最近有一件事情让我感到困扰。情况如下。我有两个数组:一个是元素,另一个是第一个数组元素的键(索引)。在PHP中使用嵌套数组进行字符串解析
echo "$elements[$index[0]]";
我得到“解析错误:语法错误,意想不到的‘[’,希望‘]’用C时,我试图通过输出双数组变量的元素在一个字符串让我困扰的是: \ xampp \ htdocs \ test1.php第5行“错误。但是,如果只使用单个阵列,如下:
echo "$elements[0]";
它工作得很好(输出a)。
我已经搜索了论坛,发现没有什么帮助。还通过What is the difference between single-quoted and double-quoted strings in PHP?阅读了单引号和双引号,但几乎没有成功。 我使用目前的解决方法是,我节省从$index
数组的值到一个变量,并用它作为一个指数到$elements
阵列:
$key = $index[0];
echo "$elements[$key]";
工作正常,总线感觉就像一个水平间接的。
代码:
<?php
$elements = ["a", "b", "c"];
$index = [2 , 1 , 0];
echo "$elements[$index[0]]";
?>
错误:
Parse error: syntax error, unexpected '[', expecting ']' in C:\xampp\htdocs\test1.php on line 5
由于任何人给他们的时间来阅读和回答这个问题。
编辑: 谢谢大家的及时回复。 现在我看到我太天真了,以为我可以用一个简单的例子模拟我确切的问题。 我处理实际的代码是:
mysql_query("INSERT INTO pics (filename, date) VALUES($dirArray[$keys[$index]] , $timestamp)")
or die(mysql_error());
错误:
Parse error: syntax error, unexpected '[', expecting ']' in C:\xampp\htdocs\dbsetup.php on line 47
具有讽刺意味的是也很强,我已经创建了一个间接层与我的问题试图解决的一个水平间接代码:)
在编辑中使用材质开始一个新问题会更好。您也应该使用相应的'mysqli_ *'函数,因为'mysql_ *'已被弃用。请注意,您实际上是将一个字符串传递给mysql_query,因此您可以使用与构造字符串相同的方式来构造该字符串以“echo” - 即“一些文本”。 $ variable [$ index [0]]。 “更多文字”。 – 2014-09-27 13:11:11