威尼斯www.9778.com-威尼斯正版官方网站

php删除字符串末尾子字符,删除开始字符,删除两端字符(实现代码)

日期:2020-02-14编辑作者:编程人生

今天在处理删除字符串两端的特定字符时遇到了下面的问题,先看例子
 
$str = 'akmumu/writedb.json'; 
我要做的是删除开始的akmumu,再删除末尾的.json,这样只保留有用的字符/writedb
开始我使用的ltrim删除akmumu,再使用rtrim删除.json
结果发现我理解trim错误了,trim的参数如下
rtrim(string,charlist)
他的参数时charlist,也就是不一定按照顺序查找,比如我给一个
$str = 'akmumu/writedbsojn.json';
结果还是/write,我想要的/writedbsojn没有出现,也就是说只要charlist中的任意字符匹配就一直这么下去了。。。
所以就用别的了
str_replace,substr_replace即可
安全起见,增加了代码,防止再截取错误 复制代码 代码如下:
if(strpos($str,'akmumu/') !== FALSE
 $str = substr($str,7);
 if(strpos($str,'.json') !== FALSE)
 {
  if(substr($str,-5,5) == '.json')
  {
   $str = substr_replace($str,'',-5);
  }
 } 
}

运算符

这样就可以了

一,算术运算符

算术运算符用语完成各种运算;

+ 加法运算符                $a+$b;
- 加法运算符                  $a-$b;
* 乘法运算符                 $a*$b;
/ 除法运算符                 $a/$b;
% 取模运算符(求余数)                 $a%$b;

二,赋值运算符

$a = 5      赋值
$a += 5      加法赋值
$a -= 5      减法赋值
$a *= 5        乘法赋值
$a /= 5         除法赋值
$a .= 5        拼接赋值```

###三,字符运算符
字符运算符用于拼接字符串,拼接表示将两个或者多个对象组合起来
例:

$a = "hello";
$b = $a . “world"; //.表示拼接前后两个字符串
echo $b;
$b = "Hello";
$b .= “World!"; //.= 表示$b=$b."World"
$b = $b.”World”;
echo $b;

###递增(++)和递减(--)运算符
递增和递减运算符将变量的点钱值加1或减1, 可以是代码更简洁:

++$i/--$i 先加减 $i的值加/减1, 然后返回$i的值
$i++/$i-- 后加减 先返回$i的值, 然后再讲$i的值加/减1

###五逻辑运算符

&&/and 逻辑与
|| / or 逻辑或
! 逻辑非
xor 亦或(有且仅有一个为true,则返回true)

###六比较运算符
    >      大于
    <      小于
    >=     大于或等于
    <=     小于或等于
    !=     不等于
    <>     不等于
    ==     等于
    ===    绝对相等
    !==    全不等
###七,三元运算符
 语法:expression1 ? expression2 : expression3 ;
#二流程控制
##判断语句

1 if语句
if(expression ){
//statement
}else if(expression){
//statement
}else{//statement
}

  1. Switch 语句
    switch (expression){
    case value:
    //statementsbreak;
    default://statements
    }
##循环语句

1 while语句
while(expression){
//statements
}

  1. do...while语句
    do {
    //statements
    }while(expression);
  2. for循环
    威尼斯正版官方网站,for(expression1; expression2; expression3){/
    /statements
    }
  3. foreach foreach循环;
    语法格式1
    foreach(array_expr as $value){
    //statements
    }
    语法格式2
    foreach(array_expr as $key=>$value){
    //statements
    }
跳出循环
  1. break
    结束循环
    2 .continue
    结束当前循环并从下次循环执行```

函数

函数分类

1 . 内置函数
2 . 创建自定义函数

函数简介

函数用function关键字来声明;
函数名称是有字母或下划线开始,中间可以包含数字;
函数名不区分大小写,不过在调用时通常使用其定义时的格式
php不支持函数重载,所以自定义函数不能和内置函数重名;
不能再一个文件中自定义重名函数;
参数出现在括号中,如果有多个参数用逗号分隔

参数传递

!!在函数内部想要使用函数外部的变量,需要使用global重新修饰一下*

值传递(传值)

!! 使用static修改的变量为静态变量,特点是:只被初始化一次*

函数内对参数值得改变不会影响函数外部的值(如需改变需)
引用传递(传址)

有些情况下,可能希望在函数体内对参数的修改在函数体外也能反映
使用引用传递参数要在参数前加上&符号
变量本身传入,传入后的变量与原变量建立联系;
函数体内变量的变化,会影响到原变量本身```

     默认参数值:可以为参数指定默认值,在没有提供其他值的情况下,则将默认值自动赋值给该参数
     可选参数:可以指定某个参数为可选参数,这些参数需要房子啊参数列末尾,需要指定默认值为空

##返回值
    return  返回结果,是函数结束运行,并且将控制权返回被调用的行;
#变量作用域和生命周期
1 . 局部变量
函数体内定义的变量,只在函数体内可见
作用域:从声明开始到函数结束


#include  和require
 1 . include()
       include()语句将在其被调用的位置包含一个文件
`例 :   incl("init.php");`
 2 . include_once()
`作用于include相同,但它会先验证是否已经包含该文件,如果包含,则不再执行;`
 3 . require
     `   作用于include相同,但通常放在php程序最前端`
 4 . require_once
      `同include_once   同样放在程序最前端;` 
include  和require区别

require一个文件存在错误的话,那么程序就会中断,并显示致命错误;
include一个文件存在错误的话,程序不会中断,而是继续执行,并显示一个警告错误

#数组
一.数组的分类
例:
$day = array(“a”,”a”,”a”); //索引数组
$week = array("a"=> "星期一", "b"=>"星期二",关联数组
"c"=> “");
二数组的创建
1. 使用array()函数
`$arr = array();`
2. 直接对数组变量赋值
` $arr[key] = value;`
如果方括号没有指定索引,则取当前对大整数索引,新的键名将是,该值+1.如若当前没有整数索引则键名是0;.如果指定的键名已经有值了,该值将被覆盖
3 . 使用函数创建数组
`range()建立一个包含指定范围单元的数组`

#数组的基本操作

1 . unset($arr[0])删除数组元素
2 . print_r($arr)打印数组元素
3 . count($arr) 取得数组大小
4 . in_array(10,$arr)检查数组中是否包含某个值

###遍历数组
1 . for 循环遍历数组
2 . foreach 循环遍历数组
##数组排序
1 . sort() , rsort()对数组进行升序和降序排列;
2 . ksort(),krsort()对数组索引进行升序或降序排列,并保持索引关系


#二维数组

遍历
foreach($products as $product_k=>$product_v){
foreach($product_v as $key=>$val){
echo $key.'=>'.$val;}
}```

数组字符串转换

1 . explode()返回由字符串组成的数组

$str = "1,2,3,4,5,6";
$arr = explode(',', $str);
print_r($arr);```
2 . implode()将数组元素链接成字符串

$arr = array('a','b', 'c', 'd');
$str = implode('|', $arr );
echo $str;```

字符串

1 . echo 打印 (可打印多个值 使用逗号链接);

查找和替换

1 . strpos()

int strpos ( string haystack, mixed needle [, int offset] )
strpos()函数在haystack中以区分大小写的方式找到needle第一次出现的位置,如果没有的话返回false;
可选参数offset指定开始查找的位置

2 . stripos()
stripos()与strpos()功能相同,只是查找时不区分大小写
3 . str_replace()
mixed str_replace ( mixed search, mixed replace, mixed subject[, int &count] )

str_replace()函数在subject中以区分大小写的方式搜索search,用replace替换找到的所有内容,如果没有找到search,则subject保持不变
如果定义了可选参数count则只替换subject中count个search

截取字符串

1 . substr()

string substr ( string string, int start [, int length] )
从start位置取出length长度的字符,字符串开始位置为0;
如果没有指定length,name默认一直到字符串末尾

2 . strstr()

string strstr ( string haystack, string needle )
strstr()函数搜索一个字符串在另一个字符串中第一次出现,该函数返回字符串其余部分(从匹配点),如果未找到所搜索的字符串则返回false

3 . stristr()

stristr()与strstr()功能一样,只是不区分大小写

删除字符串

1 . ltrim

string ltrim(string str [, string charlist])
ltrim函数删除字符串左侧空格或其他预定义字符;
如果未设置charlist参数,则删除一下字符
"" null;
"t" 制表符
"n" 换行
"x0b" 垂直制表符
"r" 回车
" " 空格
2 . rtrim()
string rtrim(string str [, string charlist])
rtrim函数删除字符串右侧空格或其他预定义字符;

3 . trim();
trim函数删除字符串两侧空格或其他预定义字符;

其他处理函数

1 . strlen()获取字符串长度
2 . strtolower()将字符串转换为小写字母
3 . strtoupper()将字符串转换成大写字母
4 . strrev()翻转字符串
5 . nl2br()将字符串中换行(n)转换过成HTML换行标签
;
6 . strip_tags()删除字符串中HTML XHTML PHP标签
string strip_tags ( string str [, string allowable_tags] )
可选参数allowable_tags指定要保留的标签

7 . htmlspecialchars()函数吧一些预定义的字符转换为HTML实体

预定义的字符:
& (和号) 成为 &
" (双引号) 成为 "
' (单引号) 成为 '
< (小于) 成为 <
(大于) 成为 >

本文由威尼斯www.9778.com发布于编程人生,转载请注明出处:php删除字符串末尾子字符,删除开始字符,删除两端字符(实现代码)

关键词:

领悟php接口中interface存在的意义

可能大家都懂这些,作为不懂的我猜测了一下这个interface的意义,他就是为了后面调用的时候再调用的方法中调用实...

详细>>

CURL状态码列表(详细)

77 背景概述: 游戏接口是使用PHPcURL扩展进行请求操作。但是,被请求的服务器经常会无故的不响应或者超时。总之,...

详细>>

Centos下安装memcacheq

memcacheQ是一个单纯的分布式消息队列服务。 一,MEMCACHEQ的应用背景 Web应用中为什 么会需要消息队列?主要原因是由...

详细>>

PHP中把有符号整型转换为无符号整型方法

在一个短地址项目中,根据六位字符与ID的相互映射的算法,当ID超过2147483647的时候,六位字符的短地址映射的ID变成...

详细>>