php字符串函数

<?php
$txt="Hello world!";
echo $txt;
?>

  

通过上篇对PHP数据类型的简单了解,知道了字符串类型,本篇将介绍在php中常用的字符串函数。

字符串是字符序列,比如 "Hello world!"。

PHP 字符串函数

字符串在php的作用?

    字符串变量用于存储并处理文本。


 

字符串变量用于包含有字符的值。

在创建字符串之后,我们就可以对它进行操作了。您可以直接在函数中使用字符串,或者把它存储在变量中。

在下面的实例中,我们创建一个名为 txt 的字符串变量,并赋值为 "Hello world!" 。然后我们输出 txt 变量的值:

 

<?php
$txt="Hello world!";
echo $txt;
?>

  运行结果:

Hello world!

  注释:当您赋一个文本值给变量时,请记得给文本值加上单引号或者双引号。

一些常用的操作字符串的函数和运算符。

PHP 并置运算符

在 PHP 中,只有一个字符串运算符。

并置运算符 (.) 用于把两个字符串值连接起来。

下面的实例演示了如何将两个字符串变量连接在一起:

<?php
$txt1="Hello world!";
$txt2="What a nice day!";
echo $txt1 . " " . $txt2;
?>

  运行结果:

Hello world! What a nice day!

  提示:在上面的代码中,我们已经使用了两次并置运算符。这是由于我们需要在两个字符串之间插入一个空格。

1. strlen() 函数

strlen() 函数返回字符串的长度,以字符计。

下例返回字符串 "Hello world!" 的长度:

 
  
<?php
echo strlen("Hello world!");
?>
 
  

    运行结果:

12

提示:strlen() 常用于循环和其他函数,在确定字符串何时结束很重要时。(例如,在循环中,我们也许需要在字符串的最后一个字符之后停止循环)。

2. strpos() 函数

strpos() 函数用于检索字符串内指定的字符或文本。

如果找到匹配,则会返回首个匹配的字符位置。如果未找到匹配,则将返回 FALSE。

下例检索字符串 "Hello world!" 中的文本 "world":

<?php
echo strpos("Hello world!","world");
?>

    运行结果:

6

 

提示:上例中字符串 "world" 的位置是 6。是 6(而不是 7)的理由是,字符串中首字符的位置是 0 而不是 1。

 

3. addcslashes() //不常用

addcslashes() 函数返回在指定字符前添加反斜杠的字符串。

注释:addcslashes() 函数对大小写敏感。

注释:对以下字符应用 addcslashes() 时请小心:0(NULL), r(回车), n(换行), f 换页)、t(制表符)以及 v(垂直制表符)。在 PHP 中,\0, \r, \n, \t, \f 以及 \v 是预定义的转义序列。

<?php
$str = addcslashes("A001 A002 A003","A");
echo($str);
?>

     运行结果: 

\A001 \A002 \A003

 

向字符串中的某个范围内的字符添加反斜杠:

<?php
$str = "Welcome to Shanghai!";
echo $str."<br>";
echo addcslashes($str,'A..Z')."<br>";
echo addcslashes($str,'a..z')."<br>";
echo addcslashes($str,'a..g');
?>

    运行结果:

Welcome to Shanghai!
\Welcome to \Shanghai!
W\e\l\c\o\m\e \t\o S\h\a\n\g\h\a\i!
W\el\com\e to Sh\an\gh\ai!
 4. addslashes()  //不常用

addslashes() 函数返回在预定义字符之前添加反斜杠的字符串。

预定义字符是:

  • 单引号(')
  • 双引号(")
  • 反斜杠(\)
  • NULL

提示:该函数可用于为存储在数据库中的字符串以及数据库查询语句准备字符串。

注释:默认地,PHP 对所有的 GET、POST 和 COOKIE 数据自动运行 addslashes()。所以您不应对已转义过的字符串使用 addslashes(),因为这样会导致双层转义。遇到这种情况时可以使用函数 get_magic_quotes_gpc() 进行检测。

PHP 字符串函数是 PHP 核心的组成部分。无需安装即可使用这些函数。

   向字符串中的预定义字符添加反斜杠:

<?php
$str = "Who's Bill Gates?";
echo $str . " This is not safe in a database query.<br>";
echo addslashes($str) . " This is safe in a database query.";
?>

  运行结果:

Who's Bill Gates? This is not safe in a database query.
Who\'s Bill Gates? This is safe in a database query.

  

5. bin2hex()  //不常用

bin2hex() 函数把 ASCII 字符的字符串转换为十六进制值。字符串可通过使用 pack() 函数再转换回去。

把一个字符串值从二进制转换为十六进制,再转换回去:

<?php
$str = "Shanghai";
echo bin2hex($str) . "<br>";
echo pack("H*",bin2hex($str)) . "<br>";
?>

  运行结果:

5368616e67686169
Shanghai

  提示:bin2hex()转换后的字符串均为16位。

 

 

提示:这些函数均来自php5,其他或更高版本在应用函数时还需要先检测是否可用;

函数描述
addcslashes()返回在指定的字符前添加反斜杠的字符串。
addslashes()返回在预定义的字符前添加反斜杠的字符串。
bin2hex()把 ASCII 字符的字符串转换为十六进制值。
chop()删除字符串右侧的空白字符或其他字符。
chr()从指定的 ASCII 值返回字符。
chunk_split()把字符串分割为一系列更小的部分。
convert_cyr_string()把字符串由一种 Cyrillic 字符集转换为另一种。
convert_uudecode()解码 uuencode 编码字符串。
convert_uuencode()使用 uuencode 算法对字符串进行编码。
count_chars()返回有关字符串中所用字符的信息。
crc32()计算字符串的 32 位 CRC。
crypt()单向的字符串加密法(hashing)。
echo()输出一个或多个字符串。
explode()把字符串打散为数组。
fprintf()把格式化的字符串写入到指定的输出流。
get_html_translation_table()返回由 htmlspecialchars() 和 htmlentities() 使用的翻译表。
hebrev()把希伯来文本转换为可见文本。
hebrevc()把希伯来文本转换为可见文本,并把新行(\n)转换为 <br>。
hex2bin()把十六进制值的字符串转换为 ASCII 字符。
html_entity_decode()把 HTML 实体转换为字符。
htmlentities()把字符转换为 HTML 实体。
htmlspecialchars_decode()把一些预定义的 HTML 实体转换为字符。
htmlspecialchars()把一些预定义的字符转换为 HTML 实体。
implode()返回由数组元素组合成的字符串。
join()implode() 的别名。
lcfirst()把字符串的首字符转换为小写。
levenshtein()返回两个字符串之间的 Levenshtein 距离。
localeconv()返回本地数字及货币格式信息。
ltrim()移除字符串左侧的空白字符或其他字符。
md5()计算字符串的 MD5 散列。
md5_file()计算文件的 MD5 散列。
metaphone()计算字符串的 metaphone 键。
money_format()返回格式化为货币字符串的字符串。
nl_langinfo()返回特定的本地信息。
nl2br()在字符串中的每个新行之前插入 HTML 换行符。
number_format()以千位分组来格式化数字。
ord()返回字符串中第一个字符的 ASCII 值。
parse_str()把查询字符串解析到变量中。
print()输出一个或多个字符串。
printf()输出格式化的字符串。
quoted_printable_decode()把 quoted-printable 字符串转换为 8 位字符串。
quoted_printable_encode()把 8 位字符串转换为 quoted-printable 字符串。
quotemeta()引用元字符。
rtrim()移除字符串右侧的空白字符或其他字符。
setlocale()设置地区信息(地域信息)。
sha1()计算字符串的 SHA-1 散列。
sha1_file()计算文件的 SHA-1 散列。
similar_text()计算两个字符串的相似度。
soundex()计算字符串的 soundex 键。
sprintf()把格式化的字符串写入变量中。
sscanf()根据指定的格式解析来自字符串的输入。
str_getcsv()把 CSV 字符串解析到数组中。
str_ireplace()替换字符串中的一些字符(对大小写不敏感)。
str_pad()把字符串填充为新的长度。
str_repeat()把字符串重复指定的次数。
str_replace()替换字符串中的一些字符(对大小写敏感)。
str_rot13()对字符串执行 ROT13 编码。
str_shuffle()随机地打乱字符串中的所有字符。
str_split()把字符串分割到数组中。
str_word_count()计算字符串中的单词数。
strcasecmp()比较两个字符串(对大小写不敏感)。
strchr()查找字符串在另一字符串中的第一次出现。(strstr() 的别名。)
strcmp()比较两个字符串(对大小写敏感)。
strcoll()比较两个字符串(根据本地设置)。
strcspn()返回在找到某些指定字符的任何部分之前,在字符串中查找的字符数。
strip_tags()剥去字符串中的 HTML 和 PHP 标签。
stripcslashes()删除由 addcslashes() 函数添加的反斜杠。
stripslashes()删除由 addslashes() 函数添加的反斜杠。
stripos()返回字符串在另一字符串中第一次出现的位置(对大小写不敏感)。
stristr()查找字符串在另一字符串中第一次出现的位置(大小写不敏感)。
strlen()返回字符串的长度。
strnatcasecmp()使用一种"自然排序"算法来比较两个字符串(对大小写不敏感)。
strnatcmp()使用一种"自然排序"算法来比较两个字符串(对大小写敏感)。
strncasecmp()前 n 个字符的字符串比较(对大小写不敏感)。
strncmp()前 n 个字符的字符串比较(对大小写敏感)。
strpbrk()在字符串中查找一组字符的任何一个字符。
strpos()返回字符串在另一字符串中第一次出现的位置(对大小写敏感)。
strrchr()查找字符串在另一个字符串中最后一次出现。
strrev()反转字符串。
strripos()查找字符串在另一字符串中最后一次出现的位置(对大小写不敏感)。
strrpos()查找字符串在另一字符串中最后一次出现的位置(对大小写敏感)。
strspn()返回在字符串中包含的特定字符的数目。
strstr()查找字符串在另一字符串中的第一次出现(对大小写敏感)。
strtok()把字符串分割为更小的字符串。
strtolower()把字符串转换为小写字母。
strtoupper()把字符串转换为大写字母。
strtr()转换字符串中特定的字符。
substr()返回字符串的一部分。
substr_compare()从指定的开始位置(二进制安全和选择性区分大小写)比较两个字符串。
substr_count()计算子串在字符串中出现的次数。
substr_replace()把字符串的一部分替换为另一个字符串。
trim()移除字符串两侧的空白字符和其他字符。
ucfirst()把字符串中的首字符转换为大写。
ucwords()把字符串中每个单词的首字符转换为大写。
vfprintf()把格式化的字符串写到指定的输出流。
vprintf()输出格式化的字符串。
vsprintf()把格式化字符串写入变量中。
wordwrap()打断字符串为指定数量的字串

 

上面表中的字符串均可做了解!

 

转载于:https://www.cnblogs.com/average/p/7966774.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 支持向量机非线性回归通用MATLAB程序解析 #### 一、概述 本文将详细介绍一个基于MATLAB的支持向量机(SVM)非线性回归的通用程序。该程序采用支持向量机方法来实现数据的非线性回归,并通过不同的核函数设置来适应不同类型的数据分布。此外,该程序还提供了数据预处理的方法,使得用户能够更加方便地应用此程序解决实际问题。 #### 二、核心功能与原理 ##### 1. 支持向量机(SVM) 支持向量机是一种监督学习模型,主要用于分类和回归分析。对于非线性回归任务,SVM通过引入核技巧(kernel trick)将原始低维空间中的非线性问题转换为高维空间中的线性问题,从而实现有效的非线性建模。 ##### 2. 核函数函数的选择直接影响到模型的性能。本程序内置了三种常用的核函数: - **线性核函数**:`K(x, y) = x'y` - **多项式核函数**:`K(x, y) = (x'y + 1)^d` - **径向基函数(RBF)**:`K(x, y) = exp(-γ|x - y|^2)` 其中RBF核函数被广泛应用于非线性问题中,因为它可以处理非常复杂的非线性关系。本程序默认使用的是RBF核函数,参数`D`用于控制高斯核函数的宽度。 ##### 3. 数据预处理 虽然程序本身没有直接涉及数据预处理的过程,但在实际应用中,对数据进行适当的预处理是非常重要的。常见的预处理步骤包括归一化、缺失值处理等。 ##### 4. 模型参数 - **Epsilon**: ε-insensitive loss function的ε值,控制回归带宽。 - **C**: 松弛变量的惩罚系数,控制模型复杂度与过拟合的风险之间的平衡。 #### 三、程序实现细节 ##### 1. 函数输入与输出 - **输入**: - `X`: 输入特征矩阵,维度为(n, l),其中n是特征数量,l是样本数量。 - `Y`: 目标值向量,长度为l。 - `Epsilon`: 回归带宽。 - `C`: 松弛变量的惩罚系数。 - `D`: RBF核函数的参数。 - **输出**: - `Alpha1`: 正的拉格朗日乘子向量。 - `Alpha2`: 负的拉格朗日乘子向量。 - `Alpha`: 拉格朗日乘子向量。 - `Flag`: 标记向量,表示每个样本的类型。 - `B`: 偏置项。 ##### 2. 核心代码解析 程序首先计算所有样本间的核矩阵`K`,然后构建二次规划问题并求解得到拉格朗日乘子向量。根据拉格朗日乘子的值确定支持向量,并计算偏置项`B`。 - **核矩阵计算**:采用RBF核函数,通过`exp(-(sum((xi-xj).^2)/D))`计算任意两个样本之间的相似度。 - **二次规划**:构建目标函数和约束条件,使用`quadprog`函数求解最小化问题。 - **支持向量识别**:根据拉格朗日乘子的大小判断每个样本是否为支持向量,并据此计算偏置项`B`。 #### 四、程序扩展与优化 - **多核函数支持**:可以通过增加更多的核函数选项,提高程序的灵活性。 - **自动调参**:实现参数自动选择的功能,例如通过交叉验证选择最优的`Epsilon`和`C`值。 - **并行计算**:利用MATLAB的并行计算工具箱加速计算过程,特别是当样本量很大时。 #### 五、应用场景 该程序适用于需要进行非线性回归预测的场景,如经济预测、天气预报等领域。通过调整核函数和参数,可以有效应对各种类型的非线性问题。 ### 总结 本程序提供了一个支持向量机非线性回归的完整实现框架,通过灵活的核函数设置和参数调整,能够有效地处理非线性问题。对于需要进行回归预测的应用场景,这是一个非常实用且强大的工具。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值