PHP检查数组中可能缺少的数字,也可以理解为计算两个数组中元素的差集。那么这里我们就可以通过PHP中range和array_diff这两个函数来实现。

推荐参考学习:《PHP教程》

下面我们就结合具体的代码示例,为大家介绍PHP检查数组中可能缺少的数字的方法。

代码示例如下:<?php

//PHP检查数组中可能缺少的数字

function aaa($num_list){

//创建一个数组

$new_arr = range($num_list[0],max($num_list));

//使用array_diff查找缺少的元素

return array_diff($new_arr,$num_list);

}

echo "

";

print_r(aaa(array(1,2,3,6,7,8)));

print_r(aaa(array(10,11,12,14,15,16,17)));

这里我们创建了一个aaa方法,用来计算出上述代码中两个数组分别所缺少的数字。

输出缺少的元素如下:

如图,第一个数组缺少了数字4,5;第二个数组缺少了数字13。

重要函数介绍:

range 函数表示 根据范围创建数组,包含指定的元素

语法:range ( mixed $start , mixed $end [, number $step = 1 ] ) : array

建立一个包含指定范围单元的数组。

参数 :start表示序列的第一个值。end表示序列结束于 end 的值。step表示如果设置了步长 step,会被作为单元之间的步进值。step 应该为正值。不设置step 则默认为 1。

返回值是,返回的数组中从 start 到 end (含 start 和 end)的单元。

array_diff 函数表示计算数组的差集

语法:array_diff ( array $array1 , array $array2 [, array $... ] ) : array

对比 array1 和其他一个或者多个数组,返回在 array1 中但是不在其他 array 里的值。

参数:array1表示要被对比的数组;array2表示和这个数组进行比较;...表示更多相比较的数组。

返回值表示返回一个数组,该数组包括了所有在 array1 中但是不在任何其它参数数组中的值。注意键名保留不变。

本篇文章就是关于PHP检查数组中可能缺少的数字的方法介绍,也是PHP面试常见考题之一,非常简单,希望对需要的朋友有所帮助!

PHP中的数组建必须为数字吗,PHP检查数组中缺少的数字相关推荐

  1. json中怎么去掉[]外的引号_如何正确检查发动机中的机油量?从机油尺处向外窜气是怎么回事?...

    机油是发动机的血液,发动机中必须有足够多的机油,才能完成润滑.冷却等任务.为了让驾驶员随时能够查看到发动机中机油的存量,在发动机上都设置了一个机油尺,我们只要把它拔出来,就可以查看机油的液位了:而有些 ...

  2. JavaScript笔记6(数组,foreach(),slice(),splice(),数组的剩余方法,函数的方法call和apply ,arguments,Date对象,Math,字符串的相关方法)

    JavaScript 数组(Array) forEach(),slice(),splice() 数组的剩余方法 函数的方法call()和apply() arguments Date对象 Math 字符 ...

  3. 《剑指offer》-- 调整数组顺序使奇数位于偶数前面、顺时针打印矩阵、数字在排序数组中出现的次数

    一.调整数组顺序使奇数位于偶数前面: 1.题目: 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之 ...

  4. Java黑皮书课后题第8章:**8.36(拉丁方阵)拉丁方阵是一个n*n的数组,其中有n个不同的拉丁字母,并且每个拉丁字母恰好只在每行和每列中出现一次。编写一个程序,提示用户输入数字n和字符数组

    **8.36(拉丁方阵)拉丁方阵是一个n*n的数组,其中有n个不同的拉丁字母,并且每个拉丁字母恰好只在每行和每列中出现一次 题目 题目描述与运行示例 破题 代码 题目 题目描述与运行示例 **8.36 ...

  5. Java黑皮书课后题第7章:7.10(找出最小元素的下标)使用下面的方法头编写一个方法,求出一个整数数组中的最小元素下标。编写测试程序,提示用户输入10个数字,调用这个方法返回最小值的下标(多个则最小

    7.10(找出最小元素的下标)使用下面的方法头编写一个方法,求出一个整数数组中的最小元素下标.编写测试程序,提示用户输入10个数字,调用这个方法返回最小值的下标(多个则返回最小的下标) 题目 题目描述 ...

  6. 【编程题目】输入一个已经按升序排序过的数组和一个数字,在数组中查找两个数,使得它们的和正好是输入的那个数字。...

    第 14 题(数组): 题目:输入一个已经按升序排序过的数组和一个数字, 在数组中查找两个数,使得它们的和正好是输入的那个数字. 要求时间复杂度是 O(n).如果有多对数字的和等于输入的数字,输出任意 ...

  7. C++版 - 剑指offer面试题38:数字在已排序数组中出现的次数

    数字在已排序数组中出现的次数 提交网址: http://www.nowcoder.com/practice/70610bf967994b22bb1c26f9ae901fa2?tpId=13&t ...

  8. 给定数组A []和数字X,请检查A []中是否有对X | 使用两个指针算法,O(1)空间复杂度| 套装2...

    Prerequisite: 先决条件: Hashing data structure 散列数据结构 Given an array A[] and number X, check for pair in ...

  9. 产生10个1-100的随机数,并放到一个数组中, 把数组中大于等于10的数字放到一个list集合中,并打印到控制台。

    代码 import java.util.ArrayList; import java.util.List; import java.util.Random;/*1.产生10个1-100的随机数,并放到 ...

最新文章

  1. svn中出现红色感叹号
  2. 两个命令把 Vim 打造成 Python IDE
  3. linux系统相关硬件查询
  4. java 华为面试题_JAVA华为面试题
  5. 1360E. Polygon
  6. 数据分类是否一定要求样本均衡
  7. 在 Mac 上的“快捷指令”中如何调整基本隐私设置?
  8. php 自定义 base64 解码,php base64 编码与解码实例代码
  9. 常见计算机英语词汇翻译,常见计算机英语词汇翻译.doc
  10. 微带天线馈电方法 [搬运]
  11. 计算机电源高频干扰,在高频开关电源设计中怎样抑制电磁干扰?
  12. OpenCV-python 自制图片画框脚本
  13. 2021年,小灰都读了哪些书?
  14. idea 提示 TKK 更新TKK失败,请检查网络连接,解决办法!
  15. 程序员效率:整理常用的在线笔记软件
  16. MTK芯片技术资料大全,各个型号都有,包括原理图数据表等
  17. java生成条码_Java生成商品条形码
  18. 粒子物理中的粒子鉴别
  19. vue-baidu-map之地图的主题背景色设置
  20. 打开掌柜宝怎么显示服务器繁忙,掌柜宝网关系统

热门文章

  1. RhinoMock异常ExpectationViolationException以及解决
  2. RMAN异机恢复遭遇ORA-01547、ORA-01152、ORA-01110错误案例
  3. 牛书终于在卓越网上架
  4. Antlr中文文档初稿2(《ANTLR树分析器》)
  5. JAVA语法——经典题目02
  6. 《人月神话》读后感一
  7. 实现一个shell程序
  8. vue-cli 中stylus写样式莫名报错?
  9. Weak References 和 Soft reference
  10. ForkJoinPool分支合并框架计算加法