PHP sscanf() Function












❮ مرجع رشته PHP




مثال


یک رشته را تجزیه کنید:




$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++)

مقادیر پارامتر

















ذخیره می کند









پارامتر توضیح
رشته لازم است. رشته ای را برای خواندن مشخص می کند
قالب لازم است. قالب مورد استفاده را مشخص می کند.

مقادیر قالب احتمالی:



  • %% - علامت درصد را برمی‌گرداند

  • %c - نویسه مطابق با مقدار ASCII

  • %d - عدد اعشاری امضا شده (منفی، صفر یا مثبت)

  • %e - نماد علمی با استفاده از حروف کوچک (مثلاً 1.2e+2)

  • %u - عدد اعشاری بدون علامت (برابر یا بزرگتر از صفر)

  • %f - عدد ممیز شناور

  • %o - عدد اکتال

  • %s - رشته

  • %x - عدد هگزادسیمال (حروف کوچک)

  • %X - عدد هگزادسیمال (حروف بزرگ)


مقادیر قالب اضافی. اینها بین % و حرف قرار می گیرند (مثال %.2f):



  • + (هر دو + و - را جلوی اعداد اعمال می کند. به طور پیش فرض، فقط اعداد منفی علامت گذاری می شوند)

  • ' (مشخص می‌کند چه چیزی به‌عنوان بالشتک استفاده شود. پیش‌فرض فاصله است. باید همراه با تعیین‌کننده عرض استفاده شود. مثال: %'x20s (از «x» به‌عنوان پد استفاده می‌شود)

  • - (سمت چپ مقدار متغیر را توجیه می کند)

  • [0-9] (حداقل عرض نگهداشته شده از مقدار متغیر را مشخص می کند)

  • .[0-9] (تعداد ارقام اعشاری یا حداکثر طول رشته را مشخص می کند)


توجه: اگر چندین مقدار قالب اضافی استفاده می‌شود، باید به همان ترتیب بالا باشند.

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