PHP に組み込まれているparse_ini_fileは、PHP 独自の php.ini 形式の制約に基づいているため、この INI ファイルを解析するには、独自のカスタム ソリューションを作成する必要があります。したがって、有効な PHP でなければなりません。
あなたの目的のために、要件が各行のキーと値のペアと同じくらい単純である場合、デフォルトのブール値 true としての 1 回限りの孤立した値を除いて、次のようなことができます。
function my_parse_ini($ini_file_name) {
$ini = file($ini_file_name, FILE_IGNORE_NEW_LINES);
$return = array();
$row = null;
foreach ($ini as $key => $value) {
if ($value == '') {
$row = null;
continue;
}
@list($k, $v) = explode('=',$value);
if ($v === null) {
$v = true;
}
if ($row === null) {
$row = $v;
$return[$row] = array();
continue;
}
$return[$row][$k] = $v;
}
return $return;
}
/* usage */
var_dump(my_parse_ini('test.ini'));
これにより、サンプルのiniファイルに対して次のように出力されます....
array(2) {
[11668]=>
array(4) {
["Name"]=>
string(3) "PCA"
["PPA"]=>
bool(true)
["Relation"]=>
string(6) "Family"
["RowID"]=>
string(5) "31999"
}
[11593]=>
array(2) {
["Name"]=>
string(8) "CRMLEVEL"
["Relation"]=>
string(6) "Family"
}
}