首页 >后端开发 >php教程 >PHP几个比较常见的口试程序题整理

PHP几个比较常见的口试程序题整理

WBOY
WBOY原创
2016-06-13 12:24:02895浏览

PHP几个比较常见的面试程序题整理

反转字符串可以使用【strrev】但是最终要的就是多字节字符串

	//反转字符串	function mb_strrev($str){		$len = mb_strlen($str,&#39;utf-8&#39;);		$r = array();		for($i=0;$i<$len;$i++){			$r[] = mb_substr($str,$i,1,&#39;utf-8&#39;);		}		return implode(array_reverse($r));	}

得到URL中扩展名,注意URL中不一定有扩展名的

	//得到url中扩展名	function getUrlExt($str){		$url_info = parse_url($str);		if(array_key_exists(&#39;path&#39;,$url_info)){			$path = $url_info[&#39;path&#39;];			$file_info = pathinfo($path);			if(array_key_exists(&#39;extension&#39;,$file_info)){				return $file_info[&#39;extension&#39;];			}		}		return false;		}


计算两个文件的相对路径

	function getrpath($path,$conpath){		$pathArr = explode(&#39;/&#39;,$path);		$conpathArr = explode(&#39;/&#39;,$conpath);		//$dis_match_len = 0;		for($i=0;$i<count($pathArr);$i++){			if($pathArr[$i] != $conpathArr[$i]){				$dis_match_len = count($pathArr) - $i - 1;				$arr_left = array_slice($pathArr,$i);				break;			}		}		return str_repeat(&#39;../&#39;,$dis_match_len).implode(&#39;/&#39;,$arr_left);	}

计算两个文件相对路径的方法2,使用PHP内置函数【array_diff_assoc】

	function getrpath2($path,$conpath){		$pathA = explode(&#39;/&#39;,$path);		$pathB = explode(&#39;/&#39;,$conpath);		$res = array_diff_assoc($pathA,$pathB);		$path = &#39;&#39;;		for($i=0;$i<count($res)-1;$i++){			$path .= &#39;../&#39;;		}		$path .= implode(&#39;/&#39;,$res);		return $path;	}


版权声明:本文为博主原创文章,未经博主允许不得转载。

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn