2013-07-23 11 views
19

Mam następujące oświadczenie, które działało w porządku przed PHP 5.3 za pomocą funkcji split:Przestarzałe: funkcja split() jest przestarzała. Jak naprawić to stwierdzenie?

$command = split (" ", $tag[1]); 

Po uaktualnieniu do PHP 5.3, pojawia się przestarzała ostrzeżenie:

Deprecated: Function split() is deprecated. 
+0

Czy obejrzysz dokumentacji na [ 'split()'] (http://php.net/split)? W takim przypadku potrzebujesz ['explode()'] (http://php.net/explode). –

Odpowiedz

37

Korzystając explode:

$command = explode(" ", $tag[1]); 

Jest to standardowe rozwiązanie dla tego przypadku.

Jeśli chcesz dopasować do wyrażenia regularnego (a nie do czegoś prostego, jak spacja), użyj preg_split. Jest wolniejszy niż explode, więc nie ma powodu, aby go używać, chyba że potrzebujeszdo wyrażenia regularnego.

BTW, aby zrobić odwrotnie (połączyć elementy tablicy w łańcuch), użyj implode.

2

Od this stronie:

Tip

split() jest przestarzała od PHP 5.3.0. preg_split() to sugerowana alternatywadla tej funkcji. Jeśli nie potrzebujesz potęgi wyrażeń regularnych , szybciej jest użyć explode(), co nie powoduje zwiększenia obciążenia mechanizmu wyrażeń regularnych o .

Jeśli zamierzasz podzielić się na "", możesz uznać, że jest to lepsza alternatywa.

4

Więc pierwszą rzeczą, którą ktoś powinien zrobić jest sprawdzenie Documenation: split

zaleca się używać preg_split lub explode

Powiązane problemy