>  기사  >  백엔드 개발  >  讨厌的字符串的写法

讨厌的字符串的写法

WBOY
WBOY원래의
2016-06-23 13:39:36925검색

如果有一个字符串,我想把它赋给一个变量应如何写,这个字符串很长哈

变量是$txjs

字符串是
onMouseOut="ycxl('xla');" onMouseOver="xsxl('xla',getPos(this,'Top')+16,getPos(this,'Left'));"

我这么写报错,不知为啥
$txjs='onMouseOut="ycxl('xla');" onMouseOver="xsxl('xla',getPos(this,'Top')+16,getPos(this,'Left'));"'

下面是报的错误
Parse error: syntax error, unexpected 'xla' (T_STRING) in D:\WWW\dgcms\e\data\tmp\dt_templist6.php on line 159


回复讨论(解决方案)

所有语言都是一样的,为了避免出现歧义
用双引号括起的字符串中的双引号 和 用单引号括起的字符串中的单引号
都需要转义
php 约定的转义符是 \

php 还提供了自定义定界符,可省去转义的麻烦

$txjs =<<< JSonMouseOut="ycxl('xla');" onMouseOver="xsxl('xla',getPos(this,'Top')+16,getPos(this,'Left'));"JS;

我在字符串里面写了一个变量,但是用转义没有输出变量的值,而是直接输出了变量的名了,即输出了它
$cssbh

$txjs='onMouseOut="ycxl(\'{$cssbh}\');" onMouseOver="xsxl(\'{$cssbh}\',getPos(this,\'Top\')+16,getPos(this,\'Left\'));"';


$txjs='onMouseOut="ycxl(\'\{$cssbh\}\');" onMouseOver="xsxl(\'\{$cssbh\}\',getPos(this,\'Top\')+16,getPos(this,\'Left\'));"';写都不行
哪里有错呢

字符串中的 php 变量,只有在以双引号括起时才会被替换成值
这是 php 的约定,请遵守。没有为什么

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.