比方說,我的用戶名數組作爲這樣的:如何在具有遞增編號值的數組中找到可用點?
[
'john.doe',
'john.doe1',
'john.doe2',
'john.doe4',
'john.doe5'
]
現在,一個新的用戶註冊爲john.doe。我使用LIKE查詢從數據庫中提取了現有的john.doe,並將其存儲在上面的數組中。然後,我想遍歷該數組,以查看哪個點可用於新註冊的john.doe。
在這種情況下,可用的位置是john.doe3。
我知道如何使用while循環完成此操作,只需添加一個增量直到不匹配。
基本上我有兩個問題:
這是完全接近這個用戶名重複的問題的正確方法嗎?
我想知道是否有更好的方法來代替使用while循環?
爲什麼不直接返回「指定的名稱已被佔用」,讓用戶選擇別的東西嗎? – zerkms 2015-01-21 02:05:50
因爲用戶名將根據用戶的名字和姓氏生成。 – badger 2015-01-21 02:11:53
然後只是循環。從技術上講,你可以使用二分查找來加速查找,但是你不可能有甚至超過10個具有相同名稱的人,所以使用循環是可以的。目前還不清楚爲什麼它缺少'john.doe3' – zerkms 2015-01-21 02:13:38