• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

总结一些PHP中有用的知识和坑【推荐】

php 搞代码 4年前 (2022-01-21) 27次浏览 已收录 0个评论
文章目录[隐藏]

本篇文章给大家介绍总结一些PHP中有用的知识和坑。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。

前言

在一次偶然查看 PHP 文档的时候,发现了一些有趣的内容,随着阅读的增加,越发觉得有趣的内容或者说时坑越来越多,所以我决定记录下来,分享出去,下文中一些内容摘录自一些优秀的博客、PHP 文档的用户笔记,或者文档原文。

尤其是文档原文,我发现很多人不会去读,很多东西也不会去注意(是的,我也是这样,所以借着这次机会,一起来学习一下。)

我忘了PHP函数的参数顺序,它们是随机的吗?

PHP is a glue that brings together hundreds of external libraries, so sometimes this gets messy. However, a simple rule of thumb is as follows:

Array functionparameters are ordered as " needle, haystack" whereas String functionsare the opposite, so " haystack, needle".

译:数组相关方法的参数顺序为,「needle, haystack」,字符串相关方法则是相反的 「haystack, needle」,

来源: https://www.php.net/manual/zh/faq.using.php#faq.using.parameterorder

我应该如何保存“盐”?

当使用 password_hash() 或者 crypt() 函数时, “盐”会被作为生成的散列值的一部分返回。 你可以直接把完整的返回值存储到数据库中, 因为这个返回值中已经包含了足够的信息, 可以直接用在 password_verify() 或 crypt() 函数来进行密码验证。

下图展示了 crypt() 或 password_hash() 函数返回值的结构。 如你所见,算法的信息以及“盐”都已经包含在返回值中, 在后续的密码验证中将会用到这些信息。

来源: https://www.php.net/manual/zh/faq.passwords.php#faq.password.storing-salts

下面代码怎么没有分成两行显示?

<pre>
<?php echo "This should be the first line."; ?>
<?php echo "This should show up after the new line above."; ?>
</pre>

在 PHP 中,一段代码的结束标记要么是“?>”要么是“?>\n”(\n 表示换行)。因此在上面的例子中,输出的句子将显示在同一行中,因为 PHP 忽略了代码结束标记后面的换行。这意味着如果要输出一个换行符,需要在每段 PHP 代码的结束标记后面多加一个换行。

PHP 为什么这么做呢?因为在格式化正常的 HTML 时,这样通常会更容易。假如输出了换行而你不需要这个换行时,就不得不用一个非常长的行来达到这样的效果,或者让产生的 HTML 页面的源文件的格式很难读。

来源: https://www.php.net/manual/zh/faq.using.php#faq.using.newlines

字符串连接操作符的优先级问题

如果你运行下面的代码,他将会输出一个警告和结果 3 ,因为字符串连接操作符 . 和 数学运算符 +- 的优先级时一样的,它们将从左往右执行。 Result: 会被强转成数组 0 。如果你在低版本的 PHP 中运行,会告诉你 中边不是一个数字,如果你在 7.4 中运行,会告诉你,在 PHP 8 中 +- 的优先级将会被提高。如果你使用了 PHPSTORM 中的 EA 插件,将会提醒你这个问题。

<php
$var = 3;

echo "Result: " . $var + 3;

搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:总结一些PHP中有用的知识和坑【推荐】

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址