PHP中有三种方式定义字符串:
单引号方式
可以使用一对单引号来声明一个字符串,如果需要在字符串中包含单引号,可以使用 转义符\:
<?php header("Content-Type:text/html;charset=utf-8;"); $single_str='我被单引号括起来了!<br>'; echo $single_str; $single_str='输出双引号:"我在双引号里面"<br>'; print $single_str; $single_str='输出美元符号:$<br>'; print $single_str; $single_str='输出单引号: \'嘿嘿,我在单引号里面\'<br>'; echo $single_str; ?>
双引号方式
也可以使用一对双引号来声明一个字符串。类似的,如果要在其中包含双引号, 使用转义符\:
<?php header("Content-Type:text/html;charset=utf-8;"); $Double_str="我被双引号括起来了!<br>"; echo $Double_str; $Double_str="可以直接包含'单引号'<br>"; echo $Double_str; $Double_str="使用转义符包含\"双引号\"<br>"; echo $Double_str; ?>
HereDoc方式
通常在PHP代码中,你会需要将变量和预定的模板拼接起来,构成返回前端的HTML字符串。 Perl风格的HereDoc方式最适合这种应用场景。
下面的示例定义了一个HereDoc风格的字符串:
<?php $form_str = <<<EOF <form> <input type="text" placeholder="account"> <input type="password" placeholder="password"> <input type="submit" value="Login"> </form> EOF; echo $form_str; ?>
不用拼接字符串,不用考虑转义,就像写HTML一样 —— 这相当地爽。你需要做的,仅仅是在 真正的内容前后,分别加上开始标识符和结束标识符。
开始标识符总是以<<<开始,然后加上一个自定义的TOKEN,比如,我们使用EOT, 你也可以使用SCREWYOU, HAHAHA... 总之只要不在内容中出现就行。
结束标识符必须独占一行,顶格写上之前我们自定义的TOKEN,并且总是以;结尾。
HereDoc方式支持在内容中使用变量,嗯,自带模板插值功能:
<?php $user="whoami"; $form_str = <<<HAHA <form> <input type="text" placeholder="account" value="$user"> <input type="password" placeholder="password"> <input type="submit" value="Login"> </form> HAHA; echo $form_str; ?>
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。