simker

Life is too short, just make it.


  • 首页

  • 归档

  • 分类

  • 标签

  • 关于

  • 音乐

  • 搜索

PHP梳理之string

发表于 2021-02-08 更新于 2021-02-22 分类于 PHP 阅读次数: Disqus:
本文字数: 1.7k 阅读时长 ≈ 2 分钟

梳理 php 关于 string 的小知识

拼接

两种方式:

  • 普通字符串拼接
  • 运用sprintf

第一种方式在PHP基础笔记之类型有提到,示例主要针对 sprintf 函数:

1
2
3
4
5
6
7
8
<?php
$name = 'Jack';
$age = 10;

echo sprintf('His name is %s.', $name);// His name is Jack.

printf('His name is %s, and he is %s.', $name, $age);// His name is Jack, and he is 10.
?>

格式化

  • number_format - 以千位分隔符方式格式化一个数字
  • 如果要替换点千位分隔符需要加参数
  • ucfirst,lcfirst 首字母大|小写
  • trim 过滤掉字符串前后无用字符(空格,换行,缩进等)
  • ltrim 作用同上,但是只过滤字符串前面的无用字符
1
2
3
4
5
6
7
8
9
10
11
<?php
$numberFormat = '2387484'
echo number_format($numberFormat, 2);// 2,387,484.00
echo number_format($numberFormat, 2, '.', '');// 2387484.00
echo ucfirst('it\'s me!'); // It's me!
echo lcfirst('Hi!'); // hi!
echo trim(' Hi!
'); // Hi!
echo ltrim('
Hi!'); // Hi!
?>

转化

这里只提及简单转化,不深入

数字
  • floatval 提取浮点值
  • intval 获取变量整数值
  • 除此之外,你还可以用 settype 来转换
1
2
3
4
5
6
7
8
9
10
<?php
$a = '3.14158额';
$b = '1个';
$c = true;

echo floatval($a); // 3.14158
echo intval($b); // 1
settype($c, 'string');
echo $c; // 1
?>
数组
  • explode 按照特定字符分割成数组
  • str_split 按照步长分割数组
  • implode 可以把数组转化为字符串
1
2
3
4
5
6
7
<?php
$a = 'hello,world';
$b = explode(',', $a); // [’hello‘, 'world']
$c = str_split($a, 2); // ['he', 'll', 'o,', 'wo', 'rl', 'd']

$d = implode(',', $b); // 'hello,world'
?>

查询字符串中特定的值

  • 简单的字符串匹配
1
2
3
4
5
6
7
8
9
10
11
<?php
$content = '我竟无语凝噎';
$search = '无语';

$strpos = false !== strpos($content, $search); // true
$strstr = false === strstr($search, $content); // true
$strchr = false === strchr($search, $content); // true
// strchr is alias of strstr
$regx = "/(无语)/";
$preg = (bool)preg_match($regx, $content); // true
?>

替换

1
2
3
4
5
6
7
<?php
// 搜索替换
echo str_replace('言', '颜', '我竟无言以对'); // 我竟无颜以对

// 截取替换
echo substr_replace('hello,world', 'hi', 0, 5); // hi,world
?>

截取

1
2
3
4
5
<?php
echo substr('hello,world', 0, 5); // hello
echo substr('hello,world', 5, 1); // ,
echo substr('hello,world', 6, 5); // world
?>

重复

纯属个人喜好发现的好玩意

1
2
3
<?php
echo str_repeat('说了多少遍了,不要做六边形战士!', 3);
?>

To be continue

Cai xian 微信支付

微信支付

Cai xian 支付宝

支付宝

# notes
PHP基础笔记之类型
PHP流程控制小梳理
  • 文章目录
  • 站点概览
Cai xian

Cai xian

A super nice guy!
24 日志
12 分类
15 标签
  1. 1. 拼接
  2. 2. 格式化
  3. 3. 转化
    1. 3.1. 数字
    2. 3.2. 数组
  4. 4. 查询字符串中特定的值
  5. 5. 替换
  6. 6. 截取
  7. 7. 重复
© 2019 – 2021 Cai xian | 70k | 1:04
由 Hexo 强力驱动 v3.9.0
|
主题 – NexT.Pisces v7.3.0
|