خواندن INI رشته (parse_ini_string)
تابع parse_ini_string() یک «رشته INI» را می خواند. «INI» یعنی فایل یا متن تنظیمات ساده. هر بخش یک نام دارد و داخلش کلید و مقدار است. مثل دفتر برنامه مدرسه با کلاس ها و درس ها.
تعریف و کاربرد
این تابع رشته INI را تحلیل می کند و تنظیمات را برمی گرداند. خروجی معمولاً آرایه است.
<?php
$ini = "[names]\nme=\"Robert\"\nyou=\"Peter\"\n\n[urls]\nfirst=\"http://www.example.com\"\nsecond=\"https://www.w3schools.com\"";
$result = parse_ini_string($ini);
print_r($result);
?>
خواندن با بخش ها (process_sections)
اگر process_sections=true باشد، آرایه تو در تو می گیریم. هر بخش، یک زیرآرایه می شود.
<?php
$ini = "[names]\nme=Robert\nyou=Peter\n\n[urls]\nfirst=\"http://www.example.com\"\nsecond=\"https://www.w3schools.com\"";
$result = parse_ini_string($ini, true);
print_r($result);
?>
حالت اسکن مقدارها (scanner_mode)
با INI_SCANNER_TYPED، نوع ها حفظ می شوند. «true» بولی می شود و اعداد، عددی می شوند.
<?php
$ini = "[flags]\nactive=true\nnone=null\ncount=42\nname=\"Ali\"";
$result = parse_ini_string($ini, false, INI_SCANNER_TYPED);
var_dump($result);
?>
نکات و محدودیت ها
نکته: این تابع برای متن INI شماست و مرتبط با php.ini نیست.
نکته: از واژه های رزرو مثل null, yes, no, true, false, on, off, none به عنوان کلید استفاده نکن.
هشدار: کاراکترهای رزرو {}|&~!()^" در کلیدها مجاز نیستند.
گام های عملی سریع
- رشته INI را آماده کن.
- در صورت نیاز، process_sections را فعال کن.
- در صورت نیاز، INI_SCANNER_TYPED را بگذار.
- آرایه خروجی را استفاده کن.
جمع بندی سریع
- خروجی موفق، آرایه است.
- می توان بخش ها را گروه بندی کرد.
- حالت Typed نوع ها را حفظ می کند.
- کلیدها و کاراکترهای رزرو ممنوع هستند.