یک تابع PHP بنویسید که یک آرایه از رشتهها و یک کلمهٔ کلیدی دریافت کند و برای هر رشتهای که آن کلمهٔ کلیدی (بهصورت بدون توجه به حروف بزرگ/کوچک) در آن وجود دارد، قسمت رشته را از اولین ظهور آن کلمه به بعد در قالب یک آرایه بازگرداند.
1.0 بازدید آخرین ویرایش در 202 روز قبل ساعت 02:24 0.0
برای حل این مسئله از تابع stristr استفاده کنید که بهصورت case-insensitive جستجو را انجام میدهد و در صورت پیدا شدن، بخشی از رشته از اولین مطابقت را برمیگرداند و در صورت عدم وجود، false بازمیگرداند. میتوانید با یک حلقه foreach یا با array_filter/array_map هر رشته را بررسی کنید، نتیجهای که stristr برمیگرداند را trim کنید و در آرایهٔ خروجی قرار دهید؛ در صورت نیاز به پشتیبانی از کاراکترهای چندبایتی از mb_substr یا فعالسازی ext-mbstring استفاده کنید. نکتهٔ مهم: هنگام بررسی نتیجهٔ stristr از مقایسهٔ !== false استفاده کنید تا با مقدارهای رشتهای اشتباه گرفته نشود.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
نکتهٔ کلیدی این کار، استفاده از !== false برای نتیجهٔ stristr است تا مقدارهای رشتهای خالی با مقدار false اشتباه گرفته نشوند. میتوانید هر رشته را با foreach یا map بررسی کنید، نتیجه را با trim کاهش دهید و مقادیر معتبر را به خروجی اضافه کنید، سپس با array_filter مقادیر false را حذف کنید. برای پشتیبانی از کاراکترهای چندبایتی، مطمئن شوید ext-mbstring فعال است و در صورت نیاز از mb_stristr و mb_substr استفاده کنید. به خاطر داشته باشید که اگر کلید در ابتدای رشته باشد، خروجی همان رشته است و اگر وجود نداشته باشد، false برمیگردد.
گزارش