php面試題(php面試題)

導讀您好,現在軟糖來為大家解答以上的問題。php面試題,php面試題相信很多小伙伴還不知道,現在讓我們一起來看看吧!1、這篇文章主要介紹了8個PH...

您好,現在軟糖來為大家解答以上的問題。php面試題,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時:    代碼如下:。

本文就為大家分享到這里,希望小伙伴們會喜歡。

免責聲明:本文由用戶上傳,如有侵權請聯系刪除!