String keluaran yang diformat:
<?php$number = 9;$str = "Beijing";printf("Ada %u juta sepeda di %s.",$number,$str);?>Fungsi printf() menghasilkan string yang diformat.
Parameter arg1, arg2, ++ akan dimasukkan ke dalam string utama pada simbol tanda persen (%). Fungsi ini dijalankan selangkah demi selangkah. Pada tanda % pertama masukkan arg1, pada tanda % kedua masukkan arg2, dan seterusnya.
Catatan: Jika ada lebih banyak simbol % daripada parameter arg, Anda harus menggunakan placeholder. Placeholder disisipkan setelah simbol % dan terdiri dari angka dan "$". Lihat Contoh 2.
Tip: Fungsi terkait: sprintf(), vprintf(), vsprintf(), fprintf(), dan vfprintf()
printf( format,arg1,arg2,arg++ )
parameter | menggambarkan |
---|---|
format | Diperlukan. Menentukan string dan cara memformat variabel di dalamnya. Nilai format yang mungkin: %% - mengembalikan tanda persen % %b - bilangan biner %c - karakter yang sesuai dengan nilai ASCII %d - Angka desimal dengan tanda (negatif, 0, positif) %e - Gunakan notasi ilmiah huruf kecil (misalnya 1.2e+2) %E - Gunakan notasi ilmiah huruf besar (misalnya 1.2E+2) %u - Angka desimal tanpa tanda (lebih besar atau sama dengan 0) %f - angka floating point (pengaturan lokal) %F - angka floating point (pengaturan non-asli) %g - versi pendek dari %e dan %f %G - lebih pendek %E dan %f %o - bilangan oktal %s - rangkaian %x - Angka heksadesimal (huruf kecil) %X - angka heksadesimal (huruf besar) Nilai format tambahan. Harus ditempatkan di antara % dan huruf (misalnya %.2f): + (Tambahkan + atau - di depan angka untuk menentukan tanda angka. Secara default, hanya angka negatif yang ditandai, dan angka positif tidak ditandai) ' (Menentukan apa yang akan digunakan sebagai padding, defaultnya adalah spasi. Ini harus digunakan dengan penentu lebar. Misalnya: %'x20s (gunakan "x" sebagai padding)) - (nilai variabel penyesuaian kiri) [0-9] (menentukan lebar minimum nilai variabel) .[0-9] (menentukan jumlah tempat desimal atau panjang string maksimum) Catatan: Jika beberapa nilai format di atas digunakan, nilai tersebut harus digunakan sesuai urutan di atas dan tidak boleh diganggu. |
arg1 | Diperlukan. Menentukan parameter yang akan dimasukkan pada tanda % pertama dalam string format. |
arg2 | Opsional. Menentukan parameter yang akan dimasukkan ke dalam string format pada tanda % kedua. |
argumen++ | Opsional. Menentukan parameter yang akan dimasukkan ke dalam string format pada simbol % ketiga, keempat, dst. |
Nilai pengembalian: | Mengembalikan panjang string keluaran. |
---|---|
Versi PHP: | 4+ |
Gunakan nilai format %f:
<?php$angka = 123;printf("%f",$angka);?>Gunakan placeholder:
<?php$number = 123;printf("Dengan 2 desimal: %1$.2f<br>Tanpa desimal: %1$u",$number);?>Demonstrasi semua kemungkinan nilai format:
<?php$num1 = 123456789;$num2 = -123456789;$char = 50; // Karakter ASCII 50 adalah 2// Catatan: Nilai format "%%" mengembalikan persen signprintf("%%b = %b <br>",$num1); // Bilangan binerprintf("%%c = %c <br>",$char); // ASCII Characterprintf("%%d = %d <br>",$num1); // Angka desimal bertandaprintf("%%d = %d <br>",$num2); = %e <br>",$num1); // Notasi ilmiah (huruf kecil)printf("%%E = %E <br>",$num1); // Notasi ilmiah (huruf besar)printf("%%u = %u <br>",$num1); // Bilangan desimal tidak bertanda (positif)printf("%%u = %u <br>",$num2); bilangan desimal (negatif)printf("%%f = %f <br>",$num1); // Bilangan titik-mengambang (pengaturan lokal diketahui)printf("%%F = %F <br>",$num1); // Angka floating-point (tidak mengetahui pengaturan lokal)printf("%%g = %g <br>",$num1); // Lebih pendek dari %e dan %fprintf(" %%G = %G <br>",$num1); // Lebih pendek dari %E dan %fprintf("%%o = %o <br>",$num1); // Bilangan oktalprintf("%%s = %s <br>",$num1); // Stringprintf("%%x = %x <br>",$num1); // Bilangan heksadesimal (huruf kecil)printf("%%X = %X <br >",$angka1); // Bilangan heksadesimal (huruf besar)printf("%%+d = %+d <br>",$angka1); // Penentu tanda (positif)printf("%%+d = %+d <br>",$num2); // Penentu tanda (negatif)?>Demonstrasi penentu string:
<?php$str1 = "Halo";$str2 = "Halo dunia!";printf("[%s]<br>",$str1);printf("[%8s]<br>",$str1) ;printf("[%-8s]<br>",$str1);printf("[%08s]<br>",$str1); printf("[%'*8s]<br>",$str1);printf("[%8.8s]<br>",$str2);?>