是否需要结束php查询或函数宽度'';在html标签中?
我有一个简单的问题。我正在学习php,我意识到用“;”结束函数如果任何其他函数或查询不存在,则不需要。但是我想知道,当在示例中的html标记中使用php时,不结束函数会导致任何性能和安全问题吗是否需要结束php查询或函数宽度'';在html标签中?,php,Php,我有一个简单的问题。我正在学习php,我意识到用“;”结束函数如果任何其他函数或查询不存在,则不需要。但是我想知道,当在示例中的html标记中使用php时,不结束函数会导致任何性能和安全问题吗 <?php foreach( $cars as $car ):?> <option><?php echo $car ?></option> <?php endforeach ?> 谢谢。说: PHP代码块的结束标记自动暗示 分号; 不需
<?php foreach( $cars as $car ):?>
<option><?php echo $car ?></option>
<?php endforeach ?>
谢谢。说:
PHP代码块的结束标记自动暗示
分号;
不需要分号来终止PHP块的最后一行
这就是为什么在这种特殊情况下,
echo
不需要分号的原因。在php中,当php代码以?>
结尾时,不需要给出分号;或者你可以放弃。这是可选的,不会导致任何性能和安全问题。但是作为一个好的实践,你不应该留下分号。现在任何一行代码都不需要有分号。它也不会导致任何性能或安全问题
有关标准的更多信息,请查看图(框架互操作组)模型PSR-1和PSR-2:正如其他人所说,不,您不必使用
在这种情况下,在您的endofreach
之后添加code>
但是请考虑一下!
当你在这个脚本中添加一些新代码时,比如说6个月后,你忘了检查代码,看看你现在是否需要在这个foreach上添加分号,你会发现脚本有问题,这与你的新代码无关,但这就是你要找的,因为你已经改变了
如果您总是添加结束分号终止符,这将永远不会是问题
考虑到未来的代码。就PHP而言,这两段代码之间完全没有区别。如果在?>
之前缺少尾随分号,则会自动插入该分号
唯一的区别在于开发者最佳实践是始终包含分号。这样做的原因不是因为PHP中有什么不同,而是因为它使开发人员更容易使用代码
出于同样的原因,最好的做法是始终在块周围放置大括号,即使它只有一行(大括号不是严格要求的)。因为它使您的代码更易于使用
因此,总结一下:
和
之间的区别:
无。PHP认为它们是相同的
- 安全问题:
无。见上文。(担心安全是件好事,但你需要知道真正的安全隐患是什么,而不是猜测)
- 性能问题:
无。见上文。(不过,无论如何我都不会担心,你有成为受害者的危险)
- 那么为什么要包含分号呢?
因为它让你作为一名编码员的生活更轻松
自己试试,你会得到答案的!!!!:)写这封信!如果我不得不继承你的项目,我的眼睛会流血好几天。只需使用代码>请注意您的术语有点混乱-上面的不是函数,而是流控制语句。无论如何,PHP将插入一个隐式;当它遇到一个?>。养成省略的习惯是不可取的;但是,请查看文档/我的答案,以获得“到源代码”的解释。您的答案与其他答案不同,我会仔细考虑