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

2020-07-01 14:47:21

array_search() 函数在数组中搜索某个键值,并返回对应的键名。
array_search() 函数与 in_array() 一样,在数组中查找一个键值。如果找到了该值,匹配元素的键名会被返回。如果没找到,则返回 false。

array_column() 返回输入数组中某个单一列的值。


$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);

 

 ?>