我在编写某些语法时遇到了一些问题。我想呼应这个
'location_1' => $location_1,
然而,这并不像看上去那么简单。当我编写echo语句时,整数1必须是变量$z。这是我试图写的代码
echo "'location_' . $z . '' =>' . ${'location_' . $z} . ','";
这就是它输出的
'location_' . 1 . '' =>' . something . ','
$location_1等于字符串something。我不知道如何用正确的方式来做这件事。任何关于描述这种语法如何工作的指南都将是一个很大的帮助,这样我就可以完全理解它。
您可以直接将变量写入双引号字符串中,请参阅http://www.php.net/manual/en/language.types.string.php#language.types.string.parsing
echo "'location_$z' => '$location_$z,";
您可能还想阅读字符串doc
这是到echo文档的链接(参见示例,我认为他们很好地描述了它的工作原理)
您可以将它分成两行,并获得预期的输出。
例如:
$var_location = "$". "location". $z;
echo "'location_" . $z . "' =>'" . $var_location . "','";
一种方法是: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');
这里有一种方法:
echo "'location_$z' => '$location_$z,";
您需要转义$符号。在这种情况下,双引号表示要回显的内容,而单引号实际上会得到回显。