یک تابع PHP بنویسید که یک رشته شامل چند نام جداشده با ویرگول را دریافت کند و هر نام را با استفاده از str_shuffle جابجا کرده و رشتهٔ جدید با نگه داشتن ویرگولها و فاصلهها برگرداند.
4.0 بازدید آخرین ویرایش در 202 روز قبل ساعت 02:42 0.0
برای حل این مسئله از PHP استفاده کنید: رشته را با explode یا preg_split بر اساس ویرگول جدا کنید، برای هر قسمت trim بگیرید و سپس با str_shuffle کاراکترهای آن را جابجا کنید و در نهایت با implode دوباره آنها را به هم بچسبانید تا ویرگولها و فاصلهها حفظ شوند. نکات: از array_map برای اعمال تابع روی هر نام استفاده کنید و اگر با کاراکترهای چندبایتی (UTF-8) کار میکنید، توجه کنید str_shuffle بایتها را جابجا میکند و برای پشتیبانی کامل از حروف غیرلاتین باید از توابع مخصوص multibyte یا الگوریتم جایگزین استفاده کنید.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
نکتهٔ مهم این است که str_shuffle برای UTF-8 بهطور پیشفرض کاراکترها را بهصورت بایتی جابهجا میکند، بنابراین برای نامهای چندبایتی بهتر است از روشی استفاده کنید که کاراکترها را Unicode جابهجا کند. رشته را با explode(',', $str) به نامها تقسیم کرده، هر قطعه را با trim پاک کنید و روی هر نام با یک تابع جابجای Unicode، حروف را مرتب کنید. سپس با implode(', ', $parts) نامها را دوباره به هم بچسبانید تا ویرگولها و فاصلهها حفظ شوند. اگر ورودی UTF-8 است، از preg_split('//u', ...) یا سایر روشهای معادل برای جابهجایی کاراکترها استفاده کنید.
گزارش