Chỉ cần thêm nó vào hỗn hợp, Gần đây tôi đã học được kỹ thuật này:
list($s) = explode(' ',$s);
tôi chỉ cần làm một điểm chuẩn nhanh chóng, bởi vì tôi đã không đi qua các phương pháp strtok trước, và strtok là 25% nhanh hơn so với giải pháp danh sách/phát nổ của tôi, trên các chuỗi ví dụ nhất định.
Ngoài ra, chuỗi phân cách ban đầu càng dài/hơn, khoảng cách hiệu suất càng lớn. Đưa ra một khối 5000 từ và phát nổ sẽ tạo thành một mảng gồm 5000 phần tử. strtok sẽ chỉ lấy "phần tử" đầu tiên và để phần còn lại trong bộ nhớ dưới dạng một chuỗi.
Vì vậy, strtok thắng cho tôi.
$s = strtok($s,' ');
Hai vấn đề tiềm năng với điều này: Khi bạn sử dụng 'strrpos() Không gian trắng ', * * cuối cùng được tìm kiếm và bạn có thể kết thúc với các tên như" Hello Nice "cho các chuỗi như" Hello Nice World ". Điểm thứ hai là nó sẽ không trả lại bất cứ điều gì khi không có khoảng trống nào trong tên. Trong khi hành vi này có thể được muốn, nó cũng có thể gây khó chịu. – str