ホームページ  >  記事  >  バックエンド開発  >  PHPで2次元配列内の一致する文字列要素をより効率的に見つける方法を教えてください

PHPで2次元配列内の一致する文字列要素をより効率的に見つける方法を教えてください

WBOY
WBOYオリジナル
2016-06-13 12:12:511003ブラウズ

PHP で 2 次元配列内の一致する文字列要素をより効率的に見つける方法を教えてください
皆さん、こんにちは。
これが正しいタイトルかどうかわかりません。
アルゴリズムについてはあまり知りません。2 次元配列で一致する文字列要素を見つけたいと考えています。
配列の構造は次のとおりです。

<br />array(<br />	2 => array(<br />		'catid' => 2,<br />		'catdir' => 'notice',<br />	)<br />	5 => array(<br />		'catid' => 5,<br />		'catdir' => 'subject',<br />	),<br />	6=> array(<br />		'catid' => 6,<br />		'catdir' => 'news'<br />	),<br />);<br />


は 2 次元配列であり、最初の次元の添え字は 2 番目の次元の catid 値であり、連続的ではありません。 。これで catdir 値ができたので、この配列内で対応する catid を見つける必要があります。
最初は二分探索を使おうとしましたが、まったく機能しないことがわかりました。
すみません、配列を走査するより効率的な方法はありますか?

ありがとうございます!


-----ソリューションのアイデア----------------------
構築- in Function どうしてもコードでつなぎ合わせるより効率的
式が間違っていても、クエリキーでデータを整理するのが最も効率的
ハッシュテーブルの計算量が多いためは O(0) で、1 回のトラバースの時間計算量は O(n)

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。