字符串反转的几种实现方式?数组反转

 $GLOBALS['HTTP_RAW_POST_DATA']来接收,比如 text/xml 或者 soap 等等。

array_reverse($arr) 函数 数组反转

stristr(),strstr(),strchr(),strrchr(),substr(),strpos(),stripos(),
str_replace(),substr_replace($str,$find,$star,$len),
strrev(),strlen(),mb_strlen(),mb_substr(),
trim(),ltrim(),rtrim(),implode(),join(),explode(),

$string = 'Www.xuql.com支持中文';
$str = substr($string,strpos($string,'.'));
$str1 = strchr($string,'.');//区分大小写 第一次出现的位置
$str2 = strstr($string,'.');//区分大小写 strchr
$str3 = strstr($string,'.',true);

$str4 = stristr($string,'.');//不区分大小写 第一次出现的位置

$str5 = stristr($string,'.',TRUE);
$str6 = strrchr($string,'.');//最后一次出现的位置

一、strstr和strcchr的区别

strstr 显示第一次找到,要查找的字符串,以及后面的字符串。 
strrchr 显示最后一次找到,要查找的字符串,以及后面的字符串。

二、strstr和stristr的区别

strstr是大小写敏感的。 
stristr是大小写不敏感的。

 


array_merge($a,$b);//注意位置 下标为string or int +
array_diff($a,$b);//注意位置
array_intersect($a,$b);
array_keys($k);
array_values($val);
array_count_values(); 统计数组中所有的值
array_push($a,'val');
array_pop($a);
array_unshift($a,'val');
array_shift($a);
array_reverse($a);反转
array_map('trim',$a);
array_splite($a,2);//分页
array_multisort($arr,sort_desc);
array_sum()
array_chunk($arr,2,true);//保留键名 切数组
array_combine($arr,$arr2) — 创建一个数组,用一个数组的值作为其键名,另一个数组的值作为其值
array_unique($arr); 移除重复的值
array_search('val',$arr);
list()
in_array('key',$v);


var_dump(strrev($string));

//1 支持中文
preg_match_all('/./us', $string, $ar);
var_dump( join('',array_reverse($ar[0])));

//2 支持中文
$newString = '';
for($i=1;$i<=mb_strlen($string);$i++)
{
$newString .= mb_substr($string,-$i,1);
}
var_dump($newString);

//3
$arr = str_split($string);
$arr = array_reverse($arr);
var_dump(join('',$arr));

//4
$array = str_split($string);
krsort($array);
var_dump(join('',$array));

//5
$newStrThree = '';//初始化一个新的字符串
$arrCountThree = strlen($string);
for ($i = $arrCountThree-1; $i>=0;$i--) {
$newStrThree.=$string[$i];
}
var_dump($newStrThree);

//6 支持中文
$result = '';
$len = mb_strlen($string);
for($i=$len-1; $i>=0; $i--){
$result .= mb_substr($string,$i,1);
}
var_dump($result);

//7
$arr = str_split($string);
$newArr = '';
for($i=count($arr)-1;$i>=0;$i--)
{
$newArr .= $arr[$i];
}
var_dump($newArr);

//8
$len = strlen($string);
$times = $len/2;
for($i = 0;$i < $times; $i++ ){
$tmp = $string[$i];
$string[$i] = $string[$len-$i-1];
$string[$len-$i-1] = $tmp;
}
var_dump($string);

 

 //字符串操作 替换def 为空

$a3 = 'absdcdeddefeffabcddefef<br/>';
$domain = strpos($a3, 'def');
$t = substr($a3,$domain,3);
/* echo str_replace('def','',$a3).'<br/>';
echo $domain.'<br/>';
echo $t; */

while(strpos($a3, 'def'))
{
$a3 = str_replace('def','',$a3).'<br/>';
}
echo $a3;

 

 

$str1="Tom";
$str2="Jack";
$str="This is an example,you see Tom tell Jack something";
function str_change($str,$str1,$str2){
$len1=strlen($str1);
$len2=strlen($str2);
$pos1=strpos($str,$str1);
$str=substr_replace($str,$str2,$pos1,$len1);//替换$str1为$str2
$pos2= strpos($str,$str2,$len1+$pos1);//定位替换后字符串中原$str2字段的位置
return substr_replace($str,$str1,$pos2,$len2);//替换$str2为$str1
}
echo str_change($str,$str1,$str2);

posted @ 2018-11-13 22:27  玲汐  阅读(1476)  评论(0编辑  收藏  举报