PHP中的语法和变量


Syntax and Variables in PHP

我在编写某些语法时遇到了一些问题。我想呼应这个

'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,";

您需要转义$符号。在这种情况下,双引号表示要回显的内容,而单引号实际上会得到回显。