php自定义函数及内部函数----字符串处理函数

一、统计字符串

(1)strlen() 统计字符串长度

函数返回值为整形,表示字符串长度。若返回值为0,表示该字符串为空。该函数对待一个UTF8的中文字符,处理为3个字节长度。

echo strlen("xiaolin!");// 输出:8

echo strlen("小林!");  // 输出:7

(2)mb_strlen() 统计中文字符串的长度

mb_strlen ( string $str [, string $encoding = mb_internal_encoding() ] )
$str 要检查长度的字符串
$encoding,可指定字符编码,如省略则使用内部字符编码
返回值:返回具有encoding编码的字符串str包含的[字符数],多字节的字符被计为 1

$str=‘我是小林zi‘;
echo strlen($str).‘<br>‘;// 在strlen计算中,对待一个UTF8的中文字符,处理为3个字节长度,3 * 4 + 2 = 14
echo mb_strlen($str,‘utf8‘).‘<br>‘;// 当mb_strlen的内码选择为UTF-8的时候,则会将中文字符当成一个字符,即为 1 * 4 + 2 = 6
echo mb_strlen($str,‘gbk‘).‘<br>‘;// 当mb_strlen的内码选择为gbk的时候,一个中文字符当成1.5个字符来处理来处理, 1.5 * 4 + 2 = 8

(3)count_chars() 统计一个字符串中的字符出现频率。

count_chars(string,mode)

mode 可选。规定返回模式。默认是 0。以下是不同的返回模式:

  • 0 - 数组,ASCII 值为键名,出现的次数为键值
  • 1 - 数组,ASCII 值为键名,出现的次数为键值,只列出出现次数大于 0 的值
  • 2 - 数组,ASCII 值为键名,出现的次数为键值,只列出出现次数等于 0 的值
  • 3 - 字符串,带有所有使用过的不同的字符
  • 4 - 字符串,带有所有未使用过的不同的字符
print_r(count_chars($str,1)); //Array ( [32] => 1 [33] => 1 [72] => 1 [87] => 1 [100] => 1 [101] => 1 [108] => 3 [111] => 2 [114] => 1 )
print_r(count_chars($str,3));  // !HWdelor

二、字符串转化

(1)trim():去除空格;
         ltrim():只从开始处去除空格;
         rtrim():只从结尾处去除空格。

    trim(string,charlist)

原文地址:https://www.cnblogs.com/xlzfdddd/p/10074097.html

时间: 2024-11-13 03:53:49

php自定义函数及内部函数----字符串处理函数的相关文章

【Linux C中文函数手册】 字符串转换函数

字符串转换函数 1)atof 将字符串转换成浮点型数 相关函数 atoi,atol,strtod,strtol,strtoul表头文件 #include <stdlib.h>定义函数 double atof(const char *nptr);函数说明 atof()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('\0')才结束转换,并将结果返回.参数nptr字符串可包含正负号.小数点或E(e)来表示指数部分,如123.456或1

php自定义函数及内部函数----数组处理函数

一.增加元素 (1)array_push() : 函数向第一个参数的数组尾部添加一个或多个元素(入栈),然后返回新数组的长度. 注释:如果用 array_push() 来给数组增加一个单元,还不如用 $array[] =,因为这样没有调用函数的额外负担. 注释:如果第一个参数不是数组,array_push() 将发出一条警告.这和 $var[] 的行为不同,后者会新建一个数组. $a=array("a"=>"xiao","b"=>&q

SQL Server自定义字符串分割函数——Split

我相信大部分人都碰到过,处理数据的时候,字段的值是以 ',' (逗号)分隔的形式,所以我也不能避免. 然后我才知道,sql 是没有类似于 C# 和 Javascript 这种分割字符串的方法.( Split ) 所以我自己定义了一个 sql 函数(多声明表值函数),代码如下: 1 USE [Test] 2 GO 3 /****** Object: UserDefinedFunction [dbo].[Split] Script Date: 2017/4/14 23:04:08 ******/ 4

SQL自定义函数split分隔字符串

SQL自定义函数split分隔字符串 一.F_Split:分割字符串拆分为数据表 Create FUNCTION [dbo].[F_Split] ( @SplitString nvarchar(max), --源字符串 @Separator nvarchar(10)=' ' --分隔符号,默认为空格 ) RETURNS @SplitStringsTable TABLE --输出的数据表 ( [id] int identity(1,1), [value] nvarchar(max) ) AS BE

前端自定义format函数,做字符串格式化功能

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>自定义format函数,做字符串格式化功能</title> </head> <body> <script> String.prototype.format = function (kwargs) { //自定义定义form

SQL SERVER 2005允许自定义聚合函数-表中字符串分组连接

不多说了,说明后面是完整的代码,用来将字符串型的字段的各行的值拼成一个大字符串,也就是通常所说的Concat 例如有如下表dict  ID  NAME  CATEGORY  1 RED  COLOR   2 BLUE COLOR  3 APPLE  FRUIT  4 ORANGE FRUIT 执行SQL语句:select category,dbo.concatenate(name) as names from dict group by category. 得到结果表如下  category  

oracle | 字符串分割函数

/** * 字符串分割函数. * @param P_STR 待分割的字符串 * @param 分隔符 * @return 自定义table类型TY_STR_SPLIT. * 使用方法 select column_value from table(fn_split('1,2',',')) * @Author: xDer */ CREATE OR REPLACE FUNCTION FN_SPLIT(P_STR IN VARCHAR2, P_DELIMITER IN VARCHAR2) RETURN

java mysql自定义函数UDF之调用c函数

正如sqlite可以定义自定义函数,它是通过API定义c函数的,不像其他,如这里的mysql.sqlite提供原生接口就可以方便的调用其他语言的方法,同样的mysql也支持调用其它语言的方法. google "mysql call c function"发现一片文章 MySQL User Defined Functions  This tutorial explains what an User Defined Function (UDF) is, what it does and w

QT中的字符串处理函数

Fn 1 : arg 这个函数的具体声明不写了,它有20个重载,典型的示例代码如下: 1: #include <QtCore/QCoreApplication> 2: #include <iostream> 3: #include <stdio.h> 4: using namespace std; 5: 6: int main() 7: { 8: QString str = QString("Ggicci is %1 years old, and majors