变量中的PHP变量

变量中的PHP变量,php,Php,我在这一行代码中的某个地方有一个错误,如果我离开这一行,它就可以正常工作 $msg = 'An Order has just been submitted on CID, Number' . $_POST['orderNumber']'by' .$name; 有人能看出我的错误吗 您忘记连接“by”。只需添加连接。在“by”前面 是的,您从未通过连接正确连接$\u POST['orderNumber']和'by'。接线员 $msg = 'An Order has just been submi

我在这一行代码中的某个地方有一个错误,如果我离开这一行,它就可以正常工作

$msg = 'An Order has just been submitted on CID, Number' . $_POST['orderNumber']'by' .$name;

有人能看出我的错误吗

您忘记连接“by”。只需添加连接。在“by”前面


是的,您从未通过连接正确连接$\u POST['orderNumber']和'by'。接线员

$msg = 'An Order has just been submitted on CID, Number ' . $_POST['orderNumber'] . ' by ' . $name; // Notice the . (and a few spaces)
试试这个

$msg = 'An Order has just been submitted on CID, Number'.$_POST['orderNumber'].'by'.$name;

我建议您使用PHPs的核心语言功能之一。PHP支持双引号字符串中的变量插值。这比繁琐的字符串串联简单得多:

$msg = "An Order has just been submitted on CID, Number $_POST[orderNumber] by $name";
请注意,作为特殊例外,对于简单数组,不使用数组键引号。其他示例参见手册


还要注意的是,如果要再次用于输出,实际上应该转义see htmlspecialchars传入的$\u POST或$\u GET变量。

漏掉了点。它是$_POST['orderNumber'].'by'$名称另一方面,由于这是一条输出消息,它可能不需要是撇号所表示的字符串文字,最好也不要直接从$\u POST输出内容。最好先对字符串进行清理/编码,然后分配输出消息,这样$msg=就可以通过{$name}在CID上提交一个订单,编号为{$orderNumber};-意味着您也可以避免遗漏的concatentor问题;您是10.4k代表用户。请以身作则,结束类似这样过于本地化的问题。谢谢。你为什么要建议这个马里奥?“为什么你会认为这比字符串连接好呢?”stereofrog Yah默默地补充说。虽然字符串可能会出现在示例中的其他地方。@NikiC:嗯,OP偶然发现了concat语法。我猜他没有语法突出显示=问题2的编辑器。否则,如果编辑器支持,我发现dquotes中的变量更可读。一般来说,我不相信单引号的微优化方法。@mario我的语法问题是新手经常会遵循它:啊,我不需要在数组索引周围加引号。我真的没有插值本身的问题,但我建议使用。。。{$\u POST['orderNumber']}。。。这不是一个真正的字符串优化的东西-PHP支持2种不同类型的字符串;一般来说,我会使用字符串文字来表示数组键或常量,定义'CONST',7,其中需要获取字符串的内容,呃,字面上:对于输出字符串,我会使用双引号,它允许您执行如下操作:echo Hello{$sPlanetOfChoice}\N
$msg = "An Order has just been submitted on CID, Number $_POST[orderNumber] by $name";