2

正規表現を使用せずに、配列を json 形式で保存する方法はありますか? 私がjsonに興味があるのは、mongodbを使用しているため、出力がjson形式で出力されるためです。docroot基本的にディレクトリパスであるというフィールドがあります。

docroot : "secure.unstable.qa.example.com"

他の要因によって変化する可能性があるのは、次の 2 つだけunstableですqa.。私が望んでいるのは、適切な変数に簡単に置き換えることができるように「マーカー」を配置する方法です。

例えば:

docroot : "secure.{STREAMS}.{ENV}.example.com"
docroot : "unsecure.{STREAMS}.{ENV}.example.com"
4

1 に答える 1

0

変数が特定の順序であることが保証されている場合(あなたの例によれば、そうです)、車輪を再発明しないことをお勧めします:

// Assuming $json contains your JSON

$streams = 'foo';
$env = 'bar';
$data = json_decode($json, TRUE);

var_dump($data['docroot']); // "secure.%s.%s.example.com"
var_dump(sprintf($data['docroot'], $streams, $env)); // "secure.foo.bar.example.com"

変数が保証されていない場合、またはよりわかりやすいプレースホルダーを使用したい場合は、一意の区切り文字 (実際にはデータに表示されない文字または文字セット) を選択して、str_replace().

于 2012-12-09T02:11:32.410 に答える