php 字符串翻转函数


1. php 有自带的字符串翻转函数:strrev,但是这个函数不能解决中文字符串翻转。
2. 下面的函数支持中英文字符串翻转

<?php
/*
 * Created on 2011-11-09
 * @author sundebiao
 * 此可以实现字符串的倒序
 * 支持纯英文数字、纯中文字符串和中英文数字混合字符串
 * 中文需要使用GBK编码
 * 若传入参数不为字符串则返回false
 */
function strrev_ext ($str)
{
	
	$str = iconv('UTF-8', 'GBK', $str); // 解决中文编码混乱
	if (is_string($str)) {
		$len = strlen($str);
		$newstr = "";
		for ($i = $len - 1; $i >= 0; $i --) {
			if(ord($str{$i})>160){
				$newstr .= $str{$i-1}.$str{$i};
				$i --;
			}
			else{
				$newstr.=$str{$i};
			}
		}
		return $newstr;
	}
	else{
		return false;
	}
}
//函数使用示范

//纯英文字符
$str="abcde";
echo strrev_ext($str)."<br />";
//纯汉字
$str1 = "中国人";
echo strrev_ext($str1)."<br />";
//中英混合
$str2= "中cn国us人1br";
echo strrev_ext($str2)."<br />";

你可能感兴趣的:(php 字符串翻转函数)