php利用array_search与array_column实现二维数组查找


Posted in PHP onJuly 08, 2019

在看php手册数组函数时,看到了一个高赞的用户回答传送门,利用array_search与array_column实现二维数组查找,不用自己写个循环,减少工作量。

<?php 
$userdb = array(
 0 => array(
      'uid' => 100,
      'name' => 'Sandra Shush',
      'url' => 'urlof100'
    ),
 
  1 => array(
      'uid' => 5465,
      'name' => 'Stefanie Mcmohn',
      'pic_square' => 'urlof100'
    ),
 
  2 => Array(
      'uid' => 40489,
      'name' => 'Michael',
      'pic_square' => 'urlof40489'
    )
);
 
$found_key = array_search(40489, array_column($userdb, 'uid'));
/**
 如果$userdb很大,建议使用一个变量,避免搜索每个元素时都调用array_column()
 $uid = array_column($userdb, 'uid');
 $found_key = array_search(40489, $uid);
 */
var_dump($found_key);
 
 ?>

题目描述:

在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。

代码:

<?php

function findInOneArray($target, $array){
  if(array_search($target,$array)!==false) return true; //1、array_search()是在以为数组中来找,现在我们要在二维数组数组中来,肯定要借用这个
  else return false; //2、!==false的真正用法,是既有返回false,又有返回表示false数组的0的时候
}

function Find($target, $array)
{
  foreach($array as $key => $val){
    if(findInOneArray($target, $val)) return true;
  }
  return false;
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
纯真IP数据库的应用 IP地址转化成十进制
Jun 14 PHP
php 文件上传后缀名与文件类型对照表(几乎涵盖所有文件)
May 16 PHP
php生成随机密码的三种方法小结
Sep 04 PHP
PHP表单提交表单名称含有点号(.)则会被转化为下划线(_)
Dec 14 PHP
php获取ip的三个属性区别介绍(HTTP_X_FORWARDED_FOR,HTTP_VIA,REMOTE_ADDR)
Sep 23 PHP
利用phpExcel实现Excel数据的导入导出(全步骤详细解析)
Nov 26 PHP
实现获取http内容的php函数分享
Feb 16 PHP
php实现监控varnish缓存服务器的状态
Dec 30 PHP
smarty模板引擎使用内建函数foreach循环取出所有数组值的方法
Jan 22 PHP
基于laravel制作APP接口(API)
Mar 15 PHP
PHP对象克隆clone用法示例
Sep 28 PHP
PHP使用Redis实现Session共享的实现示例
May 12 PHP
php实现获取近几日、月时间示例
Jul 06 #PHP
php判断/计算闰年的方法小结【三种方法】
Jul 06 #PHP
php使用filter_var函数判断邮箱,url,ip格式示例
Jul 06 #PHP
php中isset与empty函数的困惑与用法分析
Jul 05 #PHP
用PHP做了一个领取优惠券活动的示例代码
Jul 05 #PHP
php无限极分类实现方法分析
Jul 04 #PHP
php常用日期时间函数实例小结
Jul 04 #PHP
You might like
Java中final关键字详解
2015/08/10 PHP
PHP的反射机制实例详解
2017/03/29 PHP
Thinkphp开发--集成极光推送
2017/09/15 PHP
Laravel框架分页实现方法分析
2018/06/12 PHP
js修改table中Td的值(定义td的双击事件)
2013/01/10 Javascript
利用jQuery的deferred对象实现异步按顺序加载JS文件
2013/03/17 Javascript
YUI模块开发原理详解
2013/11/18 Javascript
jquery取消选择select下拉框示例代码
2014/02/22 Javascript
JS的location.href跳出框架打开新页面的方法
2014/09/04 Javascript
jquery实现用户信息修改验证输入方法汇总
2015/07/18 Javascript
基于JS实现简单的样式切换效果代码
2015/09/04 Javascript
JavaScript数据结构与算法之栈与队列
2016/01/29 Javascript
基于jQuery实现弹出可关闭遮罩提示框实例代码
2016/07/18 Javascript
Node.JS利用PhantomJs抓取网页入门教程
2017/05/19 Javascript
Smartour 让网页导览变得更简单(推荐)
2019/07/19 Javascript
Python编程中的for循环语句学习教程
2015/10/14 Python
python数据类型判断type与isinstance的区别实例解析
2017/10/31 Python
Python安装图文教程 Pycharm安装教程
2018/03/27 Python
Python中常用的内置方法
2019/01/28 Python
Python基础学习之类与实例基本用法与注意事项详解
2019/06/17 Python
12个Python程序员面试必备问题与答案(小结)
2019/06/24 Python
Pycharm 字体大小调整设置的方法实现
2019/09/27 Python
Python3实现zip分卷压缩过程解析
2019/10/09 Python
Pycharm中安装Pygal并使用Pygal模拟掷骰子(推荐)
2020/04/08 Python
移动端适配 使px自动转换rem
2019/08/26 HTML / CSS
HTML5实现直播间评论滚动效果的代码
2020/05/27 HTML / CSS
AmazeUI 折叠面板的实现代码
2020/08/17 HTML / CSS
Sephora丝芙兰菲律宾官方网站:购买化妆品和护肤品
2017/04/05 全球购物
俄罗斯EPL钻石珠宝店:ЭПЛ
2019/10/22 全球购物
介绍一下.net和Java的特点和区别
2012/09/26 面试题
护理专业本科生自荐信
2013/10/01 职场文书
无毒社区工作方案
2014/05/23 职场文书
个人培训总结
2015/03/05 职场文书
《曹冲称象》教学反思
2016/02/20 职场文书
postgreSQL数据库基础知识介绍
2022/04/12 PostgreSQL
JS实现九宫格拼图游戏
2022/06/28 Javascript