在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字符串的处理(一)-字符串初识和比较的更多相关文章

  1. JS字符串替换函数:Replace(“字符串1″, “字符串2″),

    JS字符串替换函数:Replace(“字符串1″, “字符串2″), 1.我们都知道JS中字符串替换函数是Replace(“字符串1″, “字符串2″),但是这个函数只能将第一次出现的字符串1替换掉, ...

  2. C#算法之判断一个字符串是否是对称字符串

    记得曾经一次面试时,面试官给我电脑,让我现场写个算法,判断一个字符串是不是对称字符串.我当时用了几分钟写了一个很简单的代码. 这里说的对称字符串是指字符串的左边和右边字符顺序相反,如"abb ...

  3. 将数据转化成字符串时:用字符串的链接 还是 StringBuilder

    /* 目的:将数据转化成字符串时:用字符串的链接 还是 StringBuilder呢? */ public class Test{ public static void main(String[] a ...

  4. C风格字符串与C++风格字符串

    C风格字符串与C++风格字符串 C风格字符串:对字符串进行操作的 C 函数定义在头文件<cstring>中: 1. 字符串定义:char* result: 2. 字符串的最后一个字符是nu ...

  5. 【编程题目】有 n 个长为 m+1 的字符串,如果某个字符串的最后 m 个字符与某个字符串的前 m 个字符匹配...

    37.(字符串)有 n 个长为 m+1 的字符串,如果某个字符串的最后 m 个字符与某个字符串的前 m 个字符匹配,则两个字符串可以联接,问这 n 个字符串最多可以连成一个多长的字符串,如果出现循环, ...

  6. loadrunner通过字符串左右边界切割字符串

    void web_reg_save_param_custom(char *sourceStr, char* outpuStr, char *leftBdry, char *rightBdry){    ...

  7. Swift3.0语言教程使用字符串创建和初始化字符串

    Swift3.0语言教程使用字符串创建和初始化字符串 Swift3.0语言教程使用字符串创建和初始化字符串,在编程语言中,字面值是很常见的数据描述形式.人们可以通过字面所表达的意思,获知其含义,尤其是 ...

  8. Qt字符串类——2. 查询字符串数据

    (1)函数QString::startsWith()判断一个字符串是否以某个字符串开头.此函数具有两个参数,第一个参数指定了一个字符串,第二个参数指定是否大小写敏感(默认情况下,是大小写敏感的),例如 ...

  9. sql 截取字符串与 截取字符串最长的字符串

    ); set @str='aa,32,22,55,7'; ) as '第一个逗号的索引值' )),),),'') as '第一个值' ),len(@str)) as '从第一逗号开始截取出后面的字符串 ...

  10. String的两个API,判断指定字符串是否包含另一字符串,在字符串中删除指定字符串。

    // 在字符串中删除指定字符串. String phoneNum="1795112345"; phoneNum = phoneNum.replace("17951&quo ...

随机推荐

  1. 监控和审计IBM InfoSphere BigInsights和Cloudera Hadoop的访问权限

    http://www.ithov.com/server/124456.shtml 您也将学习一个仅适用于 IBM InfoSphere BigInsights 的快速启动监控实现. 大数据骚动主要集中 ...

  2. Redis 数据备份与恢复,安全,性能测试,客户端连接,管道技术,分区(四)

    Redis 数据备份与恢复 Redis SAVE 命令用于创建当前数据库的备份. 语法 redis Save 命令基本语法如下: redis 127.0.0.1:6379> SAVE 实例 re ...

  3. 30-THREE.JS 圆环

    <!DOCTYPE html> <html> <head> <title>Example 05.03 - Basic 2D geometries - R ...

  4. 【spark】分区

    RDD是弹性分布式数据集,通常RDD很大,会被分成多个分区,保存在不同节点上. 那么分区有什么好处呢? 分区能减少节点之间的通信开销,正确的分区能大大加快程序的执行速度. 我们看个例子 首先我们要了解 ...

  5. Linux各文件及目录说明2018-03-01更新

    本人wechat:YWNlODAyMzU5MTEzMTQ=. *** /etc /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/clo ...

  6. mcake活动维护,检查 ★ ★

    一.检查火狐浏览器.chrome浏览器.ie8.9.10.11是否显示正常 二.对比设计稿 三.动画添加 四.检查图片是否失真 五.ie8空按钮无法点击 六.官网banner制作

  7. 利用selenium webdriver点击alert提示框

    在进行元素定位时常常遇到这样的alert框: 那么该如何定位并点击确定或取消按钮呢?stackoverflow上找到了这个问题的答案. OK, Show you the code: driver.fi ...

  8. 使用Kali Linux执行中间人攻击(演示)

    中间人攻击也叫Man-In-The-Middle-Attack. 我假设你已经知道中间人攻击的基本概念,引用一段wikipedia: 中间人攻击(Man-in-the-middle attack,缩写 ...

  9. MyBatis对多关系:显示该用户的所有角色

    只要在一边的UserMapper.xml 配置好就可以了 <?xml version="1.0" encoding="UTF-8" ?> <! ...

  10. 快排的python实现

    快排的python实现 #python 2.7 def quick_sort(L): if len(L) <= 1: return L else: return quick_sort([lt f ...