2014-02-07 13 views
6

所以我得到了一部分的網址與PHP。本部分可能會或可能不會跟蹤'?'值。所以舉個例子:我正在爆炸url:stackoverflow.com/questions,我想得到問題,所以我做了類似explode ('/',$url)。假設在這個例子中,url可能如下所示:stackoverflow.com/questions?query。我不想那個結束'查詢',所以我做explode ('?',$questionurl[no.])。但是,如果字符串不包含分隔符,爆炸將如何處理?它只是返回字符串,還是返回false?如果你爆炸了一個字符串並且所說的字符串不包含分隔符,爆炸是否踢出錯誤?

我已經通讀了php文檔,看了一下堆棧中的問題,但似乎無法找到這個確切的場景。

我可以自己測試一下,但是我正在使用的環境已經設置好可以與drupal一起工作。因此,要測試一個簡單的查詢需要相當多的麻煩,我認爲這對於所有和未來的聚會來說都更有用。

+1

不,它返回一個數組,其中不帶任何元素或單個元素,具體取決於'limit'參數的值....完全按照[documentation(http://www.php.net) /manual/en/function.explode.php)...「如果__delimiter__包含__string__中未包含的值,並且使用__negative__限制,則將返回一個空數組,否則將返回包含__string__的數組。 「 –

+0

因此,它返回數組中的sting。所以我應該打電話給$ url [0]。 –

+0

僅供參考 - 您可以在您的服務器的任何位置創建一個'test.php'文件,將代碼放置在''標籤中,並且它可以工作。它與Drupal無關。 –

回答

8

請閱讀php文檔。它存在的原因。

http://be2.php.net/explode

返回上由分隔符形成的邊界分割字符串參數 創建字符串數組。

如果分隔符是空字符串(「」),explode()將返回FALSE。如果 分隔符包含的值不包含在字符串中,並且使用了一個 負數限制,則將返回一個空數組,否則將返回一個包含字符串的數組。

+1

我認爲它給我帶來的'負面限制',我不確定這到底是什麼意思。 –

+2

閱讀手冊頁並查看使用限制的示例(第三個參數)。然後你就會明白了;) –

+0

如果你不瞭解php函數中使用的參數,那麼你必須從代表函數的文檔中讀取參數部分。 –

0

不會拋出任何錯誤 - 它將返回一個數組,其中包含整個字符串的一個元素(請記住explode返回一個數組)。

+0

它應該是一個評論,而不是回答 –

+0

對不起,我在這裏比較新。答案太簡單了嗎?對SO的回答簡單有沒有限制? – cbreezier

0

從php.net explode()手冊頁:

如果delimiter包含未被包含在字符串並且使用 負極限的值,則空數組將被返回,否則 一個包含字符串的數組將被返回。