suchen
  • Anmelden
  • Melden Sie sich an
Passwort-Reset erfolgreich

Verfolgen Sie die Projekte, die Sie interessieren, und erfahren Sie die neuesten Nachrichten über sie

字符串处理机制修改

Sammlung 105
Lesen 69545
Updatezeit 2016-09-11

一、含有十六进制字符的字符串不再视为数字

含有十六进制字符的字符串不再视为数字,也不再区别对待。比如下面的代码:

var_dump("0x123" == "291");     // bool(false)     (previously true)
var_dump(is_numeric("0x123"));  // bool(false)     (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 (false === $int) {
    throw new Exception("Invalid integer!");
}
var_dump($int); // int(65535)

二、\u{后面如果包含非法字符会报错

双引号和heredocs语法里面增加了unicode 码点转义语法,“\u{”后面必须是utf-8字符。如果是非utf-8字符,会报错:

$str = "\u{xyz}"; // Fatal error: Invalid UTF-8 codepoint escape sequence
可以通过对第一个\进行转义来避免这种错误。
 $str = "\\u{xyz}"; // Works fine

“\u”后面如果没有{,则没有影响:

$str = "\u202e"; // Works fine

PHP IntlChar()

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)
Heiße KI -Werkzeuge
Undress AI Tool
Undress AI Tool

Ausziehbilder kostenlos

AI Clothes Remover
AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undresser.AI Undress
Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

Stock Market GPT
Stock Market GPT

KI-gestützte Anlageforschung für intelligentere Entscheidungen

Beliebtes Werkzeug
Notepad++7.3.1
Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version
SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)