ホームページ >バックエンド開発 >PHPチュートリアル >構成ファイルに配列を書き込むときに、アンパサンドが & になるのはなぜですか?
ディスカッション(解決策)への返信
$a = array('a' => '&abc');$s = var_export($a, 1);echo $s;
array ( 'a' => '&abc',)おそらく、書き込む前の配列内の & がエンティティです。 print_r($configdata); ソースコードを見ればわかります。
あなたは以前にも逃げたことがあります。
htmlspecialchars_decode を使用して変換し直すことができます。
http://php.net/manual/en/function.htmlspecialchars-decode.php
書き込む前に print_r を使用して出力した結果は次のとおりです:
書き込みファイルをインポートした後の結果は次のとおりです:
これはソース コードです:
記述する前に HTML 変換はありません
これはソース コードです
印刷した後、ブラウザでソースコードを確認し、変換があるかどうかを確認します。
この問題は、パラメーターを受け取るときに文字をエスケープすることで解決されます。
ここで別の問題が発生します。 この文の後に、configdata 配列にバックスラッシュ文字があります。
$ config_arr = var_export($) configdata,true);
設定ファイルに書き込むとバックスラッシュが \ になります 解決方法
#4 の図 1 が HTML モードで表示されます 結果
または印刷前に
この文の後に configdata 配列にバックスラッシュ文字があります
$config_arr = var_export($configdata,true) ;
設定ファイルに書き込むと、バックスラッシュが \ になります。これを解決するには、このメソッドを使用します。