2013-02-15 165 views
-1

任何人都可以幫助我解決問題的快速解決方案嗎?在符號之前截斷php變量

我有一個從API返回的字符串,字符串就這樣產生了: 「181使= 2008」

$年=

所以我是用SUBSTR($一年,0, 3);得到前3位數字。 I.E. 181 問題是,現在有些字符串在返回前只有2位數字? 像這樣$ year =「54?make = 2008」

所以,如果我不知道有多少數字會在?之前出現,但我知道它總是以一個?有沒有一種方法可以在提取所有數據之前?並把它變成一個新的變量...

謝謝你提前!

+0

http://www.regular-expressions.info/tutorial.html – deceze 2013-02-15 19:00:51

+0

...或使用'strpos'與'substr'一起。或者其他5個字符串函數之一。 – ficuscr 2013-02-15 19:01:50

+0

看起來像一個查詢字符串。您可以使用parse_url/parse_str將其分解爲組件。 – 2013-02-15 19:02:03

回答

2
$year = strstr("181?make=2008","?"); 
+0

這工作得很好!非常感謝你。 – user1789437 2013-02-18 23:26:39

1

list($ data,$ junk)= explode(「?」,$ year); $ data將包含'?'之前的所有內容那麼,你也可以做一些我想象中的正則表達式,但對我來說這更容易閱讀。

1

正則表達式將努力獲得第一部分。像

preg_match("^([0-9]+)\?",$string,$match) 

東西,如果這是你想要的一年中,你可以使用

$year = substr("181?make=2008",-4)