(资料图)
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时: 代码如下:。
相信通过php面试题这篇文章能帮到你,在和好朋友分享的时候,也欢迎感兴趣小伙伴们一起来探讨。
本文由用户上传,如有侵权请联系删除!