Heim >Backend-Entwicklung >PHP-Tutorial >PHP几个比较常见的口试程序题整理

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

WBOY
WBOYOriginal
2016-06-13 12:24:02895Durchsuche

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;	}


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

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn