ini 設定ファイル内にネストされた配列構造を持たせようとしています。私が持っている構造は次のとおりです。
stuct1[123][a] = "1"
stuct1[123][b] = "2"
stuct1[123][c] = "3"
stuct1[123][d] = "4"
しかし、これはうまくいきません。このタイプの構造が可能かどうか誰でも説明できますかparse_ini_file
可能であれば、何が間違っていますか?
ini 設定ファイル内にネストされた配列構造を持たせようとしています。私が持っている構造は次のとおりです。
stuct1[123][a] = "1"
stuct1[123][b] = "2"
stuct1[123][c] = "3"
stuct1[123][d] = "4"
しかし、これはうまくいきません。このタイプの構造が可能かどうか誰でも説明できますかparse_ini_file
可能であれば、何が間違っていますか?
このタスクには のセクション機能を使用できます。parse_ini_file
2 番目のパラメータを次のように設定してくださいtrue
。
parse_ini_file("sample.ini", true);
サブセクションを作成することは正確には可能ではありませんが、次のようにインデックス付きサブ配列を作成できます。
[123]
setting[] = "1"
setting[] = "2"
setting[] = "3"
setting[] = "4"
解析すると、thosのように見えます
[123][setting][0] => "1"
[123][setting][1] => "2"
[123][setting][2] => "3"
[123][setting][3] => "4"
ハード最大 3 つのレベルを作成できます。
<?php
define('BIRD', 'Dodo bird');
$ini_array = parse_ini_file("sample.ini", true);
echo '<pre>'.print_r($ini_array,true).'</pre>';
?>
parse_ini_file.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"
second_section[one] = "1 associated"
second_section[two] = "2 associated"
second_section[] = "1 unassociated"
second_section[] = "2 unassociated"
[third_section]
phpversion[] = "5.0"
phpversion[] = "5.1"
phpversion[] = "5.2"
phpversion[] = "5.3"
出力
Array (
[first_section] => Array (
[one] => 1
[five] => 5
[animal] => Dodo bird
)
[second_section] => Array (
[path] => /usr/local/bin
[URL] => http://www.example.com/~username
[second_section] => Array (
[one] => 1 associated
[two] => 2 associated
[0] => 1 unassociated
[1] => 2 unassociated
)
)
[third_section] => Array (
[phpversion] => Array (
[0] => 5.0
[1] => 5.1
[2] => 5.2
[3] => 5.3
)
)
)
ini で値をグループ化する別の方法を次に示します。
my.ini:
[singles] test = a test test2 = another test test3 = this is a test too [multiples] tests[] = a test tests[] = another test tests[] = this is a test too
my.php:
と同じ:
<?php $init['test'] = 'a test'; $init['test2'] = 'another test'; $init['test3'] = 'this is a test too'; $init['tests'][0] = 'a test'; $init['tests'][1] = 'another test'; $init['tests'][2] = 'this is a test too'; ?>
これは bool を true に設定しても機能し、ループで役立ちます。bool を true に設定しても機能します。
http://php.net/manual/en/function.parse-ini-file.php
投稿者 david dot Dyess at gmail dot com 4 年前