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 相关文章推荐
建立文件交换功能的脚本(三)
Oct 09 PHP
基于mysql的论坛(3)
Oct 09 PHP
mysql总结之explain
Feb 27 PHP
php读取文件内容的几种方法详解
Jun 26 PHP
美图秀秀web开放平台--PHP流式上传和表单上传示例分享
Jun 22 PHP
Laravel 5框架学习之Eloquent (laravel 的ORM)
Apr 08 PHP
PHP连接MYSQL数据库实例代码
Jan 20 PHP
PHP记录页面停留时间的方法
Mar 30 PHP
Laravel中任务调度console使用方法小结
May 07 PHP
Laravel框架中VerifyCsrfToken报错问题的解决
Aug 30 PHP
PHP实现登录注册之BootStrap表单功能
Sep 03 PHP
解决PHP curl或file_get_contents下载图片损坏或无法打开的问题
Oct 11 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
PHP三层结构(上) 简单三层结构
2010/07/04 PHP
HTML中嵌入PHP的简单方法
2016/02/16 PHP
PHP微信H5支付开发实例
2018/07/25 PHP
js继承 Base类的源码解析
2008/12/30 Javascript
jquery插件之easing使用
2010/08/19 Javascript
table行随鼠标移动变色示例
2014/05/07 Javascript
jquery获取及设置outerhtml的方法
2015/03/09 Javascript
如何用js 实现依赖注入的思想,后端框架思想搬到前端来
2015/08/03 Javascript
jQuery 3.0 的 setter和getter 模式详解
2016/07/11 Javascript
AngularJS实现一次监听多个值发生的变化
2016/08/31 Javascript
js将字符串中的每一个单词的首字母变为大写其余均为小写
2017/01/05 Javascript
jquery封装插件时匿名函数形参和实参的写法解释
2017/02/14 Javascript
JS 实现随机验证码功能
2017/02/15 Javascript
详解vue的diff算法原理
2018/05/20 Javascript
Vue CLI2升级至Vue CLI3的方法步骤
2019/05/20 Javascript
JS实现星星海特效
2019/12/24 Javascript
Vue实现仿iPhone悬浮球的示例代码
2020/03/13 Javascript
利用Vue的v-for和v-bind实现列表颜色切换
2020/07/17 Javascript
JavaScript实现alert弹框效果
2020/11/19 Javascript
[04:44]DOTA2 2017全国高校联赛视频回顾
2017/08/21 DOTA
Python 除法小技巧
2008/09/06 Python
使用IPython来操作Docker容器的入门指引
2015/04/08 Python
Python Web框架Tornado运行和部署
2020/10/19 Python
Python使用dict.fromkeys()快速生成一个字典示例
2019/04/24 Python
Python 闭包,函数分隔作用域,nonlocal声明非局部变量操作示例
2019/10/14 Python
Iconfont(矢量图标)+iconmoon(图标svg互转)配合javascript实现社交分享系统
2020/04/21 Python
Python下使用Trackbar实现绘图板
2020/10/27 Python
小程序canvas中文字设置居中锚点
2019/04/16 HTML / CSS
工程业务员岗位职责
2013/12/31 职场文书
机电一体化应届生求职信范文
2014/01/24 职场文书
电气工程自动化求职信
2014/03/14 职场文书
2014迎接教师节演讲稿
2014/09/10 职场文书
主持人开场白台词
2015/05/29 职场文书
西部计划志愿者工作总结
2015/08/11 职场文书
读鲁迅先生的经典名言
2019/08/20 职场文书
mysql的Buffer Pool存储及原理
2022/04/02 MySQL