当前位置:首页 > PHP教程 > php数组 > 列表

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

发布:smiling 来源: PHP粉丝网  添加日期:2021-12-02 15:38:52 浏览: 评论:0 

这篇文章主要介绍了php利用array_search与array_column实现二维数组查找,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。

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

  1. <?php  
  2. $userdb = array
  3.  0 => array
  4.       'uid' => 100, 
  5.       'name' => 'Sandra Shush'
  6.       'url' => 'urlof100' 
  7.     ), 
  8.    
  9.   1 => array
  10.       'uid' => 5465, 
  11.       'name' => 'Stefanie Mcmohn'
  12.       'pic_square' => 'urlof100' 
  13.     ), 
  14.    
  15.   2 => Array( 
  16.       'uid' => 40489, 
  17.       'name' => 'Michael'
  18.       'pic_square' => 'urlof40489' 
  19.     ) 
  20. ); 
  21.    
  22. $found_key = array_search(40489, array_column($userdb'uid')); 
  23. /** 
  24.  如果$userdb很大,建议使用一个变量,避免搜索每个元素时都调用array_column() 
  25.  $uid = array_column($userdb, 'uid'); 
  26.  $found_key = array_search(40489, $uid); 
  27.  */ 
  28. var_dump($found_key); 
  29.    
  30.  ?> 

题目描述:

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

代码:

  1. <?php 
  2.  
  3. function findInOneArray($target$array){ 
  4.   if(array_search($target,$array)!==false) return true; //1、array_search()是在以为数组中来找,现在我们要在二维数组数组中来,肯定要借用这个 
  5.   else return false; //2、!==false的真正用法,是既有返回false,又有返回表示false数组的0的时候 
  6.  
  7. function Find($target$array
  8.   foreach($array as $key => $val){ 
  9.     if(findInOneArray($target$val)) return true; 
  10.   } 
  11.   return false; 
  12. }

Tags: array_search array_column

分享到: