2013-04-04 61 views
0

我有這個字符串:獲取號碼 - PHP

subcategory19,組別

,我想從中獲取這些值:

分兩個變量。

我嘗試了很多方法,在互聯網上,但我不能與他們中的任何一個。

有什麼想法?

謝謝! :)

+2

您嘗試了很多方式,請發佈這些。 – 2013-04-04 11:29:13

+0

這是因爲你不在乎理解它們,所以你可以爲你的精確用例調整它們。 – 2013-04-04 11:30:40

+0

我試過的一般變體是: if(strpos($ catvariable,'subcategory')!==假){ \t \t \t $ action1 = substr($ catvariable,strpos($ catvariable,'/ subcategory /')+ 11); ($ catvariable,strops($ catvariable,'/ subcategory /')+ 12); $ action1_2 = substr($ catvariable,strpos($ catvariable,'/ subcategory /')+ 12); \t \t \t $ subcategoryid = str_replace(「$ action1_2」,「」,「$ action1」); $ category = substr($ catvariable,strpos($ catvariable,'/ subcategory /')+ 21);}};}};}}} \t \t \t} \t \t \t如果(strpos($ catvariable, '子類別')===假){ \t \t \t $類別= $ catvariable; \t \t \t $ subcategoryid =「0」; \t \t \t} – user1935464 2013-04-04 11:31:33

回答

0

考慮到格式爲:

子類別[X],類別[Y]

的你爲了由,一分爲二的字符串中使用explode。然後你將有兩個字符串,格式爲subcategory[X]category[Y],可以通過刪除subcategorycategory來簡化它,它將返回字符串中的兩個數字值。此時你只需要鑄造(int)

下面是一個例子:

$string; // the string 
$ar = explode(',', $string); 
$x = (int) str_ireplace('subcategory', '', $ar[0]); 
$y = (int) str_ireplace('category', '', $ar[1]); 

注意,這是優化的(並且不使用正則表達式),但將只與上面所提供的固定格式工作。因此category12,subcategory4,subcategory24subcategory97category90會觸發錯誤。