これは私の設定ロードコードです:
$WConfig;
$lines = file($ToRootDirectory . 'config.txt', FILE_SKIP_EMPTY_LINES);
foreach ($lines as $line_num => $line) {
$line = trim($line);
if (!(substr($line, 0, 1) == '#')){
$WConfig[(trim(substr($line, 0, strpos($line, ":"))))] = trim(substr($line, strpos($line, ':') + 1));
}
}
unset($lines, $line, $line_num, $temp);
$host = $WConfig['mshost']; //line 11
print_r($WConfig); //line 12
この構成ファイルをロードします: (ANSI)
#--/ MySQL: //Dont forget to execute Install.sql ;)
# username: //NOT NEEDED TO BE ROOT -> Acces to INSERT, UPDATE, SELECT, SHOW
msusername:PHP_Default
# password:
mspassword:php
# database:
msdatabase:PHP_Default
# host:
mshost:localhost
#--/ Session:
# sessionend: Time in minutes when the session will be end from last acces. Default 20 minutes.
セッション終了:20
しかし表示:
Notice: Undefined index: mshost in C:\######\PHP\LoadConfig.php on line 11
Array ( [msusername] => PHP_Default [mspassword] => php [msdatabase] => PHP_Default [mshost] => localhost [sessionend] => 20 )
11 行目で「mshost」が見つからないためエラーが発生しますが、12 行目の配列を表示すると、「mshost」がまだ存在します。
この問題の答えを知っているのは誰ですか? この問題を解決するにはどうすればよいですか?
更新: msusername と mshost でのみ表示されます
回答: msusername と mshost を数字 -> 0 と 1 に変更しました。問題なく動作します。