gpt4 book ai didi

php - 如何只获取数组中第一个匹配的值

转载 作者:可可西里 更新时间:2023-11-01 00:10:23 24 4
gpt4 key购买 nike

编辑:我的意思是问获得第一场比赛或第一场比赛的最佳/最快方法是什么。

我有一个数组

$arr = ('abc', 'ded', 'kjld', 'abr', 'cdfd');

我想先洗牌这个数组,然后只检索与模式/ab/匹配的第一个值。因此,返回值可能是 abc 或 abr。

我查看了 preg_grep,但它会返回一个包含所有匹配项的数组。当然,我可以只检索结果数组的第一个值,但这很浪费,而且需要额外的数组操作步骤。是否有另一个函数或 preg_grep 开关指定仅返回第一个匹配值(或前 5 个匹配值)。我查看了 preg_matchpreg_search,但它们似乎没有提供我想要的内容。

最佳答案

您可以遍历数组并在找到匹配项时使用 break 结束循环:

foreach($arr as $value) {
if(preg_match($pattern,$value)) {
$return_string=$value;
break;
}
}

指定限制:

$limit=3;
$i=0 // sets the number of returned results to 0
$results=array();
foreach($arr as $value) {
if(preg_match($pattern,$value)) {
// add the result into the array and increment the counter
array_push($results,$value);
$i++;
} if ($i=$limit) break;
}

然后您可以使用另一个 foreach 循环来返回您的值,例如:

if(count($results)>0)
foreach ($results as $result) {
echo $result;
} else echo "No results found";

关于php - 如何只获取数组中第一个匹配的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9589151/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com