2009-04-01 51 views
7

Tôi đang xem hàm trim nhưng tiếc là không xóa "0" làm cách nào để thêm nó vào nó? Tôi có nên sử dụng str_replace không?Làm thế nào để loại bỏ 0 từ một chuỗi

EDIT: Chuỗi tôi muốn sửa đổi là một số thông điệp mà trông như thế này: 00023460

Chức năng ltrim("00023460", "0") không chỉ là những gì tôi cần :) rõ ràng là tôi sẽ không muốn sử dụng thường xuyên trim vì nó sẽ cũng loại bỏ các kết thúc 0 nhưng kể từ khi tôi quên thêm rằng câu trả lời tôi nhận được là rất tốt :)

Trả lời

16
$ php -r 'echo trim("0string0", "0") . "\n";' 
string 

Đối với số đệm zero trong ví dụ:

$ php -r 'echo ltrim("00023460", "0") . "\n";' 
23460 
1

Hãy xem str_replace

print str_replace('0', '', "This0string0needs0spaces"); 
2

Chức năng cắt chỉ loại bỏ các nhân vật từ đầu và kết thúc của một chuỗi , vì vậy bạn có thể cần phải sử dụng str_replace.

Nếu bạn chỉ cần phải loại bỏ 0s từ đầu và cuối của chuỗi, bạn có thể sử dụng như sau:

$str = '0000hello00'; 

$clean_string = trim($str, '0'); // 'hello' 
2

này nên đã ở đây ngay từ đầu.

EDIT: Chuỗi tôi muốn sửa đổi là một số thông điệp mà trông giống như này: 00023460

Giải pháp tốt nhất có lẽ là điều này cho bất kỳ số nguyên thấp hơn sau đó PHP_INT_MAX

$ number = (int) '00023460';

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