[英]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.