キーが文字列のペアである連想配列をPHPで作成したいと思います。
最初は、文字列を途中で何らかの独自の仕切りで連結し、後でそれらを分離することを検討していましたが、これはペアを使用するためのハッキーな回避策のようです。
次のコードを検討してください。
$andrew = array('Andrew', 'Rasmussen');
$john = array('John', 'Smith');
$container[$andrew] = 15;
$container[$john] = 12;
$pair = array('Andrew', 'Rasmussen');
if (array_key_exists($pair, $container)) {
echo 'true';
} else {
echo 'false';
}
PHP では配列を配列のキーとして使用できないため、明らかにこのコードは機能しません。文字列を連結して後で解析せずに、このようなことを行う良い方法はありますか?
編集
これをやりたいのには理由があります。私は を持っておりarray(key=string1,value=array(key=string2,value=occurrences))
、文字列のペアの上位 5 (出現数) を見つけようとしています。だから私は基本的にこれを 1 次元配列にフラット化し、それを並べ替えて上位 5 つを簡単に取得できるようにしようとしています。上記で説明した除算アルゴリズムで実行できますが、これは好ましくないため、代替手段を求めています。