【问题标题】:PHP: Search SubString in Array [duplicate]PHP:在数组中搜索子字符串[重复]
【发布时间】:2014-05-17 04:35:02
【问题描述】:

我想获取带有特定子字符串的数组索引。

这是我目前得到的:

<?php
    $array = array(0 => 'blau', 1 => 'rot', 2 => 'grün', 3 => 'rot');
    $key = array_search('grün', $array);  // $key = 2;
    $key = array_search('rot', $array);   // $key = 1;
?>

它匹配整个值。但是,我想匹配一个子字符串。是否有预定义的函数来实现这个目标?

【问题讨论】:

    标签: php arrays substring


    【解决方案1】:

    您可以尝试将array_filterstrpos 一起使用

    function search($var)
    {
        if(strpos($var, 'some_sub_string') !== FALSE){
            return true;
        }
    
        return false;
    }
    
    $array = array(0 => 'blau', 1 => 'rot', 2 => 'grün', 3 => 'rot');
    array_filter($array, 'search'));
    

    【讨论】:

    • array_filter 这里不合适,因为返回所有匹配项
    • 然后呢? OP是否指定他只想要第一场比赛?好像你只是在做假设。
    【解决方案2】:
    function array_substr_search($search, $array){
        foreach($array as $index => $value){
            if (stripos($value, $search) !== false){
                return $index;
            }
        }
    }
    
    $a = array('blue', 'red', 'yellow', 'purple');
    
    print array_substr_search('ello', $a); //returns 2 (yellow)
    

    【讨论】:

      猜你喜欢
      • 2014-01-06
      • 2018-11-28
      • 1970-01-01
      • 1970-01-01
      • 2016-11-15
      • 2012-09-12
      • 2011-07-04
      • 2013-04-03
      • 2012-09-01
      相关资源
      最近更新 更多