-
-
/**
- * PHP 인터뷰 질문
- * bbs.it-home.org 편집
- * 2013-05-13
- */
- functiongbk_strrev($str){//-- --gbk中文字符串翻转------
- $len=strlen($str);
- for($i=0;$i<$len;$i ){
- $char=$str{0};
- if(ord($char)>127){
- $i ;
- if($i<$len){
- $arr[]=substr($str,0,2);
- $str=substr($str,2);
- }
}else{
- $arr[]=$char;
- $str=substr($str,1);
- }
- }
- returnimplode(array_reverse($arr));
- }
$str='中文.look!';
echo gbk_strrev($str);
functionutf8_strrev($string){//------utf8中文翻转---------
- $index=0;
while($first_b=substr($string,$index,1)){
if(ord($first_b)>224){
$arr[]=substr($string,$index,3);
$index =3;
}elseif(ord($first_b)>192){
$arr[]=substr($string,$index,2);
$index =2;
}else{
$arr[]=substr($string,$index,1);
$index =1;
}
}
returnimplode(array_reverse($arr));
}
$str='中文.look!';
echo utf8_strrev($str);
-
functiongbk_substr($str,$length){//------gbk截取中文字符串---------
$index=0;
$result='';
for($i=0;$i<$length;$i ){
$first_b=substr($str,$index,1);
if(ord($first_b)>127){
$result.= substr($str,$index,2);
$index =2;
}else{
$result.= substr($str,$index,1);
$index =1;
}
}
return$result;
}
$str = "你好china";
echo gbk_substr($str, 5);
-
functionutf8_substr($string,$length){//------------utf8编码截取中文字符串-------------
;
$index=0;
$result='';
for($i=0;$i<$length;$i ){
$first_b=substr($string,$index,1);
if(ord($first_b)>224){
$result.= substr($string,$index,3);
$index =3;
}elseif(ord($first_b>192)){
$result.= substr($string,$index,2);
$index =2;
}else{
$result.= substr($string,$index,1);
$index =1;
}
}
return$result;
}
$str = "你好china";
echo (utf8_substr($str, 3));
functionscan_dirs($path){//------遍历目录------------
$path_source=opendir($path);
while(($file=readdir($path_source))!==false){
//if(is_dir($path.'/'.$file)&&$file!= '.'&&$file !='..'){
if(is_dir($path. ’/’ . $file) && $file != ’.’ && $file != ’..’) {
echo$path.'/'.$file,'
';
scan_dirs($path.'/'.$file);
}else{
echo$path.'/'.$file,'
';
}
}
}
$dir_name = 'E:/amp/apache/htdocs/mvc';
scan_dirs($dir_name); p>
function get_ext1($file_name){//---------------获取文件后缀name------------
return strrchr($file_name, '.');
}
function get_ext2($file_name) {
return substr($file_name,strrpos($file_name, '.'));
}
function get_ext3($file_name){
$arr=explode('.', $file_name);
return array_pop($arr);
}
function get_ext4($file_name){
$p = pathinfo($file_name);
return$p['dirname'].'------'.$p['basename'].'-- ----'.$p['extension'];
}
function get_ext5($file_name){
return strrev(substr(strrev($file_name), 0,strpos(strrev($file_name), '.')));
}< ;/p>
echoget_ext5('E:/amp/apache/htdocs/mvc/init.html');
functionmaopao($arr){/ /------冒泡排序法------------
$flag=false;
$count= count($arr);
for($i=0;$i<$count-1;$i ){
for($j=0;$j<$count-1-$i;$j ){
if($arr[$j]>$arr[$j 1]){
$tmp=$arr[$j];
$arr[$j]=$arr[$j 1];
$arr[$j 1]=$tmp;
$flag=true;
}
}
if($flag){
$flag=false;
}else{
break;
}
}
return$arr;
}
$arr=배열(12,78,49,68,59,67,93,34,46,33);
var_dump(maopao($arr));
functionxuanze($arr){//---------选择排序------------
for($i=0;$i
$minIndex=$i;
$minVal=$arr[$i];
for($j=$i 1;$j
if($minVal>$arr[$j]){
$minVal=$arr[$j];
$minIndex=$j;
}
}
$tmp=$arr[$i];
$arr[$i]=$arr[$minIndex];
$arr[$minIndex]=$tmp;
}return$arr;
}
$arr=배열(12,78,49,68,59,67,93,34,46,33);
var_dump(xuanze($arr));
functioninsertSort($arr){//------------插入排序법------ ---
for($i=1;$i
$insertVal=$arr[$i];
$insertIndex=$i-1;
while($insertIndex>=0&&$insertVal<=$arr[$insertIndex]){
$arr[$insertIndex 1]=$arr[$insertIndex];
$insertIndex--;
}
$arr[$insertIndex 1]=$insertVal;
}
return$arr;
}
$arr=배열(12,78,49,68,59,67,93,34,46,33);
var_dump(insertSort($arr));
function QuickSort($array){//-----快速排序법----------< /p>
if(count($array) <= 1) return $array;
$키 = $배열[0];
$left_arr = 배열();
$right_arr = 배열();
for($i=1; $i if ($array[$i] <= $key)
$left_arr[] = $배열[$i];
그렇지 않으면
$right_arr[] = $배열[$i];
}
$left_arr = Quick_sort($left_arr);
$right_arr = Quick_sort($right_arr);
return array_merge($left_arr, array($key), $right_arr);
}
$arr=배열(12,78,49,68,59,67,93,34,46,33);
var_dump(quickSort($arr));
function seqSch($arr, $num){//---顺序查找------
$flag=false;
for($i=0;$i
if($arr[$i]==$num){
echo ’找到了,下标为:’.$i;
$flag=true;
}
}
if(!$flag){
echo ’找不到’;
}
}
-
$arr=array(12,78,49,68,59,67,93,34,46,33);seqSch($arr,34);
;
functionsFen($arr,$num,$leftIndex,$rightIndex){// 기본값---
if($leftIndex>=$rightIndex){return'unload';}
$midIndex=floor(($leftIndex $rightIndex)/2); $midValue=$arr[$midIndex];
if($midValue>$num){
returnFen($arr,$num,$leftIndex,$midIndex-1);
}elseif($midValue<$num){
returnFen($arr,$num,$midIndex 1,$rightIndex);
}else{
return $midIndex ;
}
}
$arr=array(3,5,7,8,9,23,26,36);
$leftIndex= 0;
$rightIndex=count($arr);
- ?>
-
-
-
-