我知道這看起來像一個瘋狂的問題,但我無法找出以下情況的最佳解決方案。在一串逗號分隔的單詞(乾草堆)中搜索字符串(針)
我有一個「類別」數組,每個都有一個「搜索」字符串。這些搜索是一串逗號分隔的單詞,其作用類似strpos
以匹配類別。類別陣列
$categories = [
0 => [
'category' => 'Foo',
'searches' => 'fet,cre,oho'
],
1 => [
'category' => 'Bar',
'searches' => 'lois,vreb,mon'
],
]
這裏
實施例是問題。假設我有這個詞secret
。如您所見,$categories
中的第一個數組有searches
,其中包含字符串中的cre
。我遇到的問題是給出一個字符串(在這個例子中是'secret')的一個基於給定字符串的類別,其中一個用逗號分隔的單詞中的一個搜索,然後返回類別(只能有一個貓)。
結果我要找:
function findCategory($string)
{
$category = false;
// code to take the string,
// look through $categories
// find the first occurrence of a string position
// in the comma separated list of possible matches
return $category ? $category : 'Other';
}
echo findCategory('secret'); // Foo
echo findCategory('monster'); // Bar
echo findCategory('cohort'); // Foo
echo findCategory('tense'); // Other
您需要**嘗試自己編寫代碼**。在[**做更多的研究**之後](https://meta.stackoverflow.com/q/261592/1011527)如果你有問題**發佈你已經嘗試了**的**明確的解釋不工作**並提供[最小,完整和可驗證示例](http://stackoverflow.com/help/mcve)。閱讀[如何問](http://stackoverflow.com/help/how-to-ask)一個很好的問題。請務必[參觀](http://stackoverflow.com/tour)並閱讀[this](https://meta.stackoverflow.com/q/347937/1011527)。 –
這個問題有點寬泛,你有沒有嘗試過自己呢? – RiggsFolly
最好的我可以通過所有類別和搜索在每個類別中的id循環,然後將每個搜索作爲正則表達式模式並將其與原始字符串進行匹配。如果有匹配,則分配類別。 – SchoolBoy