PHP vfprintf() fonksiyonu
Örnek
Metni "test.txt" adlı metin dosyasına yazın:
<?php $number = 9; $str = "Beijing"; $file = fopen("test.txt","w"); echo vfprintf($file,"There are 쥕lion bicycles in %s.",array($number,$str)); ?>
Yukarıdaki kodun çıktısı:
40
Aşağıdaki metin "test.txt" dosyasına yazılacaktır:
Beijing'de 9 milyon bisiklet var.
Tanım ve Kullanım
vfprintf() fonksiyonu, biçimlendirilmiş dizeleri belirtilen çıktı akışına (örneğin: dosya veya veritabanı) yazar.
fprintf() ile farklı olarak, vfprintf() içindeki parametreler dizide bulunur. Dizinin elemanları ana dize içindeki % işaretleri yerine yerleştirilir. Bu fonksiyon adım adım çalışır. İlk % işaretinde ilk dizin elemanı yerleştirilir, ikinci % işaretinde ikinci dizin elemanı yerleştirilir, ve bu şekilde devam eder.
Açıklama:% işareti birden fazla ise arg Parametre varsa, yer tutucu kullanmanız gerekir. Yer tutucular % işareti sonrasına yerleştirilir ve rakam ve "\$" içerir. Örnek 2'ye bakın.
İlgili fonksiyonlar:
Sözdizimi
vfprintf(stream,format,argarray)
Parametre | Açıklama |
---|---|
stream | Gerekli. Dizesinin nereye yazılacağını veya nereden alınacağını belirler. |
format |
Gerekli. Dizesi ve içindeki değişkenlerin nasıl biçimlendirileceğini belirler. Muhtemel biçim değerleri:
Eklenmiş biçim değeri. % ve harf arasında konulmalıdır (örneğin %.2f):
Açıklama:Birden fazla format değeri kullanılırsa, bu değerler yukarıdaki sırayla olmalıdır. |
argarray | Gerekli. Parametrelerle birlikte gelen bir dizi, bu parametreler yukarıdaki sırayla yerleştirilir format Dizge içindeki %% işaretinin yerinde. |
Teknik ayrıntılar
Dönüş değeri: | Yazılan dizginin uzunluğunu döndürür. |
PHP sürümü: | 5+ |
Daha fazla örnek
Örnek 1
Metni dosyaya yazın:
<?php $num1 = 123; $num2 = 456; $file = fopen("test.txt","w"); vfprintf($file,"%f%f",array($num1,$num2)); ?>
Aşağıdaki metin "test.txt" dosyasına yazılacaktır:
123.000000456.000000
Örnek 2
Yer tutucuları kullanarak:
<?php $number = 123; $file = fopen("test.txt","w"); vfprintf($file,"With 2 decimals: %1$.2f \nOndalık olmaksızın: %1$u",array($number)); ?>
Aşağıdaki metin "test.txt" dosyasına yazılacaktır:
2 ondalık basamağında: 123.00 Ondalık olmaksızın: 123
Örnek 3
printf() kullanarak tüm olası format değerlerini gösterin:
<?php $num1 = 123456789; $num2 = -123456789; $char = 50; // ASCII karakter 50 2'yi temsil eder // Açıklama: Format değeri "%%" yüzdelik işaretini döndürür printf("%%b = %%b <br>",$num1); // İkili sayı printf("%%c = %%c <br>",$char); // ASCII karakter printf("%%d = %%d <br>",$num1); // İşaretli ondalık sayı printf("%%d = %%d <br>",$num2); // İşaretli ondalık sayı printf("%%e = %%e <br>",$num1); // Bilimsel sayı (küçük harf) printf("%%E = %%E <br>",$num1); // Bilimsel sayı (büyük harf) printf("%鑾u <br>",$num1); // Negatif olmayan ondalıklı sayı printf("%鑾u <br>",$num2); // Negatif olmayan ondalıklı sayı printf("%%f = %f <br>",$num1); // Yerel ayara göre tamsayı printf("%%F = %F <br>",$num1); // Yerel ayarları dikkate almadan tamsayı printf("%%g = %g <br>",$num1); // %e ve %f'den kısa printf("%%G = %G <br>",$num1); // %E ve %f'den kısa printf("%%o = %o <br>",$num1); // Sekizli sayı printf("%%s = %s <br>",$num1); // Dizgi printf("%%x = %x <br>",$num1); // Küçük harflerle onaltılık sayı printf("%%X = %X <br>",$num1); // Büyük harflerle onaltılık sayı printf("%%+d = %+d <br>",$num1); // Pozitif işaretli sembol açıklaması printf("%%+d = %+d <br>",$num2); // Negatif işaretli sembol açıklaması ?>