关于PHP变量与字符串输出规范问题?
PHP中文网
PHP中文网 2017-04-11 10:33:34
[PHP讨论组]

各位大神,麻烦看下图中那种输出方式比较规范,以及相关原因,谢谢

PHP中文网
PHP中文网

认证高级PHP讲师

全部回复(5)
阿神

肯定第一种好
第一,执行单引号的效率比单引号要高,因为双引号还需要转义。虽然这效率差异可以忽略不计
第二种,这种会容易出现歧义,例如你真的是想输出$m时候,但假如有系统执行,你就要用斜杠进行转义
第三,将字符串和变量分开,这让人读得更加方便

伊谢尔伦
$m = 'jj';

echo '我是' . $m;//简单、好理解
echo "我是$m";//解析有一定复杂度,有可能误解析,例如"我是$mmm"就会找不到$m变量,解决办法如下
echo "我是{$m}";//使用{}来区分变量还是文本字符串

//btw 相对 echo 中拼接字符串而言,可以通过传递多个参数来优化,一方面性能更好,另一方面不会有优先级问题 
$city = '成都';
$age = 26;
echo '我是', $m, '家住', $city, '今年', $age, '岁';

//对于参数量较多的拼接,比如个数大于2的,推荐使用sprintf()来格式化字符串,更优雅
echo sprintf('我是%s,家住%s,今年%d岁', $m, $city, $age);
高洛峰

第一种比较好

迷茫

个人觉得第一种方式比较规范:

  1. 首先第二种方式必须使用双引号,以至于遇到一些特殊符号还需要转义;

  2. 其次你这上面现在只有一个变量,但是如果有十个八个的,字符串和变量放在一起根本没法看;

迷茫
$m = 'jj';
$mm = 'mm';
//看看区别
echo '我是'.$m;//我是jj
echo '我是'.$m.'m';//我是jjm
echo "我是{$m}m";//我是jjm
echo "我是$mm";//我是mm
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号