繁体   English   中英

从PHP数组中获取匹配的值和键

[英]Get matching values and key from array in php

如何仅从php中的数组中获取匹配的值。 例:

<?php
$a=array("1"=>"Hello","2"=>"World","3"=>"Check","4"=>"Here");
?>

从$ a,如果我有"He""ld""che"类的文本,如何基于文本显示获取匹配的值并为数组设置键。 像sql一样查询。

您可以迭代数组并检查每个值是否包含搜索字符串:

        $searchStr = 'He';
        $a=array("1"=>"Hello","2"=>"World","3"=>"Check","4"=>"Here");

        foreach( $a as $currKey => $currValue ){
          if (strpos($currValue, $searchStr) !== false) {
             echo $currKey.' => '. $currValue.' ';
          }
        }
//prints 1 => Hello 4 => Here 

您可以为此创建函数,如下所示:

function find_in_list($a, $find) {
    $result = array();
    foreach ($a as $el) {
        if (strpos($el, $find) !== false) {
            $result[] = $el;
        };
    }
    return $result;
}

您可以这样称呼它:

print_r (find_in_list(array("Hello","World","Check","Here"), "el"));

输出:

Array ( [0] => Hello ) 

这是一个简单的班轮。

您可能正在寻找preg_grep() 使用此函数,您可以从给定数组中找到可能的REGEX

$a=array("1"=>"Hello","2"=>"World","3"=>"Check","4"=>"Here");    
$matches  = preg_grep ("/^(.*)He(.*)$/", $a);
print_r($matches);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM