PHP字符串操作

憋了好久,终于迎来第一篇,今天就写写在PHP开发中经常用到的操作之一——PHP字符串操作
一、替换

//将字符串中的jack替换成rose
echo str_replace("jack", "rose", "i love jack!");
//输出结果为    i love rose! 

二、删除字符串
这里有两种方法,一个是运用字符串替换,就是把目标字符串替换成空" ";

//将字符串"i love jack!"中的"i love "替换成" "
$str = "i love jack!";
echo str_replace("i love ", " ",$str);
//输出结果为    jack! 

另一个比较复杂(虽然没有第一种简单直接,但本文讲的是字符串的操作,字符串转成数组也是其中之一),将字符串转换成数组,然后通过foreach遍历,这里面再加一个in_array判断需要删除的字母是否属于目标数组内,最后再一个一个unset掉;

//将字符串"i love jack!"中的"i love "替换成" "
$str = "i love jack!";
$arr = str_split($str );
foreach( $arr as $k => $v ){
if( in_array($v,array('i','l','o','v','e')) ){
unset($arr[$k]);
}
}
$str = implode('',$arr);
print_r($str);
//输出结果为    jack! 

二、截取字符串
这里若输出中文乱码则在输出结果前添加这行代码echo '';

  //初始化字符串 
  $str = "abcdefghijkl";
  echo '';
  echo "
"; echo "原字符串:".$str; $str1 = substr($str,3); echo "
"; echo "从第3个字符开始取至最后:".$str1; $str2 = substr($str,6,3); echo "
"; echo "从第6个字符开始取3个字符:".$str2; $str3 = substr($str,-3); echo "
"; echo "取倒数3个字符:".$str3; $str4 = substr($str,-6,3); echo "
"; echo "从倒数第6个字符开始向后取3个字符:".$str4; $str5 = substr($str,-6,-2); echo "
"; echo "从倒数第6个字符开始取到倒数第2个字符为止:".$str5;

来点硬的,接下来是中英文混合,这里需要注意的是中英编码有所不同,一个字母或者普通标点符号或数字都只占一个字符长度,而一个中文占3个字符长度,可用strlen()来计算,这里若输出中文乱码则在输出结果前添加这行代码echo '';

//需要截断的字符串
$str_cut = "字符串asdaf";
//允许字符串显示的最大长度
$length = 50;
if (strlen($str_cut) > $length)
{
  for($i=0; $i < $length; $i++)
  if (ord($str_cut[$i]) > 128)    $i++;
  $str_cut = substr($str_cut,0,$i);
}
echo '';
echo $str_cut;

四、比较字符串
比较字符串"5"和"J"

var_dump(strcmp(5, 'J'));
//结果为
int(-1)

五、字符串查找

echo strstr("实例代码如下","下");  //输出查询的字符串 
echo "
"; echo strstr("www.jianshu.com","com"); //输出查询的字符串(从第一个m取值) echo ""; echo strstr("123456789","8"); //输出查询的字符串

定义和用法:strpos() 函数返回字符串在另一个字符串中第一次出现的位置

echo strpos("Hello world!","lo"); 

六、转换字母大小写

$foo = 'hello world!';
$foo = ucwords($foo); // Hello World!
$bar = 'HELLO WORLD!';
$bar = ucwords($bar); // HELLO WORLD!
$bar = ucwords(strtolower($bar)); // Hello World!

//第一个词首字母变大写:ucfirst()
$str = 'hello world!';
$str = ucfirst($str ); // Hello world!
$bar = 'HELLO WORLD!';
$bar = ucfirst($bar); // HELLO WORLD!
$bar = ucfirst(strtolower($bar)); // Hello world!

//第一个词首字母小写lcfirst()
$foo = 'HelloWorld';
$foo = lcfirst($foo); // helloWorld
$bar = 'HELLO WORLD!';
$bar = lcfirst($bar); // hELLO WORLD!
$bar = lcfirst(strtoupper($bar)); // hELLO WORLD!

//字母变大写:strtoupper()
//字母变小写:strtolower()

七、切割字符串(切割并转换成数组)

$str="a,b,c,d,e,f,g";
$var=explode(",",$str);
print_r($var);

你可能感兴趣的:(PHP字符串操作)