1

这应该很容易回答。当我有一个变量,比如 $id 并且在一个字符串中时,我希望它位于两个下划线之间。像这样的东西:

$id = 1;
$myString = "row_$id_info";

现在,php 将看到“row_”和变量 $id_info - 这不是我想要的。

所以我的问题很简单:如何在 php 中破坏字符串内变量?

感谢所有回复

4

8 回答 8

5

你是这个意思:

$id = 1;
$myString = "row_" . $id . "_info";

或者

$myString = "row_{$id}_info";

请参阅:PHP 字符串连接

于 2010-09-14T10:33:58.630 回答
4

在这种情况下,将变量包含在{}

$id = 1;
$myString = "row_{$id}_info"; // $myString is row_1_info
于 2010-09-14T10:34:10.777 回答
1

$myString = "row_".$id."_info";

于 2010-09-14T10:34:01.480 回答
1

实际上这应该可以解决问题,因为引号被解析为变量并且您实际上提供了名称。但是,连接是您所要求的。

$id = 1;
$myString = 'row_'.$id.'_info';
于 2010-09-14T10:34:29.790 回答
1
$id = 1;
$myString = "row_{$id}_info";
于 2010-09-14T10:34:30.730 回答
1

使用花括号:

$myString = "row_{$id}_info";
于 2010-09-14T10:35:18.620 回答
1
$myString = sprintf("row_%d_info", $id);

使用这个 $id 也会被检查是否是数字。

于 2010-09-14T10:35:25.877 回答
0
$myString = "row_{$id}_info";

或者,“更好”(更具可读性)和更快:

$myString = "row_".$id."_info";

编辑:

请查看此链接- 将变量直接放入字符串比字符串连接慢 8%。这不是不在字符串中使用变量的最佳理由,但它是一个 - 如果您使用字符串连接,最好的理由是更好的可读代码(但这只是我的看法)

于 2010-09-14T10:35:44.157 回答