2011-10-31 80 views
0

我正在傳遞一些使用URL的數據,並試圖使用管道來分離數據的不同部分。例如,我想送件之一是課程代碼,如「COP211 | 212 | 213」,我有一個會爆炸這些作品的功能

explode("|",$code); 

其中$代碼是從URL - 類似coursecode.php?q = COP211 | 212 | 213

問題是爆炸沒有做任何事!我曾嘗試爆炸( '|',爆炸( 「|」 爆炸( 「/ |」 並沒有什麼作品,該字符串來通過與管道完好 具體來說,

strpos($code, "|"); 

總是返回FALSE

編輯澄清

var_dump($code); 
if(strpos($code, "|") !== FALSE) { // Manage slashed courses 
    $cid = explode("|", $code); 
} 
var_dump($cid); 

的var_dump($代碼)返回字符串,所有在一塊。

strpos($鱈魚e,「|」)即使|也總是返回false存在。

var_dump($ cid)不是數組,它又是字符串。

這是一個編碼問題,或者因爲它首先通過URL傳遞?

幫助!

+0

執行'var_dump($ code)'併發布結果。 –

+0

首先嚐試回顯$ _SERVER ['QUERY_STRING'],以查看腳本實際正在接收的數據。 – Peter

+0

var_dump($ code)返回一個字符串。 – Oranges13

回答

1

首先,請確保$_GET包含使用var_dump($_GET)的內容。

你的第二個問題是explode()返回作爲數組的爆炸字符串。要替換$code的內容,請執行以下操作:

$code = explode('|', $code); 
+0

我期待一個數組,因爲我需要遍歷它來將COP部分重新放回後面的數字。最終的輸出將會像COP120 COP122等,但我必須先能夠爆炸字符串!我編輯過,以澄清我在哪裏使用各種部件,以便您可以看到發生了什麼。 – Oranges13