了解PHP字符串长度函数
与所有编程语言一样,“文本”处理也在(PHP)超文本预处理器脚本语言中具有重要作用。“文本”处理的一个重要模块是字符串及其函数。在PHP中,字符串是一系列字符,其中每个字符与字节相同。因此,PHP仅支持256个字符集,因此它不会自行支持Unicode字符。PHP提供了一组用于处理和操纵字符串的功能。Some of the important functions are ‘explode’ to split a string, ‘implode’ to join an array to a string, ‘trim’ to remove spaces from the string, ‘strstr’ to find first occurrence of string to replace, ‘substr_compare’ to compare two strings, ‘strtoupper’ to make an uppercase string, ‘strpos’ to find position of first occurrence of string and ‘strlen’ function to find a String’s ‘Length’.
什么是PHP字符串长度函数?
PHP字符串长度函数('strlen')用于查找字符串中的字符的总长度。例如,它可用于计算在“文本字段”中允许的字符数,其中数据被进一步处理数据。为避免使用该数据可能出现的错误,则在限制超过时,字符串“长度”功能会通知用户。
PHP字符串长度函数语法
int strlen(string $ string)
从上面的格式,清楚的是,字符串长度函数'strlen'返回整数值。字符串是字符数要计算的参数。
字符串长度函数如何工作?
以下代码片段演示了使用字符串长度函数来计算字符串文字的长度。
代码片段:
$ charactercount = strlen('操纵');echo $ characterCount;
输出:
12
在上面的代码片段中,String Length函数' strlen '计算字符串字面量中的字符长度并将其赋值给一个变量。空格也被认为是字符串长度的1 +。要使用带有字符串变量和带有空格的字符串的方法,可以使用下面的代码片段。
代码片段1:
$ string ='操纵';$character = strlen ($string);echo $ characterCount;
代码片段2:
$string = '理解PHP字符串长度函数';$character = strlen ($string);echo $ characterCount;
输出:
44.
PHP字符串长度函数与UTF-8个字符
PHP字符串长度函数'strlen'返回字节数而不是字符串中的字符数。正如此方法计数字节和UTF-8个字符,它可以是4个字节的长度,这就是为什么字符串中的UTF-8字符的“strlen”具有与预期不同的输出。以下代码演示了使用UTF-8字符的PHP字符串长度函数行为。
代码片段:
美元utfCharacters = ' eð';$character = strlen ($utfCharacters);echo $ characterCount;
输出:
4
在上面的输出中,从PHP字符串长度函数返回的预期值是'2',但它返回'4'而不是'2'。
要了解更多关于PHP字符串函数的知识,请访问Udemy.com。
PHP字符串长度与数组的不同行为
PHP字符串长度函数在不同版本的PHP中具有不同的行为。PHP 5.3的释放出现此更改,其具有更新的内部参数解析API。此参数解析API将无效参数传递给函数时返回“NULL”。
代码片段:
$ currenttopic = array('理解','php','string','length','function');如果(strlen ($currentTopic) == 0) {echo "返回Null,计数为0 ";}其他的{echo“计数为5是返回。”;}
上述代码片段的输出与机器上的底层PHP版本不同。当机器上安装5.3或以上版本时,输出将是一个警告,' strlen()期望参数1是字符串',' if '中的' echo '将打印在屏幕上。这是因为新的参数解析API;当' array '作为参数传递给PHP字符串长度函数' strlen '时,它返回' null ',计数为' 0 '(将在下一节讨论),该函数只接受字符串作为参数根据新版本的文档。在PHP版本5.2或更低的情况下,将执行' else '语句,因为没有参数解析API, String Length函数返回' array '中的元素计数。
PHP字符串长度函数为null
PHP string Length函数' strlen '不能单独做出这个决定,因为它在' null '值的情况下也返回' 0 '。为了实现这一点,PHP函数' is_null '或' isset '被使用,' strlen '之间有' AND '操作。
代码片段:
美元sampleString_01 = " ";$ sampleString_02 =空值;空字符串的长度为。strlen ($sampleString_01)。“< br >”;null字符串的长度是'。$sampleString_02。“< br >”;回声“< br >”;如果(strlen($ samplestring_01)== 0 &&!is_null($ samplestring_01))回声'samplestring_01是空的
';如果(strlen($ samplestring_02)== 0 && is_null($ samplestring_02))回声'samplestring_02为null
';回声“< br >”;如果$sampleString_01 == 0 && isset ($sampleString_01)) echo 'sampleString_01是空的
';如果($sampleString_02 == 0 && !isset ($sampleString_02)) echo 'sampleString_02是null
';
输出:
空字符串的长度是0
空字符串的长度为0
samplestring_01是空的
samplestring_02为null.
samplestring_01是空的
samplestring_02为null.
在上面的代码输出中,清楚的是,字符串长度函数在空闲和空字符串的两种情况下返回'0',因此'is_null'和'isset'函数用于区分从空字符串的空字符串。
PHP字符串长度函数替代'MB_Strlen'
混合MB_Strlen(String $ String [,String $ Encoding = MB_Internal_Encoding()])
String Length函数的另一种选择是' mb_strlen ',它支持UTF-8字符,并为每个UTF-8字符(多字节)添加' 1 '计数,不像' strlen '。接受字符串和编码作为参数,并在字符串中返回字符数,或在无效的编码参数上返回' false '。
代码片段:
美元utfCharacters = ' eð';$ charingcount = mb_strlen($ utfcharacters,“utf-8”);echo $ characterCount;
输出:
2
上面的代码片段字符串与UTF-8的string Length ' strlen '函数相同,但是这种情况下的输出' 2 '与' strlen '情况下的' 4 '不同。这个方法可以通过添加一个方法' utf8_decode '和字符串长度函数' strlen '来实现。下面的代码片段演示了' utf8_decode '和' strlen '的用法。
代码片段:
美元utfCharacters = ' eð';$characterCount = strlen (utf8_decode ($utfCharacters);echo $ characterCount;
输出:
2
PHP字符串长度函数替代'preg_match_all'
Int preg_match_all (string pattern, string string)
PHP String Length函数的替代方法是匹配字符串中出现的所有模式,并返回匹配的总数。下面的代码片段演示了' preg_match_all '函数的用法。
代码片段:
美元utfCharacters = ' eð';$ length = preg_match_all('(。)su',$ utfcharacters);echo $长;
输出:
2