sscanf

(PHP 4 >= 4.0.1, PHP 5, PHP 7, PHP 8)

sscanfGirdi dizgesini belli bir biçeme göre yorumlar

Açıklama

sscanf(string$dizge, string$biçem, mixed&...$değişkenler): array|int|null

sscanf() işlevi, printf() işlevinin tersine çıktıyı biçemlemek yerine girdiyi bir biçeme göre çözümler. sscanf() belirtilen dizge dizgesini okur ve biçem dizgesine göre bu dizgeyi yorumlar.

Biçem dizgesindeki herhangi bir boşluk karakteri girdi dizgesindeki herhangi bir boşluk karakteriyle eşleşir. Yani, biçem dizgesindeki bir sekme karakteri (\t) girdi dizgesindeki tek bir boşluk karakteri ile eşleşebilir.

Bağımsız Değişkenler

dizge

Yorumlanacak dizge.

biçem

Girdi dizgesinin yorumlanmasında kullanılan bu dizge ile ilgili ayrıntılar aşağıdaki farklar dışında sprintf() işlevinin belgesinde açıklanmıştır:

  • İşlev yerele duyarlı değildir.
  • F, g, G and b desteklenmez.
  • D ondalık sayı anlamına gelir.
  • i taban algılamalı tamsayı anlamına gelir.
  • n şimdiye kadar işlenen karakter sayısı anlamına gelir.
  • s herhangi bir boşluk karakterinde okumayı durdurur.
  • dğşnum$ yerine * bu dönüştürme belirtiminin atamasını baskılar.
değişkenler

Çözümlenen değerleri içermek üzere aktarımı isteğe bağlı gönderimli değişkenler.

Dönen Değerler

İşleve sadece iki bağımsız değişken aktarılmışsa, çözümlenen değerler bir dizi içinde döndürülür. İsteğe bağlı bağımsız değişkenler belirtilmişse işlev bu bağımsız değişkenlere atanan değer sayısını döndürür. İsteğe bağlı bağımsız değişkenlerin gönderimli olarak aktarılmaları gerekir.

biçem, dizge içinde bulunandan daha fazla alt dizge bekliyorsa, null döndürülür.

Örnekler

Örnek 1 - sscanf() örneği

<?php
// Seri numarasını döndürelim
list($serial) = sscanf("SN/2350001", "SN/%d");
// üretim tarihini de döndürelim
$mandate = "January 01 2000";
list(
$month, $day, $year) = sscanf($mandate, "%s %d %d");
echo
"$serial numaralı mal şu tarihte üretildi: $year-" .
substr($month, 0, 3) . "-$day\n";
?>

İşleve isteğe bağlı bağımsız değişkenler belirtilmişse işlev bu bağımsız değişkenlere atanan değer sayısını döndürür.

Örnek 2 - Seçimlik bağımsız değişkenlerle sscanf() kullanımı

<?php
// Yazar bilgisiyle bir DocBook girdisi üretelim
$auth = "24\tLewis Carroll";
$n = sscanf($auth, "%d\t%s %s", $id, $first, $last);
echo
"<author id='$id'>
<firstname>
$first</firstname>
<surname>
$last</surname>
</author>\n"
;
?>

Ayrıca Bakınız

  • printf() - Biçemli bir dizge çıktılar
  • sprintf() - Biçemli bir dizge döndürür
  • fprintf() - Biçemli dizgeyi bir akıma yazar
  • vprintf() - Biçemli bir dizge çıktılar
  • vsprintf() - Biçemli bir dizge döndürür
  • vfprintf() - Biçemli dizgeyi bir akıma yazar
  • fscanf() - Bir dosyadaki girdiyi belli bir biçeme göre çözümler
  • number_format() - Sayıyı binlik bölümlere ayırır
  • date() - Unix zaman damgasını biçimlendirir
To Top