どう表現すればいいのかわかりません。要するに、要件は C# の linq に似ています。
次の配列があるとします。
リーリー
$test['a'] を通じて 'a1' をクエリできるようになりましたが、'a1' を通じて 2 つの要素 'a' と 'b' をクエリしたいのですが、これを php で実装するにはどうすればよいですか?
補足: foreach を使用して実装するという人もいますが、私の配列は後の段階で非常に大きくなり、場合によっては数千、数万にも達する可能性があります。foreach を使用するのは明らかに効率的ではありません。既存のソリューションは、各配列要素のキー値が異なる状況、つまり 1 対 1 のマッピング状況のみを解決できます。最初の状況は array_search で、2 番目の状況は最初に array_flip で、次に従来の $ です。テスト['a1']検索。
返信内容:
次の配列があるとします。
リーリー
$test['a'] を通じて 'a1' をクエリできるようになりましたが、'a1' を通じて 2 つの要素 'a' と 'b' をクエリしたいのですが、これを php で実装するにはどうすればよいですか? 補足: foreach を使用して実装するという人もいますが、私の配列は後の段階で非常に大きくなり、場合によっては数千、数万にも達する可能性があります。foreach を使用するのは明らかに効率的ではありません。
既存のソリューションは、各配列要素のキー値が異なる状況、つまり 1 対 1 のマッピング状況のみを解決できます。最初の状況は array_search で、2 番目の状況は最初に array_flip で、次に従来の $ です。テスト['a1']検索。
マニュアルの
array_search があなたのニーズを解決します。リーリー
グループの専門家に問題の解決を依頼してください。array_keys で問題ありません。
リーリー
コードを入力するだけです! ~
良い方法はないので、2つの配列でやってみましょう
ご招待ありがとうございます。配列構造のため、配列の値が一意であることを確認する必要があります
リーリー
重複した値を削除した後、配列を反転します。key
肯定是唯一的, 但可能不同的key
对应相同的值, 所以我所知道的, 要想实现c#
的linq
リーリー
次のように、
リーリー
これで、key
当做值, 原数组的value
作为key
のようなlinq関数を実装できます。
リーリー
欠点があればご指摘ください、、、c#
リーリー