Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP中嵌套数组的字符串解析_Php_Arrays_String_Parsing - Fatal编程技术网

PHP中嵌套数组的字符串解析

PHP中嵌套数组的字符串解析,php,arrays,string,parsing,Php,Arrays,String,Parsing,你一定猜到了,我是php新手,所以请容忍我。 目前我正在编写一些服务器端脚本,虽然我一直在编写,但最近有一件特别的事情困扰着我。情况如下。我有两个数组:一个带有元素,另一个带有第一个数组元素的键(索引)。困扰我的是,当我试图通过字符串中的双数组变量输出元素时: echo "$elements[$index[0]]"; 我在第5行的C:\xampp\htdocs\test1.php中得到“解析错误:语法错误,意外的“[”,应为“]”错误。但是,如果仅使用单个阵列,如中所示: echo "$ele

你一定猜到了,我是php新手,所以请容忍我。 目前我正在编写一些服务器端脚本,虽然我一直在编写,但最近有一件特别的事情困扰着我。情况如下。我有两个数组:一个带有元素,另一个带有第一个数组元素的键(索引)。困扰我的是,当我试图通过字符串中的双数组变量输出元素时:

echo "$elements[$index[0]]";
我在第5行的C:\xampp\htdocs\test1.php中得到“解析错误:语法错误,意外的“[”,应为“]”错误。但是,如果仅使用单个阵列,如中所示:

echo "$elements[0]";
它工作得很好(输出a)

我在论坛上搜索了一下,发现这方面没有什么帮助。此外,通读也使用了单引号和双引号,但收效甚微。 我目前使用的解决方法是将
$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\dbsetup.php on line 47

讽刺的是,我用我的问题创建了一个间接层次,试图解决代码中的间接层次:)

您需要用以下代码更正php脚本:

$elements=数组(“a”、“b”、“c”);
$index=数组(2,1,0);
echo$elements[$index[0]];

您需要使用以下代码更正php脚本:

$elements=数组(“a”、“b”、“c”);
$index=数组(2,1,0);
echo$elements[$index[0]];

如果只是回显变量,则不需要在PHP中使用引号:

echo $elements[$index[0]];
如果要添加一些纯文本,则需要使用引号:

echo "element at index 0: " . $elements[$index[0]] . "\n";
根据您使用的PHP版本,使用
[…]
作为数组构造函数时也可能会遇到错误;在PHP5.3及更早版本中,数组必须使用以下语法声明

$fruits = array('apple', 'orange', 'banana');
而在PHP5.4以后的版本中,您可以使用速记

$fruits = ['apple', 'orange', 'banana'];

中有更多关于数组的信息。

如果只是回显变量,则不需要在PHP中使用引号:

echo $elements[$index[0]];
如果要添加一些纯文本,则需要使用引号:

echo "element at index 0: " . $elements[$index[0]] . "\n";
根据您使用的PHP版本,使用
[…]
作为数组构造函数时也可能会遇到错误;在PHP5.3及更早版本中,数组必须使用以下语法声明

$fruits = array('apple', 'orange', 'banana');
而在PHP5.4以后的版本中,您可以使用速记

$fruits = ['apple', 'orange', 'banana'];

中有更多关于数组的信息。

您没有创建数组,这就是为什么会出现错误,而且您没有正确打印数组,因此请更改代码

$elements   = array("a", "b", "c");
$index  = array(2 , 1 , 0);

echo $elements[0];
echo $index[0];
echo $elements[$index[0]];

你们并没有创建一个数组,这就是为什么你们会出错,而且你们并没有正确打印数组,所以请修改你们的代码

$elements   = array("a", "b", "c");
$index  = array(2 , 1 , 0);

echo $elements[0];
echo $index[0];
echo $elements[$index[0]];

如果使用“”而不是括号(),则不应将echo命令与数组变量结合使用。在回显之前,将数组结构指定给临时变量

<?php

    $elements   = ["a", "b", "c"];
    $index  = [2 , 1 , 0];
    $value = $elements[$index[0]];

    echo "$value";

?>

如果使用“”而不是括号(),则不应将echo命令与数组变量结合使用。在回显之前,将数组结构指定给临时变量

<?php

    $elements   = ["a", "b", "c"];
    $index  = [2 , 1 , 0];
    $value = $elements[$index[0]];

    echo "$value";

?>


最好用编辑中的材料开始一个新问题。您还应该使用相应的
mysqli.*
函数,因为
mysql.*
已被弃用。请注意,您实际上是在向mysql_查询传递一个字符串,因此您可以使用与将字符串构造为
echo
ed相同的方式来构造它,即
“一些文本”$变量[$index[0]]。“更多文本”
。最好用编辑中的材料开始一个新问题。您还应该使用相应的
mysqli.*
函数,因为
mysql.*
已被弃用。请注意,您实际上是在向mysql_查询传递一个字符串,因此您可以使用与将字符串构造为
echo
ed相同的方式来构造它,即
“一些文本”$变量[$index[0]]。“更多文本”