PHP sscanf() ਫੰਕਸ਼ਨ
ਉਦਾਹਰਣ
ਪਾਰਸਿੰਗ ਸਟ੍ਰਿੰਗ:
<?php $str = "age:30 weight:60kg"; sscanf($str,"age:%d weight:%dkg",$age,$weight); // ਟਾਈਪ ਅਤੇ ਮੁੱਲ ਦਿਖਾਓ var_dump($age,$weight); ?>
ਪਰਿਭਾਸ਼ਾ ਅਤੇ ਵਰਤੋਂ
sscanf() ਫੰਕਸ਼ਨ ਸਟ੍ਰਿੰਗ ਤੋਂ ਦਾਖਲ ਹੋਣ ਵਾਲੇ ਇਨਪੁਟ ਨੂੰ ਫਾਰਮੈਟ ਅਨੁਸਾਰ ਪਾਰਸਿੰਗ ਕਰਦਾ ਹੈ। sscanf() ਫੰਕਸ਼ਨ ਫਾਰਮੈਟ ਸਟ੍ਰਿੰਗ ਅਨੁਸਾਰ ਸਟ੍ਰਿੰਗ ਵਿੱਚੋਂ ਵਾਪਸ ਪਾਰਸਿੰਗ ਕਰਦਾ ਹੈ。
ਜੇਕਰ ਇਸ ਫੰਕਸ਼ਨ ਨੂੰ ਦੋ ਪੈਰਾਮੀਟਰ ਦਿੱਤੇ ਗਏ ਹਨ ਤਾਂ, ਅੰਕੜੇ ਇੱਕ ਮੰਡਲ ਵਿੱਚ ਵਾਪਸ ਦਿੱਤੇ ਜਾਣਗੇ। ਨਹੀਂ ਤਾਂ, ਜੇਕਰ ਅਤਿਰਿਕਤ ਪੈਰਾਮੀਟਰ ਦਿੱਤੇ ਗਏ ਹਨ ਤਾਂ, ਵੇਰਵੇ ਇਨ੍ਹਾਂ ਪੈਰਾਮੀਟਰਾਂ ਵਿੱਚ ਸਟੋਰ ਕੀਤੇ ਜਾਣਗੇ। ਜੇਕਰ ਵੈਰੇਬਲਾਂ ਦੀ ਗਿਣਤੀ ਵੱਧ ਤੋਂ ਵੱਧ ਹੈ ਤਾਂ, ਦੋਸ਼ ਹੁੰਦਾ ਹੈ। ਪਰ, ਜੇਕਰ ਵੈਰੇਬਲਾਂ ਦੀ ਗਿਣਤੀ ਘੱਟ ਤੋਂ ਘੱਟ ਹੈ ਤਾਂ, ਅਤਿਰਿਕਤ ਵੈਰੇਬਲਾਂ ਨੂੰ NULL ਦਿੱਤਾ ਜਾਵੇਗਾ。
ਸਬੰਧਤ ਫੰਕਸ਼ਨਾਂ:
ਵਿਚਾਰ
sscanf(string,format,آرگ1,آرگ2,آرگ ++)
ਪੈਰਾਮੀਟਰ | ਵਰਣਨ |
---|---|
string | ਲਾਜ਼ਮੀ। ਸ਼ਬਦਾਂ ਨੂੰ ਪੜ੍ਹਨ ਲਈ ਨਿਰਧਾਰਿਤ ਕਰਨਾ。 |
format |
ਲਾਜ਼ਮੀ। ਫਾਰਮੈਟ ਨੂੰ ਨਿਰਧਾਰਿਤ ਕਰਨਾ ਜੋ ਵਰਤਣਾ ਹੈ。 ਸੰਭਵ ਫਾਰਮੈਟ ਮੁੱਲ:
اضافی فارمیٹ کی قیمتیں۔ ضرور % اور حرف کے درمیان رکھی جائیں (مثلاً %.2f):
تعلیمات:اگر متعدد بالا کی فارمیٹ کی قیمتیں استعمال کی جائیں تو وہ ضرور بالا کی ترتیب سے استعمال کی جائیں گے۔ |
آرگ1 | اختیارتی۔ استعمال کی جانب کی پہلی متغیرات ذخیرہ کریں۔ |
آرگ2 | اختیارتی۔ استعمال کی جانب کی دوسری متغیرات ذخیرہ کریں۔ |
آرگ ++ | اختیارتی۔ استعمال کی جانب کی تیسرے اور چوتھے متغیرات، وغیرہ ذخیرہ کریں۔ |
تکنیکی تفصیلات
واپس کی گئی قیمتیں: | اگر صرف دو پارامتر کو اس فنکشن کو دیا جائے تو اعداد تفریق کی شکل میں واپس لایا جائیگا۔ در غیر اینچہ، اگر اضافی پارامتر دیئے جائیں تو پارسی کئے گئے اعداد ان پارامتروں میں ذخیرہ کئے جائیں گے۔ اگر پارسی کئے گئے نشان کوئی پارامتروں کی تعداد سے زیادہ ہو تو خطا آئی جائیگی۔ اگر نشان کوئی پارامتروں کی تعداد سے کم ہو تو اضافی پارامتروں میں NULL ذخیرہ کئے جائیگا。 |
PHP ورژن: | 4.0.1+ |
بیشتر مثال
مثال 1
فارمیٹ کی قیمتیں %s، %d اور %c کا استعمال کریں:
<?php $ستر = " اگر آپ 4 کو 2 سے تقسیم کریں تو آپ 2 مل جائیں گے"; $فارمیٹ = اسکرینف($ستر,"%s %s %s %d %s %d %s %s %c"); پرنٹ_آر($فارمیٹ); ?>