文字列パスを使用したネストされた配列データの設定
この使用例では、文字列入力はネストされた配列値を設定することを目的としています。例:
"cars.honda.civic = On"
この文字列は次のようになります:
$data'cars'['civic'] = 'On' ;
入力のトークン化は簡単です:
$token = explode("=",$input);
$value = トリム($token[1]);
$path = トリム($token[0]);
$exploded_path =explode("。 ",$path);
課題は、次のような危険な手法に頼らずに配列を設定することにあります。 eval.
解決策
解決策には、参照演算子 (&) を利用して連続する既存の配列を取得することが含まれます。
$temp = & $data;
foreach($key として $exploded) {
$temp = & $temp[$key];
}
$temp = $value;
unset($temp);
このメソッドを使用すると、各レベルをハードコーディングせずにネストされた配列内を移動できます。 .
以上がPHP で文字列パスを使用して入れ子になった配列値を安全に設定する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。