یک تابع PHP بنویسید که یک آرایه از نام فایل‌ها یا کد محصولات را با استفاده از تابع strnatcmp به ترتیب «مرتب‌سازی طبیعی» مرتب کند و آرایهٔ مرتب‌شده را بازگرداند یا چاپ کند.

1.0 بازدید آخرین ویرایش در 203 روز قبل ساعت 02:42

0.0

برای حل این مسئله از usort یا uasort همراه با یک callback که از strnatcmp برای مقایسه دو رشته استفاده می‌کند بهره ببرید؛ نکته این است که strnatcmp ترتیب «طبیعی» اعداد داخل رشته‌ها را درست مدیریت می‌کند. در صورت نیاز می‌توانید قبل از مرتب‌سازی با توابع regex مثل preg_replace یا preg_match اجزای نام‌ها را پاک‌سازی یا نرمال‌سازی کنید، و پس از مرتب‌سازی آرایه را با array_values مجدداً ایندکس کنید تا خروجی مرتب و قابل استفاده باشد.

توسط پژوهشگر در 203 روز قبل ساعت 02:42
دسته بندی ها: PHP PHP for beginner
sara در 203 روز قبل ساعت 08:47

استفاده از strnatcmp به شما اجازه می‌دهد تا نام فایل‌ها یا کدهای محصول را به صورت طبیعی و با در نظر گرفتن اعداد داخل رشته‌ها مرتب کنید. برای حفظ کلیدها از uasort با یک callback استفاده کنید و سپس با array_values آرایه را دوباره ایندکس‌دهی کنید. اگر نام‌ها حاوی کاراکترهای غیر استاندارد یا غیر UTF-8 هستند، قبل از مرتب‌سازی با regex آنها را نرمال‌سازی کنید. برای حساسیت نسبت به حروف ممکن است از strnatcasecmp به جای strnatcmp استفاده کنید.

گزارش

1 پاسخ

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

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