PHP数组面试考题

书,是人类共同的精神财富,是人类进步的阶梯。以下是小编为大家搜索整理的PHP数组面试考题,希望能给大家带来帮助!更多精彩内容请及时关注我们应届毕业生考试网!

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的数组,数组中的元素满足斐波拉契数列的规律.

( 斐波那契数列,又称黄金分割数列,指的是这样一个数列:1、1、2、3、5、8、13、21、……在数学上,斐波纳契数列以如下被以递归的方法定义:F0=0,F1=1,Fn=F(n-1)+F(n-2)(n>=2,n∈N*). 特别指出:第0项是0,第1项是第一个1。)

代码如下:

function arrFibo($len){

$arr[0] = 0;

$arr[1] = 1;

for($i=2;$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

php数组题目以及答案,PHP数组面试考题相关推荐

  1. 二级(多级)指针,二级指针和二维数组的避坑,指针面试考题

    1.二级指针的的认识 2.二级指针的实战 想获得二维数组的某个人的位置,采用的是return的方式 如果把第三行的int * 换成void ,把ppos换成传参的方式做. 结果崩溃了 原因是 是个野指 ...

  2. 初中计算机竞赛面试题目及答案,教资面试历年考试题目,试讲+答辩,附解析!【初中信息技术】...

    原标题:教资面试历年考试题目,试讲+答辩,附解析![初中信息技术] 距离2020下半年教师资格面试还剩:11天. 为了帮助更多考生在面试中发挥得更好,每日一更历年面试试讲.答辩的题目,助力2020下半 ...

  3. 数据库常见面试题目及答案,软件测试面试找工作必看

    目录 1.对数据库SQL2005.ORACLE熟悉吗? 2.能不能设计数据库?如何实现数据库导入与导出的更新 3.如何只显示重复数据,或不显示重复数据 4.什么是数据库的映射 5.写分页有哪些方法,你 ...

  4. LintCode Python 简单级题目 41.最大子数组 - 44.最小子数组和

    题目1 最小子数组 描述: 给定一个整数数组,找到一个具有最小和的子数组.返回其最小和. 注意事项 子数组最少包含一个数字 您在真实的面试中是否遇到过这个题? Yes 样例 给出数组[1, -1, - ...

  5. 中级软件测试笔试题100精讲_精选软件测试笔试题目及答案笔试题目及答案

    精选软件测试笔试题目及答案 精选软件测试笔试题目及答案 软件测试去面试的时候都会做哪些题目呢 ? 下面是小编收集的精选软件测试笔试题目及 答案,欢迎大家阅读. 精选软件测试笔试题目及答案一 1 .集成 ...

  6. php中对数组进行for循环,php数组for循环

    Swift中的循环语句 循环语句能够使程序代码重复执行.Swift编程语言支持4种循环构造类型:while.do while.for和for in.for和while循环是在执行循环体之前测试循环条件 ...

  7. 数组(二):大厂面试不得不看的高频数组类型题目

    数组篇(二) LeetCode905:按奇偶排序数组 解题思路 代码实现 LeetCode11:盛水最多的容器 解题思路 代码实现 LeetCode66:加一 解题思路 代码实现 LeetCode12 ...

  8. 【附答案】Java面试2019常考题目汇总(一)

    转载自  [附答案]Java面试2019常考题目汇总(一) 一.JAVA基础篇-概念 1.简述你所知道的Linux: Linux起源于1991年,1995年流行起来的免费操作系统,目前, Linux是 ...

  9. 1000以内完数c语言程序_C语言经典面试题目及答案详解(二)

    接着上次来说,C语言经典面试题目及答案详解(一)当中大部分是一些概念和理解的东西 ,今天说一说实践操作,有关c的经典程序. 1.输出9*9口诀.共9行9列,i控制行,j控制列. #include &q ...

  10. c语言sort函数_C语言经典面试题目及答案详解(二)

    接着上次来说,C语言经典面试题目及答案详解(一)当中大部分是一些概念和理解的东西 ,今天说一说实践操作,有关c的经典程序. 1.输出9*9口诀.共9行9列,i控制行,j控制列. #include 2. ...

最新文章

  1. pythonapp下载-python编程狮app下载
  2. Vue 进入/离开动画
  3. 异步http 超时_具有CompletableFuture的异步超时
  4. ud分区删除工具_硬盘分区GPT分区怎么转MBR呢?硬盘分区GPT分区转MBR教程
  5. 教师计算机培训心得体会范文,xx年教师计算机培训心得体会范文.doc
  6. node读写xlsx文件
  7. 巴厘岛最全的美食攻略
  8. CText更新至V1.1.0
  9. 常用数学符号的英文读法
  10. bootstrap table表格点击行checkbox勾选或取消勾选
  11. office实操技能01:修改微软Office页面的(非背景的)浅绿底色、设置默认字体和主题颜色、取消页眉横线、PPT默认的等线字体
  12. 今日睡眠质量记录85分
  13. 感应门铃的c语言程序,基于STM32单片机智能门禁门铃热释人体感应光照报警+RFID门禁电磁锁设计-(原理图+程序源码)...
  14. 2020 icpc 沈阳
  15. js获取当前时间的年月日时分秒以及时间的格式化
  16. 无信息变量选择(UVE)波长筛选算法--基于OpenSA开源库实现
  17. 人工智能时代,最容易被人工智能取代的职位是什么
  18. 智慧社区管理系统助力实现社区数字化管理
  19. 文章伪原创方法(如何伪原创使文章快速收录)
  20. Python—实现sftp客户端(连接远程服务器)

热门文章

  1. 用Todd Motto揭秘JavaScript
  2. histogram loss笔记
  3. echarts 地图自定义图标_echarts 使用 百度地图 加入自定义图标标记
  4. “盲人”马云:骑着盲虎贩卖梦想
  5. 反编译工具的安装与使用(解决部分能反编译部分不能反编译)
  6. redis基于Lettuce客户端实现读写分离
  7. unity Maya中模型动画可能存在的问题总结
  8. 三步棋,跟着bit鹏哥学得
  9. 软件版本的GA 代表什么意思?
  10. 我的抗争:一个中年编外程序员的挣扎