ホームページ >バックエンド開発 >PHPチュートリアル >in_array と array_keys ではどちらが速いですか?
質問のように、100万レベルの数値配列に対応する値があるかどうかを判断してください。
in_array はシーケンシャル検索です
array_keys はハッシュテーブルルックアップです
もちろん後者の方が高速ですが、後者は重複した値を持つことができません
in_array はシーケンシャルルックアップです
array_keysはハッシュテーブルの検索です
もちろん後者の方が高速ですが、後者は重複した値を持つことができません
テストを行ったところ、同じ値を持つことができます。
in_array はシーケンシャル検索です
array_keys はハッシュテーブル検索です
もちろん後者の方が高速ですが、後者は重複した値を持つことができません
後者は重複した値を持つことができ、配列を返します、私はそれをテストしました同じ値を持つことができます。
試してみて、可能であれば公式 Web サイトにバグを報告してください
in_array は順次検索です
array_keys はハッシュ テーブル検索です
もちろん後者の方が高速ですが、後者は重複した値を持つことができません
後者は可能です重複した値がありますよね? 配列を返しますが、同じ値を持つことができることをテストしました。
キーの重複値はどこから来たのでしょうか? ? ?
in_array はシーケンシャル検索です
array_keys はハッシュ テーブル ルックアップです
もちろん後者の方が高速ですが、後者は重複した値を持つことができません
後者は重複した値を持つことができ、配列を返します、テストを実行しましたそしてそれは同じ値で機能します。
できれば試して、公式 Web サイトにバグを報告してください
ハハハ、あなたは本当に頭がおかしいです...
in_array は順次検索です
array_keys はハッシュ テーブル検索です
もちろん、後者の方が高速です、後者は重複する値を持つ可能性があります。後者は同じ値を持つことができることをテストしました。
可能であれば、公式 Web サイトにバグを報告してください。これは昨日テストしたばかりです。この配列がキーと値の配列でない場合、関数は数値配列のインデックスを返します。値を複製することが不可能である場合、値が 1 つしかない場合、なぜ配列を返すのでしょうか?
2 番目のパラメータはオプションで、空のままにすると、すべてのキー名で構成される配列が返されます。必要に応じて指定すると、対応するキー名のみが返されます。
先生、この方法はあなたのニーズに適していますか?
先生、この方法はあなたのニーズに適していますか?
それも適切ではないと思いますが、今のところこれ以上適切な方法は考えていません。
どのような業務を行うのでしょうか?データベースで欲しいものを手に入れる
1階のマスターの言うことは正しい
in_arrayは逐次検索 array_keysはハッシュテーブル検索
もちろん後者の方が速いですが、後者は重複した値を持つことができません
Xiaocai は、配列内に重複するキー値がある場合、キーと値のメソッドが使用されることを追加したいと考えています。array_keys を使用する場合は、最後のキーに対応する値が取得されますが、array_keys を使用して取得する場合は、キーの場合、初めて出現するキーが返されます。
さらに、このような大量のデータは、memcache などの NoSQL に置くことができます。それは十分に高速であり、それが存在するかどうかは、取得することでわかります
1 階のマスターは正しいです。
array_keys はハッシュテーブル検索です
もちろん後者の方が高速ですが、後者は重複した値を持つことができません
に重複したキー値がある場合は、配列を取得し、キー値モードで取得すると、最後のキーに対応する値が取得されますが、array_keys を使用してキーを取得すると、初めて表示されるキーが返されます。
さらに、このような大量のデータは、memcache などの nosql に配置できます。これは十分に高速であり、それが存在するかどうかは、それを取得することでわかります
これは、純粋に技術的なフローのソリューションである可能性があります。現実的な解決策ではないので、あまり心配しないでください