本文实例讲述了php7 参数、整形及字符串处理机制修改。分享给大家供大家参考,具体如下:
重复的参数命名不再支持。比如下面的代码执行的时候会报错:
public function foo($a, $b, $unud, $unud) {// ... }
编者按:应该没有人这样用吧。
func_get_arg()和func_get_args()这两个方法返回参数当前的值,而不是传入时的值。当前的值有可能会被修改
function foo($x) { $x++; var_dump(func_get_arg(0));}foo(1);
上面的代码会打印2, 而不是1。如果想打印鸦雀无声是什么意思原始的值,调用的顺序调整下即可。
function foo($x) { $x = 42; t中学生必读名著hrow new exception; } foo("string");
php7的运行结果:
stack trace:
#0 file.php(4): foo(42)
#1 {main}
php5的运行结果:
stack trace:
#0 file.php(4): foo(‘string’)
#1 {main}
这个语言文字应用调整不会影响代码的行为,不过在调试的时候需要注意这个变化。
其他和参数有关的函数都是同样的调整,比如debug_backtrace() .
无效的八进制数字(包含大于7的数字)会报编译错误,比如下面的代码会报错:
$i = 0781; // 8 is not a valid octal digit![点击并拖拽以移动]
老版本的php会把无效的数字忽略。
var_dump(1 >> -1); // arithmeticerror: bit shift by negative number
var_dump(1 << 64); // int(0)
老版本的php运行结果和cpu架构有关系。比如x86会返回1。
var_dump(1 >> 64); // int(0)var_dump(-1 >> 64); // int(-1)
含有十六进制字符的字符串不再视为数字,也不再区别对待。比如下面的代码:
var_dump("0x123" == "291"); // bool(fal) (previously true) var_dump(is_numeric("0x123")); // bool(fal) (previously true) var_dump("0xe" + "0x1"); // int(0) (previously 16) var_dump(substr("foo", "0x1")); // string(3) "foo" (previously "oo") // notice: a non well formed numeric value encountered
可以使用filter_var函数来检查一个字符串是否包含十六进制字符或者是否可以转成一个整型
$str = "0xffff"; $int = filter_var($str, filter_validate_int, filter_flag_allow_hex); if (fal === $int) { throw new exception("invalid integer!"); }var_dump($int); // int(65535)
双引号和heredocs语法里面增加了unicode 码点转义语法,“夏季风\u{”后面必须是utf-8字符。如果是非utf-8字符,会报错:
$str = "\u{xyz}"; // fatal error: invalid utf-8 codepoint escape quence
可以通过对第一个\进行转义来避免这种错误。
$str = "\\u{xyz}"; // works fine
“\u”后面如果没有{,则没有影响:
$str = "\u202e"; // works fine
php 7 通过 intl 扩展来支持国际化 (i18n) 和本地化 (l10n) 。此扩展仅仅是对 icu 库的基础包装,并提供了和 icu 库类似的方法和特性。
php 7 通过新的 intlchar 类暴露出 icu 中的 unicode 字符特性。这个类自身定义了许多墨猴静态方法用于操作多字符集的 unicode 字符。
实例
<?php printf('%x', intlchar::codepoint_max); echo intlchar::charname('@'); var_dump(intlchar::ispunct('!')); ?>
以上程序执行输出结果为:
10ffff
commercial at
bool(true)
本文发布于:2023-04-08 18:09:49,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/zuowen/783adfdb62aad0a47d647d97ff625dbb.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:php7 参数、整形及字符串处理机制修改实例分析.doc
本文 PDF 下载地址:php7 参数、整形及字符串处理机制修改实例分析.pdf
留言与评论(共有 0 条评论) |