2010-09-23 39 views
11

Người dùng sẽ điền vào một trường có số liên quan đến tài khoản của họ. Rất tiếc, một số người dùng sẽ có các số 0 được bắt đầu trước số để tạo thành một số có sáu chữ số (ví dụ: 000123, 0) và các số khác sẽ không (ví dụ: 123, 1234). Tôi muốn 'cắt' các số từ những người dùng đã được bắt đầu bằng số 0 ở phía trước để nếu người dùng nhập 000123, nó sẽ xóa số 0 để trở thành 123.Cắt bất kỳ số 0 nào ở đầu chuỗi bằng cách sử dụng PHP

Tôi đã xem xét cắt và đế nhưng tôi không tin rằng những điều này sẽ làm công việc?

Trả lời

30

Bạn có thể sử dụng ltrim() và vượt qua các ký tự cần được loại bỏ tham số thứ hai:

$input = ltrim($input, '0'); 
// 00-> 123 

ltrim chỉ loại bỏ các ký tự quy định (không gian mặc định màu trắng) từ bắt đầu (bên trái) của chuỗi.

1
$number = "004561"; 
$number = intval($number, 10); 
$number = (string)$number; // if you want it to again be a string 
2
ltrim($usernumber, "0"); 

nên thực hiện công việc, theo PHP Manual

+0

Nhưng nó sẽ biến đổi '1230' thành' 123'. –

+0

'trim' sẽ loại bỏ số không từ đầu * của chuỗi cũng như từ đầu. 'ltrim' nên được sử dụng thay thế. –

+0

Có, Felix là đúng, nếu bạn đang đi tuyến đường này, bạn cần phải sử dụng 'ltrim'. – Hammerite

1

Bạn luôn có thể buộc PHP để phân tích này như một int. Nếu cần, bạn có thể chuyển đổi nó trở lại thành chuỗi sau

(int) "000123" 
0

Bạn có thể giảm số 0 đứng đầu bằng cách chuyển từ chuỗi sang số và ngược lại. Ví dụ:

$str = '000006767'; 
echo ''.+$str; // echo "6767" 
Các vấn đề liên quan