在数组中查找类似条件

Posted

技术标签:

【中文标题】在数组中查找类似条件【英文标题】:Find with like condition in array 【发布时间】:2012-07-14 23:07:58 【问题描述】:

我有以下数组,我想使用搜索和排序。搜索和排序就像我们使用 mysql "LIKE" 条件进行的排序,但在数组中而不是在数据库中。

Array
(
    [4] => Varun Kumar
    [14] => Jason Ince
)

就像用 Jason Ince 输入“jas”记录一样,必须分别用键和值以及记录的其余部分从中出来。

【问题讨论】:

你可以循环遍历数组并对每个键值对进行 strpos 比较吗? 【参考方案1】:

你的意思是这样的:

foreach($yourArr as $key => $value) 
    if (strpos($value, $yourString) !== false) 
       //results here
    

【讨论】:

该死的正则表达式..他们宠坏了我!我完全忘记了strpos()【参考方案2】:

你可以使用array_filter:

$filtered_array = array_filter($original_array, create_function($a, 'return stristr($a,"jas")!==false'));

或者,如果你使用的是 php 5.3+,语法是:

$filtered_array = array_filter($original_array, function($a) return stristr($a,"jas")!==false );

【讨论】:

【参考方案3】:
function arraySearch( $array, $search )  
    foreach ($array as $a )  
        if(strstr( $a, $search)) 
            echo $a;
         
     
return false; 

arraySearch(array("php","mysql","search"),"my"); // will return mysql

【讨论】:

【参考方案4】:

你也可以这样使用:

function check($yourString)

    foreach($yourArr as $key => $value) 
        if (strpos($value, $yourString) !== false)
            return strpos($value, $yourString);
    

这样你就可以检查条件如果不是假的。

【讨论】:

以上是关于在数组中查找类似条件的主要内容,如果未能解决你的问题,请参考以下文章

Python根据条件在数组中查找索引

Java - 使用条件和 Lambda 在数组中查找元素

CSV文件操作,PHP如何对满足条件的二维数组进行求和

如何在最接近条件的数组中查找数据

JavaScript查找一个数组中符合某个条件的值,并将符合条件的值存入新的数组

Snowflake SQL:如何使用 JSON 对象循环遍历数组,以查找符合条件的项目