PHP字符串的处理(一)-字符串初识和比较
在PHP中,字符和字节一样,共有256种不同字符的可能性,PHP对Unicode没有本地支持,一个GB2312编码的汉字占2字节,一个UTF-8编码的汉字占3字节字符串看作字符集和时,并不是真正的数组,获取字符串长度用strlen()函数,取字符串中的字符用{}
<?php
$str = "test";
echo $str{0}; //输出一个字符t
echo $str{1}; //输出一个字符e
echo $str{2}; //输出一个字符s
echo $str{3}; //输出一个字符t
echo $str{1}.$str{2}; //输出两个字符es
echo strlen($str); //输出字符串$str的长度
$str{strlen($str)-1} = 'q'; //把最后一个t替换成q
$str{0} = 'admin'; //输出结果为aest
?>
substr()函数:
substr(string,start,length),把字符串视为数组
string:字符串(必选)
start:字符串开始的位置(必选)
length:返回字符串的长度,默认是到字符串的结尾(可选)
<?php
echo substr("abcdef",2,3); //输出cde
echo substr(123456,2,4); //输出3456
?>
字符串比较:
strcasecmp(str1,str2) //忽略字符串中字母大小写进行比较
strcmp(str1,str2) //区分字符串中字母大小写进行比较
对传入的str1和str2的字符串进行比较,返回三个值
1.如果str1等于str2,返回0
2.如果str1大于str2,返回1
3.如果str1小于str2,返回-1
<?php
$username = "admin";
if(strcasecmp($username,"admin") == 0){
echo "用户名正确<br>";
}else{
echo "用户名错误<br>";
}
//输出:用户名正确
if(strcasecmp($username,"Admin") == 0){
echo "用户名正确<br>";
}else{
echo "用户名错误<br>";
}
//输出:用户名正确
if(strcmp($username,"admin") == 0){
echo "用户名正确<br>";
}else{
echo "用户名错误<br>";
}
//输出:用户名正确
if(strcmp($username,"Admin") == 0){
echo "用户名正确<br>";
}else{
echo "用户名错误<br>";
}
//输出:用户名错误
?>
strnatcmp() //按照自然排序法比较两个字符串,区分字符串大小写
strnatcasecmp() //按照自然排序法比较两个字符串,忽略字符串大小写
在自然算法中,数字2小于数字10.在计算机排序中,10小于2,因为 10 中的第一个数字小于 2
<?php echo strnatcasecmp("2test","10test"); //输出-1 ?>
PHP字符串的处理(一)-字符串初识和比较的更多相关文章
- JS字符串替换函数:Replace(“字符串1″, “字符串2″),
JS字符串替换函数:Replace(“字符串1″, “字符串2″), 1.我们都知道JS中字符串替换函数是Replace(“字符串1″, “字符串2″),但是这个函数只能将第一次出现的字符串1替换掉, ...
- C#算法之判断一个字符串是否是对称字符串
记得曾经一次面试时,面试官给我电脑,让我现场写个算法,判断一个字符串是不是对称字符串.我当时用了几分钟写了一个很简单的代码. 这里说的对称字符串是指字符串的左边和右边字符顺序相反,如"abb ...
- 将数据转化成字符串时:用字符串的链接 还是 StringBuilder
/* 目的:将数据转化成字符串时:用字符串的链接 还是 StringBuilder呢? */ public class Test{ public static void main(String[] a ...
- C风格字符串与C++风格字符串
C风格字符串与C++风格字符串 C风格字符串:对字符串进行操作的 C 函数定义在头文件<cstring>中: 1. 字符串定义:char* result: 2. 字符串的最后一个字符是nu ...
- 【编程题目】有 n 个长为 m+1 的字符串,如果某个字符串的最后 m 个字符与某个字符串的前 m 个字符匹配...
37.(字符串)有 n 个长为 m+1 的字符串,如果某个字符串的最后 m 个字符与某个字符串的前 m 个字符匹配,则两个字符串可以联接,问这 n 个字符串最多可以连成一个多长的字符串,如果出现循环, ...
- loadrunner通过字符串左右边界切割字符串
void web_reg_save_param_custom(char *sourceStr, char* outpuStr, char *leftBdry, char *rightBdry){ ...
- Swift3.0语言教程使用字符串创建和初始化字符串
Swift3.0语言教程使用字符串创建和初始化字符串 Swift3.0语言教程使用字符串创建和初始化字符串,在编程语言中,字面值是很常见的数据描述形式.人们可以通过字面所表达的意思,获知其含义,尤其是 ...
- Qt字符串类——2. 查询字符串数据
(1)函数QString::startsWith()判断一个字符串是否以某个字符串开头.此函数具有两个参数,第一个参数指定了一个字符串,第二个参数指定是否大小写敏感(默认情况下,是大小写敏感的),例如 ...
- sql 截取字符串与 截取字符串最长的字符串
); set @str='aa,32,22,55,7'; ) as '第一个逗号的索引值' )),),),'') as '第一个值' ),len(@str)) as '从第一逗号开始截取出后面的字符串 ...
- String的两个API,判断指定字符串是否包含另一字符串,在字符串中删除指定字符串。
// 在字符串中删除指定字符串. String phoneNum="1795112345"; phoneNum = phoneNum.replace("17951&quo ...
随机推荐
- C++(十六) — 类中引用成员函数、命名空间的使用
1.为什么类中引用成员函数? 类将属性和方法做了封装.类是一种数据类型,也就是:固定大小内存块的别名. 类的定义是一个抽象的概念,定义时不分配内存,当用类定义对象时,才分配一个固定大小的内存块. 此时 ...
- idea的常用设置
1.官网 官网:http://www.jetbrains.com/idea/download/#section=windows 官方文档:http://www.jetbrains.com/help/i ...
- cf 814C 思维
http://codeforces.com/contest/814/problem/C 给定一个字符串s,长度小于1500,进行q次询问q<=20w,每次询问输入一个m和一个字符c,求将最多m个 ...
- Stylus的基础用法
介绍 在学习一个 Vue.js 项目的过程中,注意到源码中样式的部分并没有用熟悉的 .css 样式文件,而是发现了代码长得和 CSS 相像的 .styl 文件.这个 .styl 以前没见过啊,你是谁? ...
- 四则运算生成与校检 Python实现
GitHub地址 https://github.com/little-petrol/Arithmetic.git 合作者: 郭旭 和 卢明凯 设计实现过程 代码的组织主要分为两个部分: 算法与结构体的 ...
- DataV纪录
DataV 是阿里云出品的拖拽式可视化工具,专精于业务数据与地理信息融合的大数据可视化.
- 【SQL查询】按照多个字段进行排序_order by
注: 1. 当前面的排序存在重复的项,后面的排序才会起作用. [示例1]:前面的排序不存在重复的项 [示例2]:前面的排序存在重复的项
- Android平台下渗透测试工具大集合
Android平台下渗透测试工具大集合 分享一个google的项目,各种Android下的渗透测试工具. Ad Network Detector (1.2): http://market.androi ...
- Golang的接口
当一只鸟走路像鸭子,游泳像鸭子,叫起来也像鸭子,那么我们就认为它就是鸭子. Duck typing 的理念因此比喻得名. Golang 通过 interface 实现 duck typing. Eff ...
- canvas 绘制图像
结果: 代码: <!DOCTYPE html> <html> <head lang="en"> <meta charset="U ...