这应该很容易回答。当我有一个变量,比如 $id 并且在一个字符串中时,我希望它位于两个下划线之间。像这样的东西:
$id = 1;
$myString = "row_$id_info";
现在,php 将看到“row_”和变量 $id_info - 这不是我想要的。
所以我的问题很简单:如何在 php 中破坏字符串内变量?
感谢所有回复
这应该很容易回答。当我有一个变量,比如 $id 并且在一个字符串中时,我希望它位于两个下划线之间。像这样的东西:
$id = 1;
$myString = "row_$id_info";
现在,php 将看到“row_”和变量 $id_info - 这不是我想要的。
所以我的问题很简单:如何在 php 中破坏字符串内变量?
感谢所有回复
在这种情况下,将变量包含在{}
$id = 1;
$myString = "row_{$id}_info"; // $myString is row_1_info
$myString = "row_".$id."_info";
实际上这应该可以解决问题,因为引号被解析为变量并且您实际上提供了名称。但是,连接是您所要求的。
$id = 1;
$myString = 'row_'.$id.'_info';
$id = 1;
$myString = "row_{$id}_info";
使用花括号:
$myString = "row_{$id}_info";
$myString = sprintf("row_%d_info", $id);
使用这个 $id 也会被检查是否是数字。
$myString = "row_{$id}_info";
或者,“更好”(更具可读性)和更快:
$myString = "row_".$id."_info";
编辑:
请查看此链接- 将变量直接放入字符串比字符串连接慢 8%。这不是不在字符串中使用变量的最佳理由,但它是一个 - 如果您使用字符串连接,最好的理由是更好的可读代码(但这只是我的看法)