您好,現在軟糖來為大家解答以上的問題。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時: 代碼如下:。
本文就為大家分享到這里,希望小伙伴們會喜歡。