22:04こんにちは。いうような処理において、三次配列を使う必要に迫られました。一次配列の時はタブ区切りで作業していたんですが、三次にするために新たに2パターン(階層)の区切り方法を考えなければいけない、ということで、新たに区切り文字として「半角カンマ」と「パイプライン(|)」を追加使用しようと思ったんですが、そうすると配列キーや要素の文字列にそれら文字が含まれる場合の対処をしないといけなくなりますよね。そこで、一般的に入力されない文字(?)として、「エスケープ(\x1b)」と「アラーム(\x07)」を使うことにしました。三次配列ってのは実現出来たんですが、そこで気になることが。●エスケープとかアラームって、キーボードから入力される(あるいはhtmlフォームから送られてくる)ことは心配しなくていいのでしょうか?●エスケープとかアラームって、phpスクリプトの中で特別な動作をしたりする可能性はあるのでしょうか?(例えば、改行文字はファイルからの読み出しの際に「一行の区切り」としての特別な意味を持ちますよね)●上に書いた「エスケープとアラームを使う」以外に、もっとスマートな方法ってあるんでしょうか?何かお気付きの点があればアドバイスいただければ幸いです。入力される(送られてくる)可能性はあります。何を区切り文字にするとしても、ファイル保存前にデコード処理(エスケープ処理)する必要があります。区切り文字は何でもいいと思います。●エスケープとかアラームって、phpスクリプトの中で特別な動作をしたりする可能性はあるのでしょうか?(例えば、改行文字はファイルからの読み出しの際に「一行の区切り」としての特別な意味を持ちますよね)PHPでは、改行コード以外には思い当たりません。私が知らないだけかも。多次元配列をまるまるファイルに保存・読み出しという手もあります。22:08レス有難うございます。コピペで入力できたりしますので、そうですね。試してみたら、確かにコピペで入力出来てしまいますね。この対策としては、フォームからのデータを成形する、ってので解決しようと思います。......と思ったら、serializeの件が。多次元配列をまるまるファイルに保存・読み出しという手もあります。こんな便利な機能があったんですね!いろいろ自分で調べてはいたんですが、これには全然辿り着けませんでした...。三次連想配列をテキストにして、それを元に三次配列を生成して...っていうのを結構苦労して作ったのに??。この機能を使えばイッパツじゃないですか...。serializeで生成したテキストって良く見ると、サーバに保存されるセッションファイルのテキストに使われている形式なんですね。セッションファイルのテキストってサーバ側で独自の処理をして変換してるのかと思ってたんですが、普通にスクリプトで使えるとは。--------------------一応自分で出来る範囲のことをやってみてから訊ねるべきだなと思ってたんですが、この件に関しては先に訊いていれば良かったかもしれないなぁ...。苦労した分は勉強になったから良しとしなくては。訊いてみて良かったです。有り難うございました。