問題:
- 配列を短い文字列にシリアル化する必要があります。短いほど良いです。
- 重要性は、小さいアレイよりも大きいアレイに反映されます。
- 文字列は get リクエストで使用されるため、URL をデコードする必要があります。
現在のコード スニペット
/*
array (size=3)
0 => string '/js/dhdbm78hdfb.js' (length=18)
1 => string '/js/dfg4dg.js' (length=13)
2 => string '/js/fg8hfhrt.js' (length=15)
2 => string '/js/yjtdygj.js' (length=14)
2 => string '/js/2q5g54rvfd.js' (length=17)
*/
$json = json_encode($data);
$gz = gzdeflate($json, 9);
$base64 = base64_encode($gz);
$paths = urlencode($base64);
// outputs: i1aK0c8qjtFPyUhJyjW3yEhJS9LLKlbSgQmnpZukpCOLpKVbZKRlFJUgi1VmlaRUpmchCxkVmqabmhSVpaWARGMB
あまり印象的ではなく、かなり遅いですが、これを行うためのより良い方法があるはずです...
質問
この問題に対する最善のアプローチは何でしょうか? 可能な限り最小の文字列をどのように提示できますか?
PS
遅い場合は最大の問題ではありませんが、考慮すべき変数です。可能な場合、配列はハッシュされ、キャッシュから取得されます。