可能重复:
Difference between single quote and double quote string in php
我有以下内容:
<?php
$message = '<div id="msg-status" class="msg-status">Item #{$item} - {$desc} has been added successfully.</div>';
$data = array(
'success' => $products_table,
'message' => $message
);
header('Content-type: application/json');
echo json_encode($data);
?>
有人可以帮我制作{$ item}和{$ desc}实际变量。我读过你应该在它们周围放置括号以使它们成为变量,但它们仍然是字符串的一部分。关于我哪里出错的任何建议?
答案 0 :(得分:3)
<?php
$message = '<div id="msg-status" class="msg-status">Item #'.$item.' - '.$desc.' has been added.';
?>
使用上方。您不必将引号中的变量添加到字符串中,而是必须使用“。”将其与字符串连接。
答案 1 :(得分:3)
如果字符串是双引号而不是单引号,则只会扩展字符串中的变量。
<?php
$message = "<div id=\"msg-status\" class=\"msg-status\">Item #{$item} - {$desc} has been added successfully.</div>";
$data = array(
'success' => $products_table,
'message' => $message
);
header('Content-type: application/json');
echo json_encode($data);
?>
答案 2 :(得分:1)
如果使用单引号来包装字符串,则只需终止字符串并连接变量和字符串的其余部分即可。像这样 -
$epoch = time();
$a = 'Epoch time is' . $epoch . ', woohoo!';
如果您使用 double 引号来包装字符串,则可以直接将变量放入字符串中。像这样 -
$epoch = time();
$a = "Epoch time is $epoch, woohoo!";
通常,为了更好的可读性,我将使用双引号和大括号来表示字符串中的变量 -
$epoch = time();
$a = "Epoch time is {$epoch}, woohoo!";
要把它们放在一起,你的字符串必须看起来像这样 -
$message = "<div id='msg-status' ... >Item #{$item} - {$desc} ...</div>";
请注意,如果我们将外部引号更改为double,则字符串中的引号也必须更改为single。你可以在那里留下双引号,但是你需要担心转义它们\"
并且你的代码真的很烦人阅读:)