یک تابع PHP بنویسید که با استفاده از تابع str_shuffle رشتهٔ ورودی را بهصورت تصادفی بازآرایی کند و برای رشتههای UTF-8 (مثل فارسی) نیز نسخهای که بهدرستی کار کند ارائه دهد.
1.0 بازدید آخرین ویرایش در 220 روز قبل ساعت 01:44 0.0
با استفاده از str_shuffle برای رشتههای ASCII/انگلیسی میتوانید بهراحتی کار را انجام دهید؛ برای پشتیبانی از UTF-8 (حروف چندبایتی مثل فارسی) ابتدا رشته را با preg_split('//u', $str, -1, PREG_SPLIT_NO_EMPTY) به آرایهٔ کاراکترها تبدیل کنید، سپس از shuffle روی آرایه استفاده کرده و با implode آن را بازسازی کنید. نکتهها: به تفاوت بین بایت و کاراکتر توجه کنید، از توابع mb_* در صورت نیاز استفاده کنید و برای آنالیز یا ناشناسسازی دادهها اندازه و توزیع تصادفی را بررسی کنید تا عملکرد مطلوب را داشته باشد.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
برای بازآرایی رشتههای ASCII با str_shuffle مشکلی نیست، اما برای UTF-8 فقط با تبدیل کاراکترها به آرایه کار میکند. از preg_split('//u', $str, -1, PREG_SPLIT_NO_EMPTY) استفاده کنید تا کاراکترهای چندبایتی درست جدا شوند، سپس shuffle و در نهایت implode کنید. به تفاوت بین بایت و کاراکتر توجه کنید و در صورت نیاز از توابع mb_* استفاده کنید. همچنین برای ارزیابی عملکرد، اندازه و توزیع تصادفی را بررسی کنید تا بازآرایی باکیفیت بدست آید.
گزارش