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); ?>
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:
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:
Ek format değerleri. % ve harf arasında zorunludur (örneğin %.2f):
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); ?>