Saya perlu memasukkan angka tunggal (1 hingga 9) hingga (01 hingga 09). Saya bisa memikirkan cara tapi itu besar dan jelek dan tidak praktis. Saya yakin pasti ada cara yang ringkas. Setiap Saran
Pertama-tama, deskripsi Anda menyesatkan. Doubleadalah tipe data floating point. Anda mungkin ingin menambah angka Anda dengan nol di depan dalam sebuah string. Kode berikut melakukannya:
$s = sprintf('%02d', $digit);
Untuk informasi lebih lanjut, lihat dokumentasi sprintf.
@KonradRudolph Jika saya telah lulus sebagai digitnilai sebagai integer waktu itu diberikan kesalahan, Jika lulus sebagai string waktu itu tidak masalah
@HirenBhut Yah itu benar-benar berbeda, dan tidak ada hubungannya dengansprintf . Periksa format bilangan bulat , khususnya bagian tentang digit oktal.
digit
nilai sebagai integer waktu itu diberikan kesalahan, Jika lulus sebagai string waktu itu tidak masalahsprintf
. Periksa format bilangan bulat , khususnya bagian tentang digit oktal.Ada juga str_pad
sumber
Solusi menggunakan str_pad :
Tolok ukur pada php 5.3
Kode:
sumber
Kinerja
str_pad
sangat tergantung pada panjang bantalan. Untuk kecepatan yang lebih konsisten, Anda dapat menggunakan str_repeat .Gunakan juga nilai string dari angka tersebut untuk performa yang lebih baik.
Diuji pada PHP 7.4
sumber