2013-10-08 188 views
0
$line = "30,[CVS Core] server dot cvsignore file should be considered by client (1GCC6MB),[email protected],expert,[email protected]"; 
list($bugId,$bugText,$dupId,$submitId,$submitExpert,$bugFixerId) = split(",", $line); 
echo $bugId.","; 
echo $submitId.","; 
echo $submitExpert.","; 
echo $bugFixerId.","; 
echo $bugText; 

這裏是我的PHP代碼,但我不知道爲什麼,這表明未定義抵消:5PHP分割字符串以逗號

和這裏的結果

30,專家,平臺VCM- [email protected] ,, [CVS Core]服務器點cvsignore文件應該被客戶端考慮(1GCC6MB)

我不知道發生了什麼事。

感謝

+0

順便說一句,[PHP文檔](http://php.net/split)說:'這個函數從PHP 5.3.0開始已經被拒絕。依靠這個特性非常令人沮喪。'使用'explode(',',$ line);'! – ComFreek

+0

看到雙,,,其中一個是空的 – 2013-10-08 18:58:00

+1

@ComFreek是正確的,你應該爲此而爆炸。並使用'var_dump(explode(「,」,$ line));'你會看到你只能得到_five_部分,但你正試圖將它們列入_six_變量。 – CBroe

回答

4

你有4個逗號你的字符串,這意味着split()電話後,你會得到5個值,而是試圖拆分結果分配給變量。最後一個導致未定義的偏移警告。 Elimiante從list()$bugFixerID,警告應該消失。

+0

謝謝。我的壞,愚蠢的錯誤。 – user1167910

0

$line您有5個逗號分隔值,但list()需要6個值。

$line = "30,[CVS Core] server dot cvsignore file should be considered by client (1GCC6MB),[email protected],expert,[email protected]"; 

list($bugId,$bugText,$dupId,$submitId,$submitExpert) = split(",", $line); 

$bugFixerId應該被刪除或需要提供$bugFixerId上$線。

相關問題