مثال
یک رشته را تجزیه کنید:
$str = "سن: 30 وزن: 60 کیلوگرم"؛
sscanf($str,"age:%d weight:%dkg",$age,$weight);
// نشان دادن انواع و مقادیر
var_dump($age,$weight);
?>
این را خودتان امتحان کنید »
تابع sscanf() ورودی یک رشته را طبق فرمت مشخص شده تجزیه می کند.
تابع sscanf() یک رشته را بر اساس رشته فرمت به متغیرها تجزیه می کند.
اگر فقط دو پارامتر به این تابع ارسال شود، داده ها برگردانده می شوند
به عنوان یک آرایه در غیر این صورت، اگر پارامترهای اختیاری ارسال شوند، داده ها تجزیه می شوند
در آنها ذخیره می شود. اگر تعداد مشخصکنندههای بیشتری نسبت به متغیرها وجود داشته باشد که حاوی آنها باشد، an
خطا رخ می دهد. با این حال، اگر تعداد مشخصکنندهها کمتر از متغیرها باشد، متغیرهای اضافی حاوی NULL هستند.
توابع مرتبط:
- printf() - یک رشته قالببندی شده را خروجی میدهد
- sprintf() - یک رشته قالببندی شده را روی یک متغیر مینویسد
نحو
sscanf(string, format,arg1,arg2,arg++)
مقادیر پارامتر
| پارامتر | توضیح |
|---|---|
| رشته | لازم است. رشته ای را برای خواندن مشخص می کند |
| قالب | لازم است. قالب مورد استفاده را مشخص می کند. مقادیر قالب احتمالی:
مقادیر قالب اضافی. اینها بین % و حرف قرار می گیرند (مثال %.2f):
توجه: اگر چندین مقدار قالب اضافی استفاده میشود، باید به همان ترتیب بالا باشند. |
| arg1 | اختیاری. اولین متغیری که داده ها را در | ذخیره می کند
| arg2 | اختیاری. دومین متغیر برای ذخیره داده ها در |
| arg++ | اختیاری. سوم، چهارم و غیره، برای ذخیره داده ها در |
جزئیات فنی
| مقدار بازگشتی: | اگر فقط دو پارامتر به این تابع ارسال شود، داده ها برگردانده می شوند. به عنوان یک آرایه در غیر این صورت، اگر پارامترهای اختیاری ارسال شوند، داده ها تجزیه می شوند در آنها ذخیره می شود. اگر تعداد مشخصکنندههای بیشتری نسبت به متغیرها وجود داشته باشد که حاوی آنها باشد، an خطا رخ می دهد. با این حال، اگر تعیین کننده های کمتری نسبت به متغیرها وجود داشته باشد، اضافی است متغیرها حاوی NULL هستند. |
|---|---|
| نسخه PHP: | 4.0.1+ |
نمونه های بیشتر
مثال
استفاده از مقادیر فرمت %s، %d و %c:
$str = "اگر 4 را بر 2 تقسیم کنید 2 خواهید داشت";
$format = sscanf($str,"%s %s %s %d %s %d %s %s %c");
print_r($format);
?>
خودت امتحانش کن »
❮ مرجع رشته PHP