php面试题2021(php面试题)

时间:2022-09-23 00:30:42来源:
导读您好,现在蔡蔡来为大家解答以上的问题。php面试题2021,php面试题相信很多小伙伴还不知道,现在让我们一起来看看吧!1、这篇文章主要介绍了8...

您好,现在蔡蔡来为大家解答以上的问题。php面试题2021,php面试题相信很多小伙伴还不知道,现在让我们一起来看看吧!

1、这篇文章主要介绍了8个PHP数组面试题,例如写函数创建长度为10的数组,数组中的元素为递增的奇数,首项为创建长度为10的数组,数组中的数为递增的等比数,比值为3,首项为等题目,需要的朋友可以参考下   网上找的PHP数组题,准备自己做一遍并且记录下来。

2、   1.写函数创建长度为10的数组,数组中的元素为递增的奇数,首项为1.    代码如下:      function arrsort($first,$length){   $arr = array();   for($i=$first;$i=$length;$i++){   $arr[] = $i*2-1;   return $arr;   $arr1 = arrsort(1,10);   print_r($arr1);   输出:    代码如下:   Array ( [0] = 1 [1] = 3 [2] = 5 [3] = 7 [4] = 9 [5] = 11 [6] = 13 [7] = 15 [8] = 17 [9] = 19 )   2.创建长度为10的数组,数组中的数为递增的等比数,比值为3,首项为1.    代码如下:      //$num为比值   function arrsort($first,$length,$num){   $arr= array();   for($i=$first;$i=$length;$i++){   //pow($num,$i-2);返回$num的($i-2)次方   $arr[] = $num*pow($num,$i-2);   return $arr;   $arr1 = arrsort(1,10,3);   print_r($arr1);   输出:    代码如下:   Array ( [0] = 1 [1] = 3 [2] = 9 [3] = 27 [4] = 81 [5] = 243 [6] = 729 [7] = 2187 [8] = 6561 [9] = 19683 )   3.求数组中最大数的下标.    代码如下:   function maxkey($arr){   $maxval = max($arr);   foreach($arr as $key=$val){   if($maxval == $val){   $maxkey = $key;   return $maxkey;   $arr = array(0,-1,-2,5,b=15,3);   echo maxkey($arr);   输出:    代码如下:   b   4.创建一个长度为10的数组,数组中的元素满足斐波拉契数列的规律.   ( 斐波那契数列,又称黄金分割数列,指的是这样一个数列:2、3、5、8、13、2在数学上,斐波纳契数列以如下被以递归的方法定义:F0=0,F1=1,Fn=F(n-1)+F(n-2)(n=2,nN*). 特别指出:第0项是0,第1项是第一个1。

3、)    代码如下:      function arrFibo($len){   $arr[0] = 0;   $arr[1] = 1;   for($i=2;$i$len;$i++){   $arr[$i] = $arr[$i-1]+$arr[$i-2];   return $arr;   echo ;   print_r(arrFibo(10));   echo ;   输出:   代码如下:   Array   (   [0] = 0   [1] = 1   [2] = 1   [3] = 2   [4] = 3   [5] = 5   [6] = 8   [7] = 13   [8] = 21   [9] = 34   )   5.计算数组中最大数和最小数的差.   两种方法:   ①max/min   输出:    代码如下:   102   ②sort把元素按从小到大排序/rsort吧元素按从大到小排序   代码如下:      function arrsub($arr){   sort($arr);   $min = $arr[0];   rsort($arr);   $max = $arr[0];   $sub = $max - $min;   return $sub;   $arr = array(-1,-2,100);   echo arrsub($arr);   输出:   102   6.写一个方法,将一个长度超过10的数组最后5项直接截取,不改变顺序变为前5项,如{1,2,3,4,5,6,7,8,9,10}变为{6,7,8,9,10,1,2,3,4,5}.   思路:先把数组截取相应的长度( array_slice ),再把2段数组拼接( array_merge )    代码如下:      function arrsort($arr){   $num = count($arr);   if($num 10){   //array_slice($arr,起始位置,截取长度,保留索引(默认为false))   $arr_firstpart = array_slice($arr,0,$num-5,true);   $arr_lastpart = array_slice($arr,($num-5),5,true); else{   echo 数组不超过10个元素,请重新输入;   exit();   //拼接   $arr_new = array_merge($arr_lastpart,$arr_firstpart);   return $arr_new;   $arr = array(a=1,2,3,8,9,6,b=5,-1,c=8,0,7);   echo ;   print_r($arr);   echo = = = = = 拼接后 = = = = ;   print_r(arrsort($arr));   echo ;   输出:    代码如下:   Array   (   [a] = 1   [0] = 2   [1] = 3   [2] = 8   [3] = 9   [4] = 6   [b] = 5   [5] = -1   [c] = 8   [6] = 0   [7] = 7   )   = = = = = 拼接后 = = = =    代码如下:   Array   (   [b] = 5   [0] = -1   [c] = 8   [1] = 0   [2] = 7   [a] = 1   [3] = 2   [4] = 3   [5] = 8   [6] = 9   [7] = 6   )   当数组不满足长度为10时:    代码如下:。

本文就为大家分享到这里,希望小伙伴们会喜欢。

标签:
最新文章