PHP面试常见算法、函数总结


  
  
  
  3. 写5个不同的自己的函数,来截取一个全路径的文件的扩展名,允许封装php库中已有的函数。 
	url dir/upload.image.jpg找出jpg或者.jpg

	1.return strrchr($filename,"."));	
	//	strrchr() 函数查找字符串在另一个字符串中最后一次出现的位置,并返回从该位置到字符串结尾的所有字符
	2.return substr($filename,strrpos($filname,"."));
		strrpos() 函数查找字符串在另一字符串中最后一次出现的位置。
		substr(string,start,length) 函数返回字符串的一部分。
	3.return array_pop(explode(".",$filename));
	4.$p=pathinfo($filename); return $p['extension'];
	5. return strrev(substr(strrev($filanme),o,strpos(strrev($filename),".")));

  
  
  
  1.写一个函数,随机从a-z中取10000个值拼成字符串
	function suiji($num){
		$arr=array("a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z");
		$result="";
		for($i=0;$i<$num;$i++){
			$rand=rand(0,25);
			$result.=$arr[$rand];
		}
		return $result;
	}
2.写一个函数,计算当参数为N的值:1-2+3-4+5-5+7……+N
	function countN($num){
		$t=0;
		for($i=1;$i<=$num;$i++){
			if($i%2==0){
				$t+=-$i;
			}else{
				$t+=$i;
			}
		}
		return $t;
	}
3.一列数的规则如下:1,1,2,3,5,8,13,21,34 求第30位数是多少,用递归算法实现。(斐波纳契数列(Fibonacci Sequence),又称黄金分割数列)
	function fibonacci($n){
		$return=1;
		if($n<=0){
			$return=0;
		}elseif($n<=2){
			$return = 1;
		}elseif($n>2){
			$return=fibonacci($n-1)+fibonacci($n-2);
		}
		return $return;
	}
4.将 1234567890 转换成 1,234,567,890  每 3 位用逗号隔开的形式。(反转、分隔、再反转)
	$str="1234567890";
	$str = strrev($str);
    $arr = str_split($str,3); //把字符串按3个字符的长度拆成数组.
    $str = strrev(implode($arr,','));
    return $str;

1.下面代码的返回值是多少

$a=3;
$b=5;
echo $a."***".$b."<br/>";
if($a=5){
	echo $a."***".$b."<br/>";
	$a++;
	$b++;
	echo $a."***".$b."<br/>";
}
echo $a."***".$b;
<pre name="code" class="plain">答案:
3***5
5***5
6***6
6***6

 


2.


1.杨辉三角

1

1  1

1  2   1

1  3   3   1

1  4   6    4   1

1  5  10  10  5  1



 
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值