2012-07-26 30 views
6

Tôi cóthêm hàng đầu 0 trong php

  • hướng dẫn 1 cách để làm điều này
  • hướng dẫn 21 cách làm này
  • hướng dẫn 2 cách làm này
  • hướng dẫn 3 cách để làm cho
  • này

và tôi cần

  • hướng dẫn 01 cách làm này
  • hướng dẫn 21 cách làm này
  • hướng dẫn 02 cách làm này
  • hướng dẫn 03 cách làm này

vì vậy tôi có thể đặt chúng đúng cách. (thêm hàng đầu 0 khi tìm thấy một chữ số)

Phương pháp php sẽ chuyển đổi là gì?

cảm ơn trước

ghi chú hãy chắc chắn rằng nó xác định số chữ số duy nhất chỉ đầu tiên và sau đó thêm các hàng đầu zero

+0

[ sprintf] (http://php.net/manual/en/function.sprintf.php) – Musa

+0

Còn ba chữ số thì sao? Khi bạn đạt đến 100 hướng dẫn, bạn có muốn 01 trở thành 001 không? Còn bốn chữ số thì sao? vv – Peter

+0

cho bây giờ, hai chữ số là tốt, tôi không thấy một trường hợp mà hướng dẫn là hơn 100, cảm ơn bạn – msjsam

Trả lời

4

Nếu nó đến từ một D B, đây là cách để làm điều đó trên một truy vấn sql:

lpad(yourfield, (select length(max(yourfield)) FROM yourtable),'0') yourfield 

Điều này sẽ nhận được giá trị tối đa trong bảng và đặt số không đứng đầu.

Nếu nó hardcoded (PHP), sử dụng str_pad()

str_pad($yourvar, $numberofzeros, "0", STR_PAD_LEFT); 

Đây là một ví dụ nhỏ về những gì tôi đã làm trên một trình biên dịch php trên mạng, và nó hoạt động ...

$string = "Tutorial 1 how to"; 

$number = explode(" ", $string); //Divides the string in a array 
$number = $number[1]; //The number is in the position 1 in the array, so this will be number variable 

$str = ""; //The final number 
if($number<10) $str .= "0"; //If the number is below 10, it will add a leading zero 
$str .= $number; //Then, add the number 

$string = str_replace($number, $str, $string); //Then, replace the old number with the new one on the string 

echo $string; 
9

str_pad()

echo str_pad($input, 2, "0", STR_PAD_LEFT); 

sprintf()

echo sprintf("%02d", $input); 
+0

này không phải là chọn lên điều kiện "chữ số duy nhất" xin vui lòng giúp đỡ – msjsam

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