たくさんの学生がいると想像してみてください。
学生:ベンサム..。
すべての学生は家に本のグループを持っています:
書籍:
- サムABCD
- ベンDEF
- ライアンADGD
したがって、PHPでは、$studentsのデータ構造は次のようになります。
Array
(
[0] => Array
(
[name] => Joe Smith
[books] => Array
(
[0] => A
[1] => B
[2] => C
)
)
)
Aが繰り返された回数と、ABやCなどを所有している人を数えたいと思います。phpでそれを行う1つの方法は、これを行うことです。
if (sizeof($potential_entries) > 0) :
for ($j = 0, $potentialsize = sizeof($potential_entries); $j < $potentialsize; ++$j) {
for ($k = 0, $listsize = sizeof($student_book); $k < $listsize; ++$k) {
if ($student_book[$k] == $potential_entry[$k]) :
$match = 1;
$student_book[$k]['like_count']++;
endif;
}
}
これはあまり効率的ではなく、マップ構造またはハッシュテーブルが必要です。phpにはperlのような構造がありますか?または、手動でビルドする必要がありますか。編集:PHPで連想配列があることがわかりますか?ドキュメントで見つからなかった例を教えてください。サムの場合:
var_dump($potential_entry):
[0]=>array(2) { ["name"]=> string(1) "A" ["id"]=> string(11) "1348"}
[1]=>array(2) { ["name"]=> string(1) "B" ["id"]=> string(11) "1483"}
[2]=>array(2) { ["name"]=> string(1) "C" ["id"]=> string(11) "13"}
[3]=>array(2) { ["name"]=> string(1) "D" ["id"]=> string(11) "1174"}
それはサムのためです、残りのために私達は同じ構造を持っています。つまり、samは配列であり、booksは配列であり、samは本の配列を持っています。この例では
- Dカウント=3sam ben ryan
- カウント=2サムライアン
- 等...