用于匹配的 PHP 搜索数组列

标签 php arrays search

我有一个数组,如下所示,它有多个列。我想在第一列中搜索特定值,并返回匹配的行。这可能吗?

例如:

Array (
[0] => Array ( [id] => 1 [column2] => value2 [column3] => value3 [column4] => value4 [column5] => value5 ) 
[1] => Array ( [id] => 1 [column2] => value2 [column3] => value3 [column4] => value4 [column5] => value5 ) 
[2] => Array ( [id] => 2 [column2] => value2 [column3] => value3 [column4] => value4 [column5] => value5 
)

假设我想在“id”列中搜索“1”并显示结果。如何才能做到这一点?非常感谢!

最佳答案

如果您使用的是 PHP >= 5.5,那么您可以使用新的 array_column() , 连同 array_keys()array_map() .

给定你的数组,$array:

$keys = array_keys(array_column($array, 'id'), 1);
$new_array = array_map(function($k) use ($array){return $array[$k];}, $keys);

See demo

关于用于匹配的 PHP 搜索数组列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24470355/

相关文章:

php - 如何删除mysql中以正则表达式开头的内容?

c - 如何在c中正确使用bsearch?

ios - 如何将 UIImage 或 NSData 转换为字节数组并发布到服务器?

Python 在嵌套列表中搜索以查找值并将值插入到新列表中

javascript - 网站音频流中继

php - 在 php 中使用数组为特定的 td 位置赋值

arrays - 在 Perl6 中制作部分数组

arrays - 二进制搜索只使用长度?

java - 我的 SearchInsert 解决方案有什么问题?