我在PHP腳本分割功能過時
Deprecated: Function split() is deprecated in directory\filename on line 153
得到了一個廢棄的錯誤這是錯誤線
list($ns, $el) = split(':', $element, 2);
我該如何解決這個問題?我在PHP5.3中運行。
我在PHP腳本分割功能過時
Deprecated: Function split() is deprecated in directory\filename on line 153
得到了一個廢棄的錯誤這是錯誤線
list($ns, $el) = split(':', $element, 2);
我該如何解決這個問題?我在PHP5.3中運行。
分割函數自PHP 5.3.0開始已被取消。依靠這個功能是非常不鼓勵的。您可以使用preg_split
,例如preg_split("/[\s,]+/", "hypertext language, programming")
。或者你可以使用array explode (string $delimiter , string $string [, int $limit ])
例如
//例1 $比薩餅= 「piece1 piece2 piece3 piece4 piece5 piece6」;
$ pieces = explode(「」,$ pizza);
echo $ pieces [0]; // piece1
echo $ pieces [1]; // piece2
//示例2 $ data =「foo:*:1023:1000 ::/home/foo:/ bin/sh」;
list($ user,$ pass,$ uid,$ gid,$ gecos,$ home,$ shell)= explode(「:」,$ data);
echo $ user; // foo echo $ pass; // *
從PHP 5.3開始,不推薦使用整個REGEX擴展。使用PCRE擴展,它具有功能preg_split
,並且幾乎會給你相同的結果。看看你的代碼片段,你並不需要一個正則表達式來分割該字符串,這是PCRE擴展提供的。
您可以使用explode
函數,它也會給你相同的結果,而不需要解析和標記正則表達式。
您是否閱讀過此函數的[文檔](http://php.net/manual/en/function.split.php#refsect1-function.split-notes)? – DCoder
使用preg_split()。 http://www.php.net/manual/en/function.preg-split.php –
如果您想根據正則表達式進行拆分,請使用'preg_split'類似的建議。如果您想基於簡單字符進行分割,請使用'explode'。從你那裏的例子來說,我會說'爆炸'去。詳情請參閱我的回答。 – 9ee1