gpt4 book ai didi

php - 如何检查与php中的随机字符匹配的数组数据?

转载 作者:可可西里 更新时间:2023-11-01 12:40:13 25 4
gpt4 key购买 nike

我有一个如下所示的数组:

$fruits = array("apple","orange","papaya","grape")

我有一个像下面这样的变量:

$content = "apple";

我需要过滤一些条件,例如:如果此变量至少匹配一个数组元素,则执行某项操作。变量 $content 是一堆随机字符,实际上是数组数据中可用的字符之一,如下所示:

$content = "eaplp"; // it's a dynamically random char from the actual word "apple`

我做了如下所示:

$countcontent = count($content);

for($a=0;$a==count($fruits);$a++){

$countarr = count($fruits[$a]);

if($content == $fruits[$a] && $countcontent == $countarr){
echo "we got".$fruits[$a];
}

}

我试图计算这些短语有多少个字母,并像 if...else... 一样,当字符串中的总词与数组数据之一的总词匹配时,但是除此之外,还有什么我们可以做的吗?

最佳答案

我们可以使用 in_array 检查数组是否包含某个值。所以你可以检查你的 $fruits 数组是否包含字符串 "apple"

in_array("apple", $fruits)

返回一个 bool 值。

如果字母的顺序是随机的,我们可以用这个函数按字母顺序对字符串进行排序:

function sorted($s) {
$a = str_split($s);
sort($a);
return implode($a);
}

然后将此函数映射到您的数组并检查它是否包含排序后的字符串。

$fruits = array("apple","orange","papaya","grape");
$content = "eaplp";
$inarr = in_array(sorted($content), array_map("sorted", $fruits));

var_dump($inarr);
//bool(true)

另一个选项是array_search。使用 array_search 的好处是它返回项目的位置(如果它在数组中找到,否则 false)。

$pos = array_search(sorted($content), array_map("sorted", $fruits));

echo ($pos !== false) ? "$fruits[$pos] found." : "not found.";
//apple found.

关于php - 如何检查与php中的随机字符匹配的数组数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50081895/

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