実戦parse_ini_file()および拡張関数解析iniファイル完全版

2071 ワード

PHPのウェブサイトの開発の過程の中で、よくiniパラメータの配置ファイルを読み取ることを使って、例えばいくつかの複雑な口実にアクセスする必要があって、直接パラメータの配置ファイルの中でパラメータを修正することができて、それからphpスクリプトの中で直接実行を読み取ることができます.phpにはiniプロファイルを直接読み込むことができる関数parse_があります.ini_file()は、配列として返されます.PHP内蔵関数parseの採用について詳しく説明します.ini_file、iniプロファイルを読み込みます.
パラメータの説明:array parse_ini_file ( string $filename [, bool $process_sections ] ) parse_ini_file()はfilenameで指定されたiniファイルをロードし、連合配列を返します.プロセスをSectionsパラメータをTRUEに設定すると、プロファイルの各セクションの名前と設定を含む多次元配列が得られます.process_sectionsのデフォルト値はFALSEで、各セクションをマージした配列を返します.iniファイルコメント用;アイコン
次に、インスタンスの詳細を説明します.
config.ini(他のタイプの接尾辞名に設定できます)は次のとおりです.
; This is a sample configuration file
; Comments start with ';', as in php.ini

[first_section]
one = 1
five = 5
animal = BIRD

[second_section]
path = "/usr/local/bin"
URL = "http://www.example.com/~username"

[third_section]
phpversion[] = "5.0"
phpversion[] = "5.1"
phpversion[] = "5.2"
phpversion[] = "5.3"

PHPスクリプトテストコードは以下の通りです.
<?php
$ini_array = parse_ini_file("config.ini");
print_r($ini_array);

// Parse with sections
$ini_array = parse_ini_file("config.ini", true);
print_r($ini_array);

実行結果は次のとおりです.
Array
(
[one] => 1
[five] => 5
[animal] => BIRD
[path] => /usr/local/bin
[URL] => http://www.9streets.cn
)
Array
(
[test] => Array
(
[one] => 1
[five] => 5
[animal] => BIRD
)

[beta] => Array
(
[path] => /usr/local/bin
[URL] => http://www.9streets.cn
)

)

parse_ini_file()関数は、iniファイルの多次元配列形式を解析できません.これは、次のparse_を手動で追加する必要があります.ini_file_Multi()メソッドを使用して、3 D配列より大きいiniファイルを解析します.特に、PHP公式サイトのマニュアルにあるparse_ini_file_Multi()にエラーがあり、コードで修正しました.
しかし、筆者のプログラム開発の過程で、もう一つの難題に直面しました.parse_ini_file()関数解析後の多次元配列のキー値ペアをインタフェースのurlに呼び出し,これにより多次元配列に問題が発生し,効果が得られても非常に肥大した遍歴過程に直面する.ここで,iniプロファイル内の多次元配列の形式を,いずれも1次元配列,すなわち「=」の前の変数に変換し,直接タイプ配列スタイルの文字列で値を割り当て,「=」の後の値,すなわち多次元配列の最終値をとる別の方法を採用した.
この機能の具体的な実装と操作は、私の個人のウェブサイトを参照してください.http://www.phpthinking.com/archives/587