预览模式: 普通 | 列表

 利用array_search与array_column实现二维数组查找,不用自己写个循环,减少工作量。

PHP代码
  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.  ?>  

 array_search() 函数在数组中搜索某个键值,并返回对应的键名。

array_search() 函数与 in_array() 一样,在数组中查找一个键值。如果找到了该值,匹配元素的键名会被返回。如果没找到,则返回 false。
 
在 PHP 4.2.0 之前,函数在失败时返回 null 而不是 false。
 
如果第三个参数 strict 被指定为 true,则只有在数据类型和值都一致时才返回相应元素的键名。
 
PHP array_column() 函数
array_column() 返回输入数组中某个单一列的值。

Tags: php

分类:技术文章 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 411

 广告位

↑返回顶部↑