如何从php中的数组中仅获取匹配的值。 例如:
<?php
$a=array("1"=>"Hello","2"=>"World","3"=>"Check","4"=>"Here");
?>
来自$ a,如果我有"He"
或"ld"
或"che"
等文字,如何根据文字显示获取匹配值并键入数组。像sql一样查询。
答案 0 :(得分:1)
您可以为此创建功能,如下所示:
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 )
答案 1 :(得分:1)
这是简单的一个班轮。
您可能正在寻找preg_grep()
。使用此功能,您可以从给定的数组中找到可能的REGEX
。
$a=array("1"=>"Hello","2"=>"World","3"=>"Check","4"=>"Here");
$matches = preg_grep ("/^(.*)He(.*)$/", $a);
print_r($matches);
答案 2 :(得分:0)
如果数组包含搜索字符串,您可以迭代数组并检查每个值:
$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