我在编写一些语法时遇到了一些麻烦。我想回应一下这个
'location_1' => $location_1,
然而,它并不像看起来那么简单。当我写echo语句时,整数1必须是变量$ z。这是我试图编写的代码
echo "'location_' . $z . '' =>' . ${'location_' . $z} . ','";
这是它输出的内容
'location_' . 1 . '' =>' . something . ','
$ location_1等于字符串。我迷失了如何以正确的方式做到这一点。任何描述这种语法如何工作的指南都将是一个重要的帮助,所以我完全可以理解它。
答案 0 :(得分:2)
您可以直接将变量写入双引号字符串,请参阅http://www.php.net/manual/en/language.types.string.php#language.types.string.parsing
echo "'location_$z' => \$location_$z,";
您可能还想阅读其余的strings doc
答案 1 :(得分:1)
这是一种方式:
echo "'location_$z' => \$location_$z,";
你需要逃避$符号。双引号表示在这种情况下要回应的东西,而单引号实际上得到回应。
答案 2 :(得分:1)
一种方法是:echo "'location_{$z}' => \$location_{$z},";
编辑:这是你的意思吗?
<?php
$z = 1;
$location_1 = 'something';
echo "'location_$z' => " . ${'location_'. $z} . ',';
产生:'location_1' => something,
为什么不将这些变量存储在数组中以便于访问。类似的东西:
$locations = array('location_id' => 'location_name');
答案 3 :(得分:1)
这是echo documentation的链接(参见示例,我认为他们很好地描述了它是如何工作的)
答案 4 :(得分:1)
您可以将其分成两行并获得预期的输出。
例如:
$var_location = "$". "location". $z;
echo "'location_" . $z . "' =>'" . $var_location . "','";