یک اسکریپت PHP بنویسید که یک فایل CSV را بخواند، موقعیت ستون عنوان (header) مشخصی مثل "Status" را با strcmp پیدا کند و تعداد سطرهایی که مقدار آن ستون دقیقاً برابر "OK" است را برگرداند.

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

0.0

برای حل مسئله از توابع استاندارد PHP مثل fopen و fgetcsv برای خواندن فایل CSV استفاده کنید: ابتدا سطر اول را بخوانید و با استفاده از strcmp و حلقه، ایندکس ستون "Status" را پیدا کنید (strcmp برابر 0 یعنی رشته‌ها دقیقاً یکسانند). سپس برای هر سطر بعدی مقدار همان ستون را با strcmp به "OK" مقایسه کرده و شمارنده را افزایش دهید. نکات: قبل از مقایسه از trim برای حذف فاصله‌های اضافی و از حذف BOM در ابتدای فایل غافل نشوید؛ strcmp حالت حساس به حروف است، اگر می‌خواهید حساس نباشد ابتدا از strtolower استفاده کنید.

توسط پژوهشگر در 201 روز قبل ساعت 03:47
دسته بندی ها: PHP PHP for beginner
arash در 201 روز قبل ساعت 05:13

به‌جای جست‌وجوی نام ستون با مستقیماً strcmp روی سطرِ هدر، مطمئن شوید که رشته‌ها پاک‌سازی شده‌اند تا BOM یا فاصله‌های اضافی باعث خطا نشود. پس از خواندن سطر اول، اندیس ستون "Status" را با strcmp بیابید و برای هر سطر بعدی مقدار آن ستون را پس از trim مقایسه کنید. اگر نیاز دارید حساسیت حروف را نادیده بگیرید، قبل از مقایسه از strtolower استفاده کنید یا به‌طور مستقل از تابعی مانند strcasecmp برای مقایسه بدون حساسیت استفاده کنید. همچنین در نظر بگیرید که ممکن است سطرهای خالی یا کاراکترهای غیرمتنی وجود داشته باشند و با فیلتر کردن خطوط خالی نتیجه دقیق‌تر می‌شود.

گزارش

1 پاسخ

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

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