php配合medoo数据库类实现二维数组字符串匹配
作者:互联网
在带有下标的一维数组中匹配包含指定字符串的值,可以使用strpos()
函数进行判断。以下是这个函数:
function searchArrayWithKeys($substring, $haystack) {
foreach ($haystack as $key => $value) {
if (strpos($substring, $value[title]) !== false) {
return $value['id'];
}
}
return false;
}
// 示例用法
$array = [
'fruit1' => 'apple',
'fruit2' => 'banana',
'fruit3' => 'orange',
];
$key = searchArrayWithKeys('ana', $array);
if ($key !== false) {
echo "匹配成功,对应的键名是:" . $key;
} else {
echo "未找到匹配项";
}
PHP
在上述示例中,searchArrayWithKeys()
函数接受两个参数,$substring
表示要匹配的子字符串,$haystack
表示要在其中查找的带有下标的一维数组。函数使用foreach
循环遍历每个键值对,然后使用strpos()
函数检查值是否包含指定的子字符串。如果找到匹配项,函数返回对应的键名;如果遍历完所有元素都未找到匹配项,则返回false
。
注意:strpos()
函数在判断字符串是否包含子字符串时,使用了松散比较(!== false
),这是因为strpos()
函数可能返回0
,表示子字符串出现在字符串的起始位置。
你可以根据具体的需求和数据结构使用这个示例函数,将要搜索的子字符串和带有下标的一维数组作为参数传递给searchArrayWithKeys()
函数,根据返回值判断匹配是否成功,并获取对应的键名(下标)。
标签: 来源: