PHP 中的“贪婪标记解析”是什么?
我在 Codeigniter 指南中找到了这一点:
“除非需要解析变量,否则始终使用单引号字符串,并且在确实需要解析变量的情况下,请使用大括号来防止贪婪标记解析."
“我的字符串{$foo}”
带有良好解释的答案会有所帮助。
贪婪标记解析是指这样的事情:
$fruit = "apple";
$amount = 3;
$string = "I have $amount $fruits";
可能的预期输出:“我有 3 个苹果”
实际输出:“我有3个”
当然,这是初学者的错误,但即使是专家有时也会犯错误!
就我个人而言,我根本不喜欢插入变量,无论是否带大括号。我发现我的代码更具可读性,如下所示:
$string = "I have ".$amount." ".$fruit."s";
请注意,代码编辑器可以更轻松地对这一行进行颜色编码,如 Notepad++ 中所示:
不过,有些人可能更喜欢让引擎进行插值:
$string = sprintf("I have %d %ss",$amount,$fruit);
这完全取决于个人喜好,但您引用的指南中提出的观点是要小心您所写的内容。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)