什么是PHP中的"贪婪令牌解析"?我在Codeigniter指南中找到了这个:
"除非你需要解析变量,否则总是使用单引号字符串,并且在你需要解析变量的情况下,使用大括号来防止贪婪的令牌解析."
"我的字符串{$ foo}"
有良好解释的答案会有所帮助.
谢谢 !!
贪心令牌解析指的是这样的:
$fruit = "apple";
$amount = 3;
$string = "I have $amount $fruits";
Run Code Online (Sandbox Code Playgroud)
可能的预期产量:"我有3个苹果"
实际输出:"我有3个"
当然,这是一个初学者的错误,但即使专家有时会犯错!
就个人而言,我不喜欢插入变量,大括号或不是.我觉得我的代码更像是这样的:
$string = "I have ".$amount." ".$fruit."s";
Run Code Online (Sandbox Code Playgroud)
请注意,代码编辑器可以更轻松地对此行进行颜色编码,如Notepad ++中所示:

然后,有些人可能更喜欢让引擎进行插值:
$string = sprintf("I have %d %ss",$amount,$fruit);
Run Code Online (Sandbox Code Playgroud)
这完全取决于个人偏好,但你引用的指南中提出的观点是要小心你所写的内容.
| 归档时间: |
|
| 查看次数: |
198 次 |
| 最近记录: |