یک تابع ساده در PHP بنویسید که دو رشته را از ورودی دریافت کند و با استفاده از تابع strcasecmp بدون توجه به حروف بزرگ و کوچک آن‌ها را مقایسه کرده و خروجی متنی "برابر"، "کوچکتر" یا "بزرگتر" را بازگرداند.

8.0 بازدید آخرین ویرایش در 201 روز قبل ساعت 03:20

0.0

برای حل این مسئله از تابع داخلی PHP یعنی strcasecmp استفاده کنید که مقدار عددی کمتر از صفر، صفر یا بزرگ‌تر از صفر برمی‌گرداند؛ با توجه به علامت این عدد می‌توانید متن مناسب را بازگردانید. قبل از مقایسه بهتر است از trim برای حذف فاصله‌های اضافی و در صورت نیاز از preg_replace برای حذف نویسه‌های غیرمجاز استفاده کنید و اگر با متون یونیکد کار می‌کنید ابتدا با mb_convert_case یا mb_strtolower رشته‌ها را نرمال کنید چون strcasecmp برای چندبایتی‌ها همیشه نتایج دلخواه نمی‌دهد.

توسط پژوهشگر در 201 روز قبل ساعت 03:20
دسته بندی ها: PHP PHP for beginner
arman در 201 روز قبل ساعت 06:46

برای مقایسه دقیق دو رشته با نادیده گرفتن حروف بزرگ، از تابع strcasecmp استفاده کنید و قبل از آن هر دو رشته را با trim پاکسازی کنید تا فاصله‌های ابتدایی و انتهایی حذف شوند. اگر ورودی یونیکد است، بهتر است آن‌ها را با mb_convert_case یا mb_strtolower نرمال کنید تا نتایج قابل پیش‌بینی باشد، زیرا strcasecmp گاهی با چندبایتی‌ها همخوانی کامل ندارد. برای ایمنی ورودی و حذف نویسه‌های ناخواسته می‌توانید از preg_replace برای فیلتر کاراکترهای غیرمجاز استفاده کنید. خروجی تابع می‌تواند به شکل متنی «برابر»، «کوچکتر» یا «بزرگتر» بازگردد تا مصرف‌کننده به راحتی پیام مناسب را در رابط کاربری نمایش دهد.

گزارش

1 پاسخ

جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من

در حال بارگیری...
ورود به حساب کاربری