IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> PHP知识库 -> php经典实例(字符串) -> 正文阅读

[PHP知识库]php经典实例(字符串)

前言

php字符串是二进制安全的,(也就是说,字符串可以包含null字节),而且可以根据需要扩展和收缩,其大小只受PHP可用内存大小限制。

memory_limit = 128M

双引号字符串转义序列:https://www.php.net/manual/zh/regexp.reference.escape.php

1.访问子串

strpos — 查找字符串首次出现的位置

if(strpos('beijing','bei') !== false){
    echo 'bei in beijing';
}
// 忽视位置偏移量之前的字符进行查找
$newstring = 'abcdef abcdef';
$pos = strpos($newstring, 'a', 1); // $pos = 7, 不是 0

2.抽取子串

substr — 返回字符串的子串

substr(string $string, int $start, int $length = ?): string

返回提取的子字符串, 或者在失败时返回 false。

扩展函数 mb_substr.

3.替换子串

substr_replace — 替换字符串的子串

$phone = '15188888888';
$string = substr_replace($phone,'****',3,4);
var_dump($string);

扩展:str_replace与substr_replace的区别:

str_replace(find,replace,string,count)

demo:

#字符串替换字符串
$stringData = str_replace('world','Admin','Hello world',$i);
print_r($stringData);//Hello Admin
echo '替换次数:'.$i;//替换次数:1

#字符串替换数组键值
$arrData = array('A','B','C','D_A');
print_r(str_replace('A','E',$arrData,$i));//Array ( [0] => E [1] => B [2] => C [3] => D_E )
echo '替换次数:'. $i;//替换次数:2

#数组匹配字符串替换数组键值
$find = array('A','D');
$replace = 'E';
$arrData = array('A','B','C','D_A');
print_r(str_replace($find,$replace,$arrData,$i));//Array ( [0] => E [1] => B [2] => C [3] => E_E )
echo '替换次数:'.$i;//替换次数:3

#数组匹配数组替换数组键值
$find = array('A','D');
$replace = array('E');
$arrData = array('A','B','C','D_A');
print_r(str_replace($find,$replace,$arrData,$i));//Array ( [0] => E [1] => B [2] => C [3] => _E )
echo '替换次数:'.$i;//替换次数:3

substr_replace(string,replacement,start,length)

#替换字符串
$a=substr_replace('ABCD1234','...',4);
print_r($a);//ABCD...

#插入字符串
$b=substr_replace('ABCD1234','...',4,0);
print_r($b);//ABCD...1234

#插入字符串和规定要替换多少个字符
$c=substr_replace('ABCD1234','...',4,1);
print_r($c);//ABCD...234

#数组匹配字符串插入
$replace = array('A','BB','CCC','DDDD');
print_r(substr_replace($replace,'E',2,0));//Array ( [0] => AE [1] => BBE [2] => CCEC [3] => DDEDD )

5.按单词或字节反转字符串

希望反转一个字符串中的单词或字节

strrev — 反转字符串

$string = "this is a dog";
$s = implode(' ',array_reverse(explode(' ',$string)));
//dog a is this

6.生成随机数

function GetRandStr($length){
    $str='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
    $len=strlen($str)-1;
    $randstr='';
    for($i=0;$i<$length;$i++){
        $num=mt_rand(0,$len);
        $randstr .=$str[$num];
    }
    return $randstr;
}

$number=GetRandStr(6);
echo $number;

7.控制字母大小写

ucfirst — 将字符串的首字母转换为大写

$foo = 'hello world!';
$foo = ucfirst($foo);             // Hello world!

$bar = 'HELLO WORLD!';
$bar = ucfirst($bar);             // HELLO WORLD!
$bar = ucfirst(strtolower($bar)); // Hello world!

ucwords — 将字符串中每个单词的首字母转换为大写

$foo = 'hello|world!';
$bar = ucwords($foo);             // Hello|world!

$baz = ucwords($foo, "|");        // Hello|World!

strtoupper — 将字符串转化为大写

$str = "Mary Had A Little Lamb and She LOVED It So";
$str = strtoupper($str);
echo $str; // 打印 MARY HAD A LITTLE LAMB AND SHE LOVED IT SO

strtolower — 将字符串转化为小写

$str = "Mary Had A Little Lamb and She LOVED It So";
$str = strtolower($str);
echo $str; // 打印 mary had a little lamb and she loved it so

8.去除字符串收尾的空格

可以使用ltrim(),rtrim()和trim()

var_dump(ltrim('10 PRINT A$','0...9'));
//打印 string(9) " PRINT A$"

9.生成逗号分隔数据

fputcsv()函数写入文件

$list = [
   [ "George,John,Thomas,USA"],
   [ "James,Adrew,Martin,USA"]
];

$file = fopen("./contacts.csv","w") or die('fopen orror');


foreach ($list as $line)
{
    fputcsv($file,$line);
}

fclose($file);

10.使文本在指定行长度自动换行

wordwrap — 打断字符串为指定数量的字串

  PHP知识库 最新文章
Laravel 下实现 Google 2fa 验证
UUCTF WP
DASCTF10月 web
XAMPP任意命令执行提升权限漏洞(CVE-2020-
[GYCTF2020]Easyphp
iwebsec靶场 代码执行关卡通关笔记
多个线程同步执行,多个线程依次执行,多个
php 没事记录下常用方法 (TP5.1)
php之jwt
2021-09-18
上一篇文章      下一篇文章      查看所有文章
加:2021-07-28 07:27:14  更:2021-07-28 07:27:35 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 2:41:44-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码