echo "{$line['text_1']}";
上面的回声工作正常,但是当涉及到2d数组时,在我的崇高中,只有{$ line ['text_2']}这部分工作正常。输出错误sublime和浏览器
echo "$array_2d[{$line['text_1']}][{$line['text_2']}]";
任何想法?
更新
echo "$array_2d[$line['text_1']][$line['text_2']]";
使用xampp,错误解析错误:语法错误,C:\ xampp \ htdocs中意外的'[',期待']'
我只是从mysql_fetch_assoc输出一个值。我可以通过echo''以另一种方式实现它,但是我正在努力使我的代码更容易用于将来的编辑和代码复制粘贴
是的,我正在做像
这样的事情echo "The price is $array_2d[$line['text_1']][$line['text_2']]"
双引号中有很多html代码。
答案 0 :(得分:1)
你为什么要输出数组?
如果是出于调试目的,您只需使用本机php函数print_r()
或var_dump()
答案 1 :(得分:0)
这应该有效:
echo $array_2d[$line['text_1']][$line['text_2']];
答案 2 :(得分:0)
您可以使用print_r()
来回显数组。
e.g:
print_r($array);
输出将是:
Array ( [test] => 1 [test2] => 2 [multi] => Array ( [multi] => 1 [multi2] => 2 ) )
此外,您可以使用它来使其在HTML上下文中更具可读性:
echo '<pre>';
print_r($array);
echo '</pre>';
输出将是:
Array
(
[test] => 1
[test2] => 2
[multi] => Array
(
[multi] => 1
[multi2] => 2
)
)
答案 3 :(得分:0)
回显变量时,您不必使用引号:
echo $array_2d[$line['text_1']][$line['text_2']];
如果做需要输出带有该字符串的内容,则连接运算符可以帮助您:
echo "Array: " . echo $array_2d[$line['text_1']][$line['text_2']];
答案 4 :(得分:0)
示例变体
我想知道为什么要尝试使用$line
数组作为键来访问$array_2d
中的数据。
无论如何,试试这个:
echo($line['text_1'].'<br>');
这样:
echo($array_2d['text_1']['text_2'].'<br>');
最后这个(基于你的“$line
数组提供了$array_2d
”数组示例的键)
$key_a = $line['text_1'];
$key_b = $line['text_2'];
echo($array_2d[$key_a][$key_b].'<br>');
这也可以写得更短:
echo($array_2d[$line['text_1']][$line['text_2']].'<br>');
验证/转储数组内容
要验证您的数组是否包含您期望的数据,请不使用print_r
。请使用var_dump
,因为它会返回更多信息,您可以用它来检查您认为可能遇到的任何问题。
示例:
echo('<pre>');
var_dump($array_2d);
echo('</pre>');
var_dump
和print_r
var_dump
函数显示变量(或表达式)的结构化信息,包括其类型和值。递归地探索数组,其中值缩进以显示结构。 var_dump
还显示哪些数组值和对象属性是引用。
print_r
以可读方式显示有关变量的信息,数组值将以显示键和元素的格式显示。但是你会错过var_dump
提供的详细信息。
示例:
$array = array('test', 1, array('two', 'more'));
print_r
的输出:
Array
(
[0] => test
[1] => 1
[2] => Array
(
[0] => two
[1] => more
)
)
var_dump
的输出:
array(3) {
[0]=> string(4) "test"
[1]=> int(1)
[2]=> array(2)
{
[0]=> string(3) "two"
[1]=> string(4) "more"
}
}
答案 5 :(得分:0)
您可以使用print_r()
或var_dump()
来回显数组。
print_r()
以人类可读的方式显示有关变量的信息,而var_dump()
函数显示有关变量/表达式的结构化信息,包括其类型和值。
$array = 'YOUR ARRAY';
echo "<pre>";
print_r($array);
echo "</pre>";
或
$array = 'YOUR ARRAY';
var_dump($array);
答案 6 :(得分:0)
你应该可以说
echo "item is {$array_2d[$line['text1']][$line['text2']]}";
获得子元素。
当然,这只是在字符串中不是唯一的东西时才真正有用。如果您只回显一个值,则不需要引号,事情变得更简单。
echo $array_2d[$line['text1']][$line['text2']];