PHP8.0新函数

作者: 温新

分类: 【PHP技术】

阅读: 1445

时间: 2022-01-26 12:21:16

参考:<span style="color: rgb(40, 44, 52); font-family: 宋体, "Times New Roman", Times, Georgia, serif; font-size: 14px; orphans: 4; text-align: justify; white-space: pre-wrap; word-spacing: 0.8px;">https://php.watch/versions/8.0/get_debug_type

str_contains()检查另一个字符串是否包含一个指定字符串

返回值:bool

<span style="box-sizing: border-box;color: rgb(171, 178, 191);padding-right: 0.1px"><span style="box-sizing: border-box;color: rgb(224, 108, 117) !important">$str</span> <span style="box-sizing: border-box;color: rgb(86, 182, 194) !important">=</span> <span style="box-sizing: border-box;color: rgb(152, 195, 121) !important">'this is my blog'</span>;</span><br></br><span style="box-sizing: border-box;color: rgb(171, 178, 191);padding-right: 0.1px"><span style="box-sizing: border-box;color: rgb(224, 108, 117) !important">$res</span> <span style="box-sizing: border-box;color: rgb(86, 182, 194) !important">=</span> <span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">str_contains</span>(<span style="box-sizing: border-box;color: rgb(224, 108, 117) !important">$str</span>, <span style="box-sizing: border-box;color: rgb(152, 195, 121) !important">'my'</span>);</span><br></br><span style="box-sizing: border-box;color: rgb(171, 178, 191);padding-right: 0.1px"><span style="box-sizing: border-box;color: rgb(232, 191, 106) !important">var_dump</span>(<span style="box-sizing: border-box;color: rgb(224, 108, 117) !important">$res</span>); <span style="box-sizing: border-box;color: rgb(98, 151, 85) !important">// true</span></span>

str_starts_with()检查一个字符串是否以指定字符串开头

<span style="box-sizing: border-box;color: rgb(171, 178, 191);padding-right: 0.1px"><span style="box-sizing: border-box;color: rgb(224, 108, 117) !important">$str</span> <span style="box-sizing: border-box;color: rgb(86, 182, 194) !important">=</span> <span style="box-sizing: border-box;color: rgb(152, 195, 121) !important">'this is my blog'</span>;</span><br></br><span style="box-sizing: border-box;color: rgb(171, 178, 191);padding-right: 0.1px"><span style="box-sizing: border-box;color: rgb(224, 108, 117) !important">$res</span> <span style="box-sizing: border-box;color: rgb(86, 182, 194) !important">=</span> <span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">str_starts_with</span>(<span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">haystack</span>:<span style="box-sizing: border-box;color: rgb(224, 108, 117) !important">$str</span>, <span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">needle</span>:<span style="box-sizing: border-box;color: rgb(152, 195, 121) !important">'this'</span>);</span><br></br><span style="box-sizing: border-box;color: rgb(171, 178, 191);padding-right: 0.1px"><span style="box-sizing: border-box;color: rgb(232, 191, 106) !important">var_dump</span>(<span style="box-sizing: border-box;color: rgb(224, 108, 117) !important">$res</span>); <span style="box-sizing: border-box;color: rgb(98, 151, 85) !important">// true</span></span>

str_ends_with()检查一个字符串是否以指定字符串结尾

<span style="box-sizing: border-box;color: rgb(171, 178, 191);padding-right: 0.1px"><span style="box-sizing: border-box;color: rgb(224, 108, 117) !important">$str</span> <span style="box-sizing: border-box;color: rgb(86, 182, 194) !important">=</span> <span style="box-sizing: border-box;color: rgb(152, 195, 121) !important">'images/2022/a.jpg'</span>;</span><br></br><span style="box-sizing: border-box;color: rgb(171, 178, 191);padding-right: 0.1px"><span style="box-sizing: border-box;color: rgb(224, 108, 117) !important">$res</span> <span style="box-sizing: border-box;color: rgb(86, 182, 194) !important">=</span> <span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">str_ends_with</span>(<span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">haystack</span>:<span style="box-sizing: border-box;color: rgb(224, 108, 117) !important">$str</span>, <span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">needle</span>:<span style="box-sizing: border-box;color: rgb(152, 195, 121) !important">'.jpg'</span>);</span><br></br><span style="box-sizing: border-box;color: rgb(171, 178, 191);padding-right: 0.1px"><span style="box-sizing: border-box;color: rgb(232, 191, 106) !important">var_dump</span>(<span style="box-sizing: border-box;color: rgb(224, 108, 117) !important">$res</span>); <span style="box-sizing: border-box;color: rgb(98, 151, 85) !important">// true</span></span>

fdiv()Divides two numbers, according to IEEE 754

fdiv函数允许除以0,得到浮点型-INFINF的结果,而不是报错。

1)报错的案例

<span style="box-sizing: border-box;color: rgb(171, 178, 191);padding-right: 0.1px"><span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">intdiv</span>(<span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">1</span>, <span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">0</span>);</span><br></br><span style="box-sizing: border-box;color: rgb(171, 178, 191);padding-right: 0.1px"><span style="box-sizing: border-box;color: rgb(98, 151, 85) !important">// Fatal error: Uncaught DivisionByZeroError: Division by zero in</span></span>

2)fdiv函数

<span style="box-sizing: border-box;color: rgb(171, 178, 191);padding-right: 0.1px"><span style="box-sizing: border-box;color: rgb(232, 191, 106) !important">var_dump</span>(<span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">fdiv</span>(<span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">1</span>, <span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">0</span>)); <span style="box-sizing: border-box;color: rgb(98, 151, 85) !important">// float(INF) </span></span><br></br><span style="box-sizing: border-box;color: rgb(171, 178, 191);padding-right: 0.1px"><span style="box-sizing: border-box;color: rgb(232, 191, 106) !important">var_dump</span>(<span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">fdiv</span>(<span style="box-sizing: border-box;color: rgb(86, 182, 194) !important">-</span><span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">1</span>, <span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">0</span>)); <span style="box-sizing: border-box;color: rgb(98, 151, 85) !important">// float(-INF) </span></span>

get_resource_id()返回给定资源的整数标识符

<span style="box-sizing: border-box;color: rgb(171, 178, 191);padding-right: 0.1px"><span style="box-sizing: border-box;color: rgb(224, 108, 117) !important">$handle</span> <span style="box-sizing: border-box;color: rgb(86, 182, 194) !important">=</span> <span style="box-sizing: border-box;color: rgb(232, 191, 106) !important">fopen</span>(<span style="box-sizing: border-box;color: rgb(152, 195, 121) !important">'./storage/logs/lumen.log'</span>, <span style="box-sizing: border-box;color: rgb(152, 195, 121) !important">'rt'</span>);</span><br></br><span style="box-sizing: border-box;color: rgb(171, 178, 191);padding-right: 0.1px"><span style="box-sizing: border-box"></span></span><br></br><span style="box-sizing: border-box;color: rgb(171, 178, 191);padding-right: 0.1px"><span style="box-sizing: border-box;color: rgb(198, 120, 221) !important">echo</span> (<span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">int</span>) <span style="box-sizing: border-box;color: rgb(224, 108, 117) !important">$handle</span> . <span style="box-sizing: border-box;color: rgb(152, 195, 121) !important">"\n\n"</span>;</span><br></br><span style="box-sizing: border-box;color: rgb(171, 178, 191);padding-right: 0.1px"><span style="box-sizing: border-box;color: rgb(198, 120, 221) !important">echo</span> <span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">get_resource_id</span>(<span style="box-sizing: border-box;color: rgb(224, 108, 117) !important">$handle</span>);</span>

get_debug_type()以合适的方式获取变量类型

php8.0以后的版本更推荐使用get_debug_type

1)标量类型

2)类对象或匿名函数

3)资源

我是温新

<span style="color: rgb(40, 44, 52); font-family: 宋体, "Times New Roman", Times, Georgia, serif; font-size: 14px; orphans: 4; text-align: justify; white-space: pre-wrap; word-spacing: 0.7px; background-color: rgba(66, 185, 131, 0.1);">每天进步一点,就一点点

请登录后再评论