Maison > Article > développement back-end > chaîne en php
Le type de données de PHP est divisé en huit types de données La chaîne PHP en fait également partie. Aujourd'hui, nous allons l'expliquer en détail PHPChaîne.
Introduction
L'implémentation d'une chaîne en PHP est un tableau d'octets plus un entier indiquant la longueur du tampon. Il n'y a aucune information sur la façon de convertir les octets en caractères ; cela est laissé au programmeur. Il n'y a aucune restriction quant aux valeurs qui composent une chaîne, en particulier, un octet avec une valeur de 0 peut être n'importe où dans la chaîne.Puisque PHP ne spécifie pas l'encodage des chaînes, comment les chaînes sont-elles encodées ? Par exemple, la chaîne "á" est-elle égale à "xE1" (ISO-8859-1), "xC3xA1" (UTF-8, forme C), "x61xCCx81" (UTF-8, forme D) ou toute autre expression possible ? La réponse est que la chaîne sera codée dans le même codage que le fichier script.
Représentation des chaînes
Les chaînes PHP peuvent être représentées de 4 manières, notamment : guillemets simples /guillemets doubles/ heredoc/nowdocCes quatre méthodes prennent toutes en charge l'écriture de chaînes sur plusieurs lignes. En même temps, les nouvelles lignes et les espaces dans la chaîne seront conservés dans les caractères tels qu'ils sont, c'est-à-dire le format du code source. sera maintenu. Si vous souhaitez éliminer les sauts de ligne, vous pouvez l'écrire sur une seule ligne et utiliser l'opérateur de concaténation de chaînes."Hi, $str."Une fois que l'analyseur syntaxique rencontre le symbole $, il obtiendra la chaîne entre le symbole $ et le caractère suivant qui n'est pas une lettre anglaise, un chiffre arabe ou un trait de soulignement, et la traitera comme un nom de variable. S'il n'y a pas de variable de ce type dans le programme, elle sera automatiquement ignorée. Si vous souhaitez afficher le symbole $, vous devez utiliser le caractère d'échappement $
<?php $name = "pish"; echo <<<'str1' My name is $name.<br> str1; ?>
Analyse des variables en chaîne
Le moyen le plus simple est d'écrire directement le nom de la variable, par exemple :$name = 'Ann'; $str = "hello $name!";Cette méthode doit avoir un caractère à la fin du nom de la variable qui ne peut pas être utilisé pour nommer la variable, comme "!" dans l'exemple ci-dessus, à moins bien sûr que la chaîne ne soit terminée.
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
以上就是本文的所有内容,希望可以给你带来对字符串的新认识哦~
相关推荐:
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!