私は、購入したもの、追加したもの、別のものなど、ユーザーの行動を記録するシステムを作っています。例えば、ユーザは、いくつかの製品を購入するとき、次のメッセージがあなたのプロフィールに表示されます:PHPコンプレックスSprintf
Fooのは、私は全体を救うことができる製品A、B、C、DとF.
を買いましたデータベース内の文字列ではありませんが、サイトには複数の言語があり、各言語ごとにレコードを保持することができなくなります。私の考えは、取られたアクションのテンプレートで文字列を持って、それをsprintf
関数に渡すことです、しかし、製品の量は、引数の数も同様に変化する可能性があります。この状況で、私はどのように進めるべきですか?
編集#1:質問は、できるだけ多くの引数を受け取ることができるのsprintfで使用する文字列を作成する方法である、Databases: Making a Log of actions, how to handle various references?:私の質問は、私が使用しているスキーマがこれです、データベーススキーマに関するものではありません必要です。 次のようなもの:"%s bought the products [magic here]"
はい、私はこのスキーマを使用しています:http://stackoverflow.com/questions/1989100/databases-making-a-log-of-actions-how-to-handle-various-references/2032042#2032042、しかし、問題は、必要なだけ多くの引数を受け取ることができるsprintfで使用する文字列を作成する方法です。 – JCM
sprintf()はそのようには機能しません。文字列を外部的に構築し、それを単一の '%s'としてsprintfに渡します。 –
@Marc B私はこれを行う別の方法があると思ったが、明らかにあなたが言っている方法は唯一の方法である。 :( – JCM