php中如何写“”和''?

php中
这个输出,有些不明白,能有人解释下吗?

echo '<img src=" '.GW_UPLOADPATH.$screenshot.' "alt="Score image "/></p>';
为什么在src后,
src="'.GW_UPLOADPATH.$screenshot.'"
为何一个" 插在' '中间,为什么?让人糊涂
谢谢

阅读 3.3k
6 个回答

"'GW 这个'是和前面的'<img 结束的

"是因为src需要src=""
去掉php代码你就看的懂了echo '<img src=" "alt="Score image "/></p>';

单引号里可以直接使用双引号,双引号里可以直接使用单引号。但是如果双引号里要用双引号或者单引号里要用单引号,就要使用转义字符。
另外双引号会执行变量替换,单引号不执行变量替换。
而img标签的src属性需要用引号包含起来。但其实你用单引号包含属性的兼容性也够的。

这个就是字符串和变量用字符串连接符 . 进行拼接的操作,你从这个角度去看,就可以清晰很多了,不要被字符串里的具体是什么所影响。

因为你最后要生成

<img src="xxx" alt="Score image"/></p>

现在要把

$src = GW_UPLOADPATH.$screenshot

放进去

意思就是把3截拼接起来。

$str = '<img src="';
$str .= $src;
$str .= '"alt="Score image"/></p>';

图片描述

实在看不懂推荐使用以下写法(可读性最好):

<?php

$src = GW_UPLOADPATH.$screenshot;
$img = sprintf('<img src="%s" alt="Score image">', $src);

其实提主迷惑的是 ""'' 混合在一起,晕了是不是?

我简单解释下吧,在 php 中 "" 双引号 里面是可以写变量的,但是双引号里面写特殊字符徐亚使用 \ 进行转义。例如你上面的代码使用双引号的写法:

echo "<img src=\"{GW_UPLOADPATH.$screenshot}\" alt=\"Score image\">"

然后你问 为什么在src后,src="'.GW_UPLOADPATH.$screenshot.'" 为何一个" 插在' '中间,为什么?让人糊涂 这个很简单,PHP 里面字符串连接使用的是 . 进行连接的。


其实上述代码性能最高的写法是(可读性差了点):

echo '<img src="', GW_UPLOADPATH, $screenshot, '" alt="Score image">';
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题