2013-07-23 36 views
19

Tôi đã tuyên bố sau đó đã làm việc tốt trước khi PHP 5.3 sử dụng chức năng chia:Không được chấp nhận: Chức năng tách() không được chấp nhận. Làm thế nào để sửa lỗi này?

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

Sau khi nâng cấp lên PHP 5.3, tôi nhận được lời cảnh báo được tán thành:

Deprecated: Function split() is deprecated. 
+0

Các bạn đã nhìn vào tài liệu trên [ 'chia()'] (http://php.net/split)? Trong trường hợp này bạn cần ['explode()'] (http://php.net/explode). –

Trả lời

37

Sử dụng explode:

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

Đây là giải pháp chuẩn cho trường hợp này.

Nếu bạn cần khớp với cụm từ thông dụng (thay vì một thứ đơn giản như khoảng trắng), hãy sử dụng preg_split. Nó chậm hơn explode, vì vậy không có lý do gì để sử dụng trừ khi bạn cần một regex.

BTW để làm điều ngược lại (nối các phần tử mảng thành một chuỗi), sử dụng implode.

2

Từ this page:

Mẹo

split() bị phản đối như của PHP 5.3.0. preg_split() là đề xuất thay thế cho chức năng này. Nếu bạn không yêu cầu sức mạnh của cụm từ thông dụng, sử dụng nhanh hơn explode(), không phát sinh chi phí của công cụ biểu thức chính quy.

Nếu bạn sắp chia nhỏ "", bạn có thể xem xét phát nổ là giải pháp thay thế tốt hơn.

4

Vâng điều đầu tiên một người nào đó nên làm là kiểm tra documenation: split

Đó là khuyến cáo sử dụng preg_split hoặc explode

Các vấn đề liên quan