如何检查与php中随机字符匹配的数组数据?
发布时间:2020-12-13 13:22:40 所属栏目:PHP教程 来源:网络整理
导读:我有一个如下数组: $fruits = array("apple","orange","papaya","grape") 我有一个如下变量: $content = "apple"; 我需要过滤一些条件,如:如果此变量与至少一个数组元素匹配,则执行某些操作.变量$content是一堆随机字符,实际上是数组数据中可用的一个,如
我有一个如下数组:
$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]; } } 我试着计算这些短语有多少个字母,如果……其他……当字符串中的总字符与一个数组数据中的总字符匹配时,但是除此之外我还能做些什么吗?
我们可以使用in_array检查数组是否包含某个值.所以你可以检查你的$fruits数组是否包含字符串“apple”, in_array("apple",$fruits) 返回一个布尔值. 如果字母的顺序是随机的,我们可以使用此函数按字母顺序对字符串进行排序: function sorted($s) { $a = str_split($s); sort($a); return implode($a); } 然后将此函数映射到您的数组并检查它是否包含已排序的字符串. $fruits = array("apple","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),$fruits)); echo ($pos !== false) ? "$fruits[$pos] found." : "not found."; //apple found. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |