Heim > Artikel > Backend-Entwicklung > Zeichenfolge in PHP
Der Datentyp ist in acht Datentypen PHP unterteilt. Heute werden wir ihn im Detail erklären PHPString.
Einführung
Die Implementierung von String in PHP ist ein Array von Bytes plus einer Ganzzahl, die die Pufferlänge angibt. Es gibt keine Informationen darüber, wie Bytes in Zeichen umgewandelt werden; dies bleibt dem Programmierer überlassen. Es gibt keine Einschränkung hinsichtlich der Werte, aus denen eine Zeichenfolge besteht. Insbesondere kann ein Byte mit dem Wert 0 an einer beliebigen Stelle in der Zeichenfolge stehen.Da PHP die Codierung von Strings nicht angibt, wie werden Strings codiert? Ist beispielsweise die Zeichenfolge „á“ gleich „xE1“ (ISO-8859-1), „xC3xA1“ (UTF-8, C-Form), „x61xCCx81“ (UTF-8, D-Form) oder einem anderen möglichen Ausdruck ? Die Antwort ist, dass die Zeichenfolge in derselben Codierung wie die Skriptdatei codiert wird.
Darstellung von Strings
PHP-Strings können auf vier Arten dargestellt werden, darunter: einfache Anführungszeichen /doppelte Anführungszeichen/ heredoc/nowdocDiese vier Methoden unterstützen alle das Schreiben von Zeichenfolgen in mehrere Zeilen. Gleichzeitig bleiben Zeilenumbrüche und Leerzeichen in den Zeichen unverändert, dh im Format im Quellcode wird beibehalten. Wenn Sie Zeilenumbrüche vermeiden möchten, können Sie sie in eine einzelne Zeile schreiben und den String-Verkettungsoperator verwenden."Hi, $str."Sobald der Syntaxanalysator auf das $-Symbol stößt, wird es ruft die Zeichenfolge zwischen dem $-Symbol und dem nächsten Zeichen ab, das kein englischer Buchstabe, keine arabische Ziffer oder kein Unterstrich ist, und behandelt sie als Variablennamen. Wenn im Programm keine solche Variable vorhanden ist, wird sie automatisch ignoriert. Wenn Sie das $-Symbol ausgeben möchten, müssen Sie das Escape-Zeichen $ verwenden
<?php $name = "pish"; echo <<<'str1' My name is $name.<br> str1; ?>
Variablenanalyse in String
Der einfachste Weg besteht darin, den Variablennamen direkt zu schreiben, zum Beispiel:$name = 'Ann'; $str = "hello $name!";Diese Methode muss am Ende des Variablennamens ein Zeichen haben, das nicht zur Variablenbenennung verwendet werden kann, wie zum Beispiel „!“ im obigen Beispiel, es sei denn, die Zeichenfolge ist beendet.
4.解析数组元素时,只有通过花括号语法才能正确解析带引号的键名
$str = "hello ${name}"; $str = "hello ${ name }"; $str = "hello {$name }"; $str = "hello {$ name }"; // 出错
只使用一层花括号时,无法处理函数或方法的返回值或者类常量以及类静态变量。正确的做法是使用两层花括号:
{${getName()}} // 函数 {${$object->getName()}} // 方法 {${beers::softdrink}} // 类常量 {${beers::$ale}} // 类变量
下面的例子演示了字符串中的可变变量:
$name = 'Ann'; $Ann = 'Jeck'; echo "hello {${$name}}"; // hello Jeck echo "hello ${$name}"; // hello Jeck class foo { var $bar = 'I am bar.'; } $foo = new foo(); $bar = 'bar'; $baz = array('foo', 'bar', 'baz', 'quux'); echo "{$foo->$bar}\n"; // I am bar. echo "{$foo->{$baz[1]}}\n"; // I am bar.
以数组的形式访问字符串
一个字符串可以当成一个可读写的数组进行访问,这时,数组的键固定为0、1、2...
可以使用方括号或花括号来访问字符串中的元素:
$str = "abcdefg"; $str[0] = "2"; $str{1} = 3; echo var_dump($str); // string(7) "23cdefg"
注意,用超出字符串长度的下标写入将会拉长该字符串并以空格填充。非整数类型下标会被转换成整数。非法下标类型会产生一个 E_NOTICE 级别错误。用负数下标写入字符串时会产生一个 E_NOTICE 级别错误,用负数下标读取字符串时返回空字符串。写入时只用到了赋值字符串的第一个字符。用空字符串赋值则赋给的值是 NULL 字符。
PHP 的字符串在内部是字节组成的数组。因此用花括号访问或修改字符串对多字节字符集很不安全。仅应对单字节编码例如 ISO-8859-1 的字符串进行此类操作。
运算符
字符串支持以下这些运算符:
. .=
该运算符用于连接两个字符串:
$str1 = "hello " . "world"; $str1 .= "!"; echo $str1; // hello world!
字符串函数
strlen(str)
返回字符串的长度
$str1 = "abcdefg"; $str2 = "大家好!"; echo strlen($str1); // 7 echo strlen($str2); // 10
以上就是本文的所有内容,希望可以给你带来对字符串的新认识哦~
相关推荐:
Das obige ist der detaillierte Inhalt vonZeichenfolge in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!