搜索栏没有单词顺序

时间:2018-01-04 16:15:01

标签: php json search

我在数据库中实现了一个搜索栏。我解释说我的数据库中有两个用户:“James Da”和“Paul Mo” 我希望当用户搜索“James”时,这将显示“James Da”,但我也希望当他寻找“Da”时,它会显示“James Da,当他寻找”ames“时,它会显示“詹姆斯达”......

我的功能只实现了第一种情况:

NSString *dateString = @"2018-01-04 05:37:01.74";
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setLocale:locale];
[dateFormat setTimeZone:[NSTimeZone systemTimeZone]];
[dateFormat setDateFormat:@"YYYY-MM-dd HH:mm:ss.SSS"];
NSDate *date = [dateFormat dateFromString:dateString];

考虑到空间,我应该使用其他条件吗?

1 个答案:

答案 0 :(得分:0)

您目前只检查第一个案例:

substr(strtolower($user->getUserFullName()), 0, strlen($name)) === strtolower($name)

substr(strtolower($user->getUserFullName()), 0, strlen($name))将从用户名中删除第一部分,该用户名最多包含与搜索名称相同的字符数。由于您进行了相同的检查,因此您只需检查完整用户名是否以用户刚刚输入的名称开头。

相反,您可以简化使用stripos

if (stripos($user->getUserFullName(), $name) !== FALSE) {
    $users[] = '@' . $user->getUseruniqname() . ':server';
}

这将检查用户输入的字符串是否是用户名的一部分,同时不区分大小写。使用'ames'等规则会找到'James Do',这似乎是准确的。