PHP sscanf() fonksiyonu

Örnek

Dize çözümlemesi:

<?php
$str = "age:30 weight:60kg";
sscanf($str,"age:%d weight:%dkg",$age,$weight);
// Tür ve değer gösterir
var_dump($age,$weight);
?>

Çalıştırma Örneği

Tanım ve Kullanım

sscanf() fonksiyonu, dizesinden gelen girişi belirtilen formata göre çözümler. sscanf() fonksiyonu, format dizgesine dayanarak dizesini değişkenlere çözümler.

Eğer sadece iki parametre ile bu fonksiyona geçilir ise, veriler dizgi olarak döndürülür. Aksi takdirde, ek parametreler ile geçilirse, çözümlenen veriler bu parametrelerde saklanır. Eğer ayırmak için kullanılan işaret sayısı, bu işaretlerin bulunduğu değişken sayısından fazla ise hata meydana gelir. Ancak, ayırmak için kullanılan işaret sayısı, bu işaretlerin bulunduğu değişken sayısından az ise ek değişkenler NULL içerir.

İlgili fonksiyonlar:

  • printf() - Formatlandırılmış bir dizesi çıktıya verir
  • sprintf() - Formatlandırılmış bir dizesi değişkene yazdırır

Sözdizimi

sscanf(dizi,format,arg1,arg2,arg++)
Parametre Açıklama
dizi Gerekli. Okunacak dizesi belirtir.
format

Gerekli. Kullanılacak formatı belirtir.

Muhtemel format değerleri:

  • %% - bir yüzdelik işaret (%) döndürür
  • %c - ASCII değeri olan karakter
  • %d - işaret içeren ondalıklı sayı (negatif, 0, pozitif)
  • %e - küçük harflerle bilimsel sayı sistemi (örneğin 1.2e+2)
  • 蓂şaret içermeyen ondalıklı sayı (0 veya daha büyük)
  • %f - ondalıklı sayı
  • %o - sekizli sayı
  • %s - dizi
  • %x - ondalıklı sayı (küçük harfler)
  • %X - Onaltılık Sayı (Büyük Harfler)

Ek format değerleri. % ve harf arasında zorunludur (örneğin %.2f):

  • + (Sayının önüne + veya - ekleyerek sayının pozitif veya negatifliğini tanımlar.Varsayılan olarak, sadece negatif sayılar işaretlenir, pozitif sayılar işaretlenmez)
  • ' (Doldurma karakterini belirtir, varsayılan olarak bosluklardır. Genişlik belirteci ile birlikte kullanılmalıdır.)
  • - (Değişken değerini sol ayarlar)
  • .[0-9] (Değişken değerinin en küçük genişliğini belirtir)
  • .[0-9] (Ondalık sayısını veya maksimum dizgi uzunluğunu belirtir)

Açıklama:Birden fazla yukarıdaki format değeri kullanılırsa, bunlar yukarıdaki sırayla kullanılmalıdır.

arg1 Opsiyonel. Verileri saklamak için birinci değişken.
arg2 Opsiyonel. Verileri saklamak için ikinci değişken.
arg++ Opsiyonel. Verileri saklamak için üçüncü, dördüncü değişken, vb.

Teknik Açıklamalar

Dönüş Değeri: Bu fonksiyona sadece iki parametre gönderilirse, veriler dizgi olarak döndürülür. Aksi takdirde, ek parametreler gönderilirse, çözümlenen veriler bu parametrelerde saklanır. Ayırıcı sayısı, onları içeren değişken sayısından büyükse hata meydana gelir. Ancak, ayırıcı sayısı, içeren değişken sayısından küçükse, ek değişkenler NULL içerir.
PHP Sürümü: 4.0.1+

Daha Fazla Örnek

Örnek 1

Format değerlerini %s, %d ve %c kullanarak:

<?php
$str = "If you divide 4 by 2 you'll get 2";
$format = sscanf($str,"%s %s %s %d %s %d %s %s %c");
print_r($format);
?>

Çalıştırma Örneği