私はいくつかのデフォルト設定と、設定可能ないくつかの特定の設定を持っています。私は特定の構成をデフォルトの構成にマージする必要があります。具体的な設定オプションが存在しない場合には スカラーの場合はarray_replace_recursive、配列の場合はarray_merge_recursive
- は、 デフォルトのオプションが使用されます。
value
がスカラーである場合には - 、具体的な構成は、
value
スカラー配列の場合に - を適用すべきで、アレイは、マージされるべきであり、適用さarray_unique。
value
が連想配列の場合、上記のscalar
とscalar_array
の規則を適用する必要があります。
例:
$defaultConfigs = [
'scalar1' => 1,
'scalar2' => "Apple",
'array_scalar' => [3,4,5],
'array_associative' => [
'scalar' => 1,
'array_scalar' => [1,2,3],
'array_associative' => [
...
]
],
];
$specificConfigs = [
'scalar1' => "A",
'array_scalar' => [3,4,5],
'array_associative' => [
'scalar' => 1,
'array_scalar' => [1,2,3],
'array_associative' => [
...
]
],
];
予想される出力:
$expectedConfigs = [
'scalar1' => "A", // Overridden
'scalar2' => "Apple", // Default used
'array_scalar' => [1,2,3,4,5], // Scalar merged and array_unique
'array_associative' => [
'scalar' => "B", // Overridden
'array_scalar' => [1,2,3,4,5], // Scalar merged and array_unique
'array_associative' => [
...
]
],
];
これを達成するための素敵なきれいな方法はありますか?
これは興味深いことですが、私が理解すれば、あなたはSublimeText設定ファイルのようなものを試しています。 – Asur
私はあなたがそれを正確に理解したと思う。 – Gravy
PHPの再帰関数よりも多くの機能が必要な場合があるので、私はカスタム再帰関数を使うだろう。しかし、とにかく私は個人的にそれが完全に大丈夫だとわかります。 – Asur